@gravity-ui/navigation 6.6.0 → 7.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/build/cjs/components/AsideHeader/AsideHeader.css +9 -1
  2. package/build/cjs/components/AsideHeader/AsideHeader.js +2 -2
  3. package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -1
  4. package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js +1 -1
  5. package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +5 -0
  6. package/build/cjs/components/AsideHeader/AsideHeaderContext.js +2 -0
  7. package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -1
  8. package/build/cjs/components/AsideHeader/__playwright__/AsideTransitionExample.d.ts +8 -0
  9. package/build/cjs/components/AsideHeader/__playwright__/CollapseButtonExample.d.ts +14 -0
  10. package/build/cjs/components/AsideHeader/__playwright__/CompactTransitionExample.d.ts +12 -0
  11. package/build/cjs/components/AsideHeader/__playwright__/CurrentIndicatorExample.d.ts +20 -0
  12. package/build/cjs/components/AsideHeader/__playwright__/QuickAccessOverflowExample.d.ts +8 -0
  13. package/build/cjs/components/AsideHeader/__playwright__/currentIndicatorPaint.d.ts +21 -0
  14. package/build/cjs/components/AsideHeader/__playwright__/transitionTestUtils.d.ts +4 -0
  15. package/build/cjs/components/AsideHeader/__stories__/fullNavigationMoc.d.ts +6 -0
  16. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +2 -4
  17. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -1
  18. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -3
  19. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
  20. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
  21. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +2 -4
  22. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
  23. package/build/cjs/components/AsideHeader/components/AsideDivider.d.ts +7 -0
  24. package/build/cjs/components/AsideHeader/components/AsideDivider.js +13 -0
  25. package/build/cjs/components/AsideHeader/components/AsideDivider.js.map +1 -0
  26. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
  27. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +3 -1
  28. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +12 -8
  29. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
  30. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
  31. package/build/cjs/components/AsideHeader/components/CollapseButton/useCollapseAnchor.d.ts +20 -0
  32. package/build/cjs/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js +170 -0
  33. package/build/cjs/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js.map +1 -0
  34. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.css +3 -1
  35. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +13 -2
  36. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +53 -39
  37. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
  38. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
  39. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
  40. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +4 -2
  41. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -1
  42. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.css +33 -1
  43. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +158 -43
  44. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
  45. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
  46. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +22 -4
  47. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +19 -0
  48. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +137 -20
  49. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -1
  50. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.d.ts +7 -0
  51. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js +25 -0
  52. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js.map +1 -0
  53. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +1 -1
  54. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +5 -1
  55. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -1
  56. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -1
  57. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +4 -6
  58. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +14 -5
  59. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -1
  60. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +1 -1
  61. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.d.ts +8 -8
  62. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js +68 -33
  63. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js.map +1 -1
  64. package/build/cjs/components/AsideHeader/components/CompositeBar/constants.d.ts +1 -0
  65. package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js +2 -0
  66. package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js.map +1 -1
  67. package/build/cjs/components/AsideHeader/components/CompositeBar/presentationCurrent.d.ts +24 -0
  68. package/build/cjs/components/AsideHeader/components/CompositeBar/presentationCurrent.js +39 -0
  69. package/build/cjs/components/AsideHeader/components/CompositeBar/presentationCurrent.js.map +1 -0
  70. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +12 -7
  71. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +42 -35
  72. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
  73. package/build/cjs/components/AsideHeader/components/FirstPanel.js +129 -10
  74. package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -1
  75. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
  76. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +18 -2
  77. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
  78. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
  79. package/build/cjs/components/AsideHeader/components/Header.js +7 -3
  80. package/build/cjs/components/AsideHeader/components/Header.js.map +1 -1
  81. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.css +9 -1
  82. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.d.ts +1 -0
  83. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +13 -6
  84. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
  85. package/build/cjs/components/AsideHeader/components/PageLayout/AsideLayoutTransition.d.ts +80 -0
  86. package/build/cjs/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js +600 -0
  87. package/build/cjs/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js.map +1 -0
  88. package/build/cjs/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.d.ts +14 -0
  89. package/build/cjs/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js +164 -0
  90. package/build/cjs/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js.map +1 -0
  91. package/build/cjs/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.d.ts +14 -0
  92. package/build/cjs/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js +94 -0
  93. package/build/cjs/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js.map +1 -0
  94. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.css +9 -1
  95. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -1
  96. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +14 -5
  97. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
  98. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.css +9 -1
  99. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
  100. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +5 -2
  101. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
  102. package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorDom.d.ts +7 -0
  103. package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorDom.js +25 -0
  104. package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorDom.js.map +1 -0
  105. package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorModel.d.ts +25 -0
  106. package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorModel.js +89 -0
  107. package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorModel.js.map +1 -0
  108. package/build/cjs/components/AsideHeader/components/Panels.js +2 -2
  109. package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
  110. package/build/cjs/components/AsideHeader/density.d.ts +21 -0
  111. package/build/cjs/components/AsideHeader/density.js +61 -0
  112. package/build/cjs/components/AsideHeader/density.js.map +1 -0
  113. package/build/cjs/components/AsideHeader/i18n/__mocks__/index.d.ts +1 -0
  114. package/build/cjs/components/AsideHeader/i18n/en.json.js +10 -1
  115. package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -1
  116. package/build/cjs/components/AsideHeader/i18n/index.d.ts +4 -4
  117. package/build/cjs/components/AsideHeader/i18n/ru.json.js +10 -1
  118. package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -1
  119. package/build/cjs/components/AsideHeader/index.d.ts +1 -0
  120. package/build/cjs/components/AsideHeader/quickAccess.d.ts +9 -0
  121. package/build/cjs/components/AsideHeader/quickAccess.js +31 -0
  122. package/build/cjs/components/AsideHeader/quickAccess.js.map +1 -0
  123. package/build/cjs/components/AsideHeader/types.d.ts +50 -5
  124. package/build/cjs/components/AsideHeader/types.js.map +1 -1
  125. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +18 -3
  126. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  127. package/build/cjs/components/AsideHeader/utils.d.ts +1 -0
  128. package/build/cjs/components/AsideHeader/utils.js +2 -0
  129. package/build/cjs/components/AsideHeader/utils.js.map +1 -1
  130. package/build/cjs/components/Footer/desktop/Footer.css +1 -1
  131. package/build/cjs/components/Footer/mobile/Footer.css +1 -1
  132. package/build/cjs/components/HotkeysPanel/HotkeysPanel.css +1 -1
  133. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +1 -1
  134. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  135. package/build/cjs/components/HotkeysPanel/HotkeysPanel.module.scss.js +1 -1
  136. package/build/cjs/components/Logo/Logo.css +1 -1
  137. package/build/cjs/components/Logo/Logo.d.ts +1 -0
  138. package/build/cjs/components/Logo/Logo.js +4 -4
  139. package/build/cjs/components/Logo/Logo.js.map +1 -1
  140. package/build/cjs/components/constants.d.ts +5 -0
  141. package/build/cjs/components/constants.js +6 -0
  142. package/build/cjs/components/constants.js.map +1 -1
  143. package/build/cjs/components/types.d.ts +4 -4
  144. package/build/docs/components/AsideHeader.md +234 -42
  145. package/build/esm/components/AsideHeader/AsideHeader.css +9 -1
  146. package/build/esm/components/AsideHeader/AsideHeader.js +2 -2
  147. package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -1
  148. package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +1 -1
  149. package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +5 -0
  150. package/build/esm/components/AsideHeader/AsideHeaderContext.js +2 -0
  151. package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -1
  152. package/build/esm/components/AsideHeader/__playwright__/AsideTransitionExample.d.ts +8 -0
  153. package/build/esm/components/AsideHeader/__playwright__/CollapseButtonExample.d.ts +14 -0
  154. package/build/esm/components/AsideHeader/__playwright__/CompactTransitionExample.d.ts +12 -0
  155. package/build/esm/components/AsideHeader/__playwright__/CurrentIndicatorExample.d.ts +20 -0
  156. package/build/esm/components/AsideHeader/__playwright__/QuickAccessOverflowExample.d.ts +8 -0
  157. package/build/esm/components/AsideHeader/__playwright__/currentIndicatorPaint.d.ts +21 -0
  158. package/build/esm/components/AsideHeader/__playwright__/transitionTestUtils.d.ts +4 -0
  159. package/build/esm/components/AsideHeader/__stories__/fullNavigationMoc.d.ts +6 -0
  160. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +3 -5
  161. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -1
  162. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -3
  163. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
  164. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
  165. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +2 -4
  166. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
  167. package/build/esm/components/AsideHeader/components/AsideDivider.d.ts +7 -0
  168. package/build/esm/components/AsideHeader/components/AsideDivider.js +11 -0
  169. package/build/esm/components/AsideHeader/components/AsideDivider.js.map +1 -0
  170. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
  171. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +3 -1
  172. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +12 -8
  173. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
  174. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
  175. package/build/esm/components/AsideHeader/components/CollapseButton/useCollapseAnchor.d.ts +20 -0
  176. package/build/esm/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js +167 -0
  177. package/build/esm/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js.map +1 -0
  178. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +3 -1
  179. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +13 -2
  180. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +54 -40
  181. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
  182. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
  183. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
  184. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +4 -2
  185. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -1
  186. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +33 -1
  187. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +161 -46
  188. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
  189. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
  190. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +22 -4
  191. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +19 -0
  192. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +139 -23
  193. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -1
  194. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.d.ts +7 -0
  195. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js +23 -0
  196. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js.map +1 -0
  197. package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +1 -1
  198. package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +5 -1
  199. package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -1
  200. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -1
  201. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +4 -6
  202. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +15 -6
  203. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -1
  204. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +1 -1
  205. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.d.ts +8 -8
  206. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js +68 -33
  207. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js.map +1 -1
  208. package/build/esm/components/AsideHeader/components/CompositeBar/constants.d.ts +1 -0
  209. package/build/esm/components/AsideHeader/components/CompositeBar/constants.js +2 -1
  210. package/build/esm/components/AsideHeader/components/CompositeBar/constants.js.map +1 -1
  211. package/build/esm/components/AsideHeader/components/CompositeBar/presentationCurrent.d.ts +24 -0
  212. package/build/esm/components/AsideHeader/components/CompositeBar/presentationCurrent.js +36 -0
  213. package/build/esm/components/AsideHeader/components/CompositeBar/presentationCurrent.js.map +1 -0
  214. package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +12 -7
  215. package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +44 -35
  216. package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
  217. package/build/esm/components/AsideHeader/components/FirstPanel.js +131 -12
  218. package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -1
  219. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
  220. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +18 -2
  221. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
  222. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
  223. package/build/esm/components/AsideHeader/components/Header.js +8 -4
  224. package/build/esm/components/AsideHeader/components/Header.js.map +1 -1
  225. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.css +9 -1
  226. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.d.ts +1 -0
  227. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +14 -7
  228. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
  229. package/build/esm/components/AsideHeader/components/PageLayout/AsideLayoutTransition.d.ts +80 -0
  230. package/build/esm/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js +598 -0
  231. package/build/esm/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js.map +1 -0
  232. package/build/esm/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.d.ts +14 -0
  233. package/build/esm/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js +162 -0
  234. package/build/esm/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js.map +1 -0
  235. package/build/esm/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.d.ts +14 -0
  236. package/build/esm/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js +92 -0
  237. package/build/esm/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js.map +1 -0
  238. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.css +9 -1
  239. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -1
  240. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +15 -6
  241. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
  242. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.css +9 -1
  243. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
  244. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +5 -2
  245. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
  246. package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorDom.d.ts +7 -0
  247. package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorDom.js +17 -0
  248. package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorDom.js.map +1 -0
  249. package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorModel.d.ts +25 -0
  250. package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorModel.js +84 -0
  251. package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorModel.js.map +1 -0
  252. package/build/esm/components/AsideHeader/components/Panels.js +3 -3
  253. package/build/esm/components/AsideHeader/components/Panels.js.map +1 -1
  254. package/build/esm/components/AsideHeader/density.d.ts +21 -0
  255. package/build/esm/components/AsideHeader/density.js +58 -0
  256. package/build/esm/components/AsideHeader/density.js.map +1 -0
  257. package/build/esm/components/AsideHeader/i18n/__mocks__/index.d.ts +1 -0
  258. package/build/esm/components/AsideHeader/i18n/en.json.js +8 -2
  259. package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -1
  260. package/build/esm/components/AsideHeader/i18n/index.d.ts +4 -4
  261. package/build/esm/components/AsideHeader/i18n/ru.json.js +8 -2
  262. package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -1
  263. package/build/esm/components/AsideHeader/index.d.ts +1 -0
  264. package/build/esm/components/AsideHeader/quickAccess.d.ts +9 -0
  265. package/build/esm/components/AsideHeader/quickAccess.js +27 -0
  266. package/build/esm/components/AsideHeader/quickAccess.js.map +1 -0
  267. package/build/esm/components/AsideHeader/types.d.ts +50 -5
  268. package/build/esm/components/AsideHeader/types.js.map +1 -1
  269. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +18 -3
  270. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  271. package/build/esm/components/AsideHeader/utils.d.ts +1 -0
  272. package/build/esm/components/AsideHeader/utils.js +2 -1
  273. package/build/esm/components/AsideHeader/utils.js.map +1 -1
  274. package/build/esm/components/Footer/desktop/Footer.css +1 -1
  275. package/build/esm/components/Footer/mobile/Footer.css +1 -1
  276. package/build/esm/components/HotkeysPanel/HotkeysPanel.css +1 -1
  277. package/build/esm/components/HotkeysPanel/HotkeysPanel.js +1 -1
  278. package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  279. package/build/esm/components/HotkeysPanel/HotkeysPanel.module.scss.js +1 -1
  280. package/build/esm/components/Logo/Logo.css +1 -1
  281. package/build/esm/components/Logo/Logo.d.ts +1 -0
  282. package/build/esm/components/Logo/Logo.js +4 -4
  283. package/build/esm/components/Logo/Logo.js.map +1 -1
  284. package/build/esm/components/constants.d.ts +5 -0
  285. package/build/esm/components/constants.js +6 -1
  286. package/build/esm/components/constants.js.map +1 -1
  287. package/build/esm/components/types.d.ts +4 -4
  288. package/package.json +1 -1
  289. package/build/cjs/assets/icons/control-menu-button.svg.js +0 -41
  290. package/build/cjs/assets/icons/control-menu-button.svg.js.map +0 -1
  291. package/build/esm/assets/icons/control-menu-button.svg.js +0 -18
  292. package/build/esm/assets/icons/control-menu-button.svg.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { AsideHeaderMenuDensity } from '../density';
3
+ export declare function AsideTransitionExample({ initialCompact, menuDensity, withDividers, withGroupedDivider, }: {
4
+ initialCompact?: boolean;
5
+ menuDensity?: AsideHeaderMenuDensity;
6
+ withDividers?: boolean;
7
+ withGroupedDivider?: boolean;
8
+ }): React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { AsideHeaderMenuDensity } from '../density';
3
+ export declare function CollapseButtonExample({ initialCompact, menuDensity, direction, footer, contentsWrapper, topAlert, below, raised, responsiveFooter, movingFooter, }: {
4
+ initialCompact?: boolean;
5
+ menuDensity?: AsideHeaderMenuDensity;
6
+ direction?: 'ltr' | 'rtl';
7
+ footer?: 'regular' | 'action' | 'two-line' | 'empty' | 'custom';
8
+ contentsWrapper?: boolean;
9
+ topAlert?: boolean;
10
+ below?: boolean;
11
+ raised?: boolean;
12
+ responsiveFooter?: boolean;
13
+ movingFooter?: boolean;
14
+ }): React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { AsideHeaderMenuDensity } from '../density';
3
+ export declare function CompactTransitionExample({ initialCompact, initialTransition, menuDensity, layout, grouped, direction, overflowing, }: {
4
+ initialCompact?: boolean;
5
+ initialTransition?: boolean;
6
+ menuDensity?: AsideHeaderMenuDensity;
7
+ layout?: 'aside' | 'page' | 'fallback';
8
+ grouped?: boolean;
9
+ direction?: 'ltr' | 'rtl';
10
+ overflowing?: boolean;
11
+ }): React.JSX.Element;
12
+ export declare function CompactTransitionIsolationExample(): React.JSX.Element;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import type { AsideHeaderMenuDensity } from '../density';
3
+ interface CurrentIndicatorExampleProps {
4
+ initialCompact?: boolean;
5
+ menuDensity?: AsideHeaderMenuDensity;
6
+ initialCurrentId?: string;
7
+ mode?: 'group' | 'short-group' | 'plain' | 'more' | 'ambiguous';
8
+ collapsedAnalytics?: boolean;
9
+ headerDecoration?: boolean;
10
+ enableQuickAccess?: boolean;
11
+ pinCurrent?: boolean;
12
+ quickAccessHighlightInMainMenu?: boolean;
13
+ selectionColor?: string;
14
+ selectionHoverColor?: string;
15
+ hoverColor?: string;
16
+ replaceableTarget?: boolean;
17
+ direction?: 'ltr' | 'rtl';
18
+ }
19
+ export declare function CurrentIndicatorExample(props: CurrentIndicatorExampleProps): React.JSX.Element;
20
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { AsideHeaderMenuOverflow } from '../types';
3
+ export declare function QuickAccessOverflowExample({ menuOverflow, compact, }: {
4
+ menuOverflow?: AsideHeaderMenuOverflow;
5
+ compact?: boolean;
6
+ }): React.JSX.Element;
7
+ export declare function QuickAccessWrappedItemExample(): React.JSX.Element;
8
+ export declare function NestedMorePopupExample(): React.JSX.Element;
@@ -0,0 +1,21 @@
1
+ import type { Page } from '@playwright/test';
2
+ export type PaintBox = {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ };
8
+ export declare function comparePaint(page: Page, before: Buffer, after: Buffer, regions: PaintBox[]): Promise<{
9
+ changedPixels: number;
10
+ inkPixels: number;
11
+ retainedInkPixels: number;
12
+ }[]>;
13
+ export declare function selectionPaint(page: Page, area: PaintBox): Promise<{
14
+ selectionPixels: number;
15
+ bounds: {
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ height: number;
20
+ } | null;
21
+ }>;
@@ -0,0 +1,4 @@
1
+ import type { Page } from '@playwright/test';
2
+ export declare function toggleAsideAndPause(page: Page): Promise<void>;
3
+ export declare function seekAnimations(page: Page, progress: number): Promise<void>;
4
+ export declare function finishAnimations(page: Page): Promise<void>;
@@ -0,0 +1,6 @@
1
+ import type { MenuGroup } from '../../types';
2
+ import type { AsideHeaderItem, AsideHeaderProps } from '../types';
3
+ export declare const fullNavigationMenuGroups: MenuGroup[];
4
+ /** Keep one expanded group visible while making the remaining group headers easy to inspect. */
5
+ export declare const fullNavigationCollapsedGroupIds: AsideHeaderProps['defaultCollapsedMenuGroupIds'];
6
+ export declare const fullNavigationMenuItems: AsideHeaderItem[];
@@ -1,9 +1,8 @@
1
1
  import './AllPagesListItem.css';
2
2
  import React__default, { useRef, useCallback } from 'react';
3
3
  import { Pin, PinFill } from '@gravity-ui/icons';
4
- import { Tooltip, Button, Icon } from '@gravity-ui/uikit';
4
+ import { Button, Icon } from '@gravity-ui/uikit';
5
5
  import { createBlock } from '../../../../utils/cn.js';
6
- import i18n from '../i18n/index.js';
7
6
  import styles from './AllPagesListItem.module.scss.js';
8
7
 
9
8
  const b = createBlock('all-pages-list-item', styles);
@@ -26,9 +25,8 @@ const AllPagesListItem = (props) => {
26
25
  return (React__default.createElement(Tag, Object.assign({}, tagProps, { className: b(), onClick: onItemClick, ref: ref }),
27
26
  params.icon,
28
27
  React__default.createElement("span", { className: b('text') }, params.title),
29
- editMode && !item.preventUserRemoving && (React__default.createElement(Tooltip, { content: i18n(item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin') },
30
- React__default.createElement(Button, { "aria-label": i18n(item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin'), onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
31
- React__default.createElement(Button.Icon, null, item.hidden ? React__default.createElement(Pin, null) : React__default.createElement(PinFill, null)))))));
28
+ editMode && !item.preventUserRemoving && (React__default.createElement(Button, { onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
29
+ React__default.createElement(Button.Icon, null, item.hidden ? React__default.createElement(Pin, null) : React__default.createElement(PinFill, null))))));
32
30
  }, [Tag, tagProps, editMode, item, onPinButtonClick]);
33
31
  const iconNode = item.icon ? (React__default.createElement(Icon, { className: b('icon'), data: item.icon, size: item.iconSize })) : null;
34
32
  const titleNode = item.title;
@@ -1 +1 @@
1
- {"version":3,"file":"AllPagesListItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback, useRef} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon, Tooltip} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\nimport {MakeItemParams} from 'src/components/types';\n\nimport {createBlock} from '../../../../utils/cn';\nimport i18n from '../i18n';\n\nimport styles from './AllPagesListItem.module.scss';\n\nconst b = createBlock('all-pages-list-item', styles);\n\ninterface AllPagesListItemProps {\n item: AsideHeaderItem;\n editMode?: boolean;\n enableSorting?: boolean;\n onToggle: () => void;\n onDragStart?: () => void;\n onDragEnd?: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const [Tag, tagProps] = item.href ? ['a' as const, {href: item.href}] : ['button' as const, {}];\n\n const makeNode = useCallback(\n (params: MakeItemParams) => {\n const onItemClick = (e: MouseEvent<HTMLElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n return (\n <Tag {...tagProps} className={b()} onClick={onItemClick} ref={ref}>\n {params.icon}\n <span className={b('text')}>{params.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Tooltip\n content={i18n(\n item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin',\n )}\n >\n <Button\n aria-label={i18n(\n item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin',\n )}\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n </Tooltip>\n )}\n </Tag>\n );\n },\n [Tag, tagProps, editMode, item, onPinButtonClick],\n );\n\n const iconNode = item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null;\n const titleNode = item.title;\n const params: MakeItemParams = {icon: iconNode, title: titleNode};\n const opts = {collapsed: false, compact: false, item, ref};\n\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeNode, opts) as React.ReactElement;\n }\n\n return makeNode(params);\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"AllPagesListItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback, useRef} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\nimport {MakeItemParams} from 'src/components/types';\n\nimport {createBlock} from '../../../../utils/cn';\n\nimport styles from './AllPagesListItem.module.scss';\n\nconst b = createBlock('all-pages-list-item', styles);\n\ninterface AllPagesListItemProps {\n item: AsideHeaderItem;\n editMode?: boolean;\n enableSorting?: boolean;\n onToggle: () => void;\n onDragStart?: () => void;\n onDragEnd?: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const [Tag, tagProps] = item.href ? ['a' as const, {href: item.href}] : ['button' as const, {}];\n\n const makeNode = useCallback(\n (params: MakeItemParams) => {\n const onItemClick = (e: MouseEvent<HTMLElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n return (\n <Tag {...tagProps} className={b()} onClick={onItemClick} ref={ref}>\n {params.icon}\n <span className={b('text')}>{params.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Button\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n )}\n </Tag>\n );\n },\n [Tag, tagProps, editMode, item, onPinButtonClick],\n );\n\n const iconNode = item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null;\n const titleNode = item.title;\n const params: MakeItemParams = {icon: iconNode, title: titleNode};\n const opts = {collapsed: false, compact: false, item, ref};\n\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeNode, opts) as React.ReactElement;\n }\n\n return makeNode(params);\n};\n"],"names":["React"],"mappings":";;;;;;AAYA,MAAM,CAAC,GAAG,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC;AAWvC,MAAA,gBAAgB,GAAoC,CAAC,KAAK,KAAI;IACvE,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK;AACxC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAwC,IAAI,CAAC;AAE/D,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,CAAoD,KAAI;QACrD,CAAC,CAAC,eAAe,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,QAAQ,EAAE;AACd,KAAC,EACD,CAAC,QAAQ,CAAC,CACb;AAED,IAAA,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAY,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC;AAE/F,IAAA,MAAM,QAAQ,GAAG,WAAW,CACxB,CAAC,MAAsB,KAAI;AACvB,QAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;YAC/C,IAAI,QAAQ,EAAE;gBACV,CAAC,CAAC,eAAe,EAAE;gBACnB,CAAC,CAAC,cAAc,EAAE;;AAE1B,SAAC;AAED,QAAA,QACIA,cAAC,CAAA,aAAA,CAAA,GAAG,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,IAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA;AAC5D,YAAA,MAAM,CAAC,IAAI;YACZA,cAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAG,EAAA,MAAM,CAAC,KAAK,CAAQ;YAChD,QAAQ,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAClCA,cAAC,CAAA,aAAA,CAAA,MAAM,EACH,EAAA,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,aAAa,EAAA;gBAEpDA,cAAC,CAAA,aAAA,CAAA,MAAM,CAAC,IAAI,EAAE,IAAA,EAAA,IAAI,CAAC,MAAM,GAAGA,cAAC,CAAA,aAAA,CAAA,GAAG,OAAG,GAAGA,cAAA,CAAA,aAAA,CAAC,OAAO,EAAA,IAAA,CAAG,CAAe,CAC3D,CACZ,CACC;AAEd,KAAC,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CACpD;AAED,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IACtBA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAI,IACpE,IAAI;AACR,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;IAC5B,MAAM,MAAM,GAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC;AACjE,IAAA,MAAM,IAAI,GAAG,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAC;AAE1D,IAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAuB;;AAGzE,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC;AAC3B;;;;"}
@@ -3,9 +3,7 @@ var en = {
3
3
  "all-panel.menu.category.allOther": "All other",
4
4
  "all-panel.resetToDefault": "Reset to default",
5
5
  "all-panel.title.editing": "Configuring the menu bar",
6
- "all-panel.title.main": "All pages",
7
- "all-panel.item.pin": "Pin",
8
- "all-panel.item.unpin": "Unpin"
6
+ "all-panel.title.main": "All pages"
9
7
  };
10
8
 
11
9
  export { en as default };
@@ -1 +1 @@
1
- {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,14 +1,14 @@
1
- declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string) & {
1
+ declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string) & {
2
2
  Translation: import("react").ComponentType<{
3
3
  children: (props: {
4
- t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string;
4
+ t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string;
5
5
  }) => React.ReactNode;
6
6
  }>;
7
7
  useTranslation: () => {
8
- t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string;
8
+ t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string;
9
9
  };
10
10
  keysetData: {
11
- "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", import("@gravity-ui/i18n").KeyData>;
11
+ "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", import("@gravity-ui/i18n").KeyData>;
12
12
  };
13
13
  };
14
14
  export default _default;
@@ -1,11 +1,9 @@
1
1
  var ru = {
2
2
  "menu-item.all-pages.title": "Все страницы",
3
3
  "all-panel.menu.category.allOther": "Остальное",
4
- "all-panel.resetToDefault": "По умолчанию",
4
+ "all-panel.resetToDefault": "Сбросить по умолчанию",
5
5
  "all-panel.title.editing": "Настройка панели меню",
6
- "all-panel.title.main": "Все страницы",
7
- "all-panel.item.pin": "Закрепить",
8
- "all-panel.item.unpin": "Открепить"
6
+ "all-panel.title.main": "Все страницы"
9
7
  };
10
8
 
11
9
  export { ru as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface AsideDividerProps extends React.HTMLAttributes<HTMLElement> {
3
+ transitionId: string;
4
+ as?: 'div' | 'span';
5
+ }
6
+ export declare function AsideDivider({ transitionId, as: Component, ...props }: AsideDividerProps): React.JSX.Element;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { __rest } from 'tslib';
2
+ import React__default from 'react';
3
+
4
+ // Common registration for every built-in horizontal aside separator.
5
+ function AsideDivider(_a) {
6
+ var { transitionId, as: Component = 'span' } = _a, props = __rest(_a, ["transitionId", "as"]);
7
+ return React__default.createElement(Component, Object.assign({}, props, { "data-gn-aside-divider": transitionId, "aria-hidden": "true" }));
8
+ }
9
+
10
+ export { AsideDivider };
11
+ //# sourceMappingURL=AsideDivider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsideDivider.js","sources":["../../../../../../src/components/AsideHeader/components/AsideDivider.tsx"],"sourcesContent":["import React from 'react';\n\ninterface AsideDividerProps extends React.HTMLAttributes<HTMLElement> {\n transitionId: string;\n as?: 'div' | 'span';\n}\n\n// Common registration for every built-in horizontal aside separator.\nexport function AsideDivider({transitionId, as: Component = 'span', ...props}: AsideDividerProps) {\n return <Component {...props} data-gn-aside-divider={transitionId} aria-hidden=\"true\" />;\n}\n"],"names":["React"],"mappings":";;;AAOA;AACM,SAAU,YAAY,CAAC,EAAmE,EAAA;AAAnE,IAAA,IAAA,EAAC,YAAY,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAA,GAAA,EAA8B,EAAzB,KAAK,GAA/C,MAAA,CAAA,EAAA,EAAA,CAAA,cAAA,EAAA,IAAA,CAAgD,CAAD;IACxE,OAAOA,cAAA,CAAA,aAAA,CAAC,SAAS,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,6BAAyB,YAAY,EAAA,aAAA,EAAc,MAAM,EAAA,CAAA,CAAG;AAC3F;;;;"}
@@ -1 +1 @@
1
- .CollapseButton-module__gn-collapse-button___93DwB{--_--focus-outline-color:var(--g-color-line-focus);--_--focus-outline-offset:0;align-items:center;background:none;border:none;border-top:1px solid var(--gn-aside-header-divider-horizontal-color,var(--_--horizontal-divider-line-color));box-sizing:content-box;color:inherit;cursor:pointer;display:flex;font-family:var(--g-text-body-font-family);font-size:inherit;font-weight:var(--g-text-body-font-weight);justify-content:center;min-height:20px;outline:none;padding:0;position:relative;width:100%}.CollapseButton-module__gn-collapse-button___93DwB:before{content:"";inset:0 2px 2px;position:absolute;z-index:-1}.CollapseButton-module__gn-collapse-button___93DwB:focus-visible:before{outline:var(--_--focus-outline-color) solid 2px;outline-offset:var(--_--focus-outline-offset)}.CollapseButton-module__gn-collapse-button___93DwB:not(.CollapseButton-module__gn-collapse-button_compact___IaLr3) .CollapseButton-module__gn-collapse-button__icon___iMooT{transform:rotate(180deg)}.CollapseButton-module__gn-collapse-button___93DwB:hover .CollapseButton-module__gn-collapse-button__icon___iMooT{color:var(--g-color-text-primary)}.CollapseButton-module__gn-collapse-button__icon___iMooT{color:var(--g-color-text-secondary)}
1
+ .CollapseButton-module__gn-collapse-button___93DwB{align-items:center;background:none;border:none;border-radius:inherit;color:inherit;color:var(--g-color-text-secondary);cursor:pointer;display:flex;font-family:var(--g-text-body-font-family);font-size:inherit;font-weight:var(--g-text-body-font-weight);height:100%;justify-content:center;opacity:1;outline:none;padding:0;pointer-events:auto;transform:translateX(0);transition:opacity .15s ease-in-out,transform .15s ease-in-out;width:100%}[dir=rtl] .CollapseButton-module__gn-collapse-button___93DwB{--_--collapse-appearance-shift:2px;--_--collapse-icon-direction:-1}.CollapseButton-module__gn-collapse-button_compact___IaLr3{background:var(--gn-aside-header-collapsed-background-color,var(--gn-aside-header-background-color,var(--g-color-base-background)));opacity:0;transform:translateX(var(--_--collapse-appearance-shift,-2px))}.CollapseButton-module__gn-collapse-button__icon___iMooT{transform:scaleX(var(--_--collapse-icon-direction,1))}.CollapseButton-module__gn-collapse-button___93DwB:not(.CollapseButton-module__gn-collapse-button_compact___IaLr3) .CollapseButton-module__gn-collapse-button__icon___iMooT{transform:rotate(180deg) scaleX(var(--_--collapse-icon-direction,1))}.CollapseButton-module__gn-collapse-button___93DwB:hover{background-image:linear-gradient(var(--g-color-base-simple-hover),var(--g-color-base-simple-hover));color:var(--g-color-text-primary)}.CollapseButton-module__gn-collapse-button___93DwB:focus-visible{outline:2px solid var(--g-color-line-focus);outline-offset:-2px}.CollapseButton-module__gn-collapse-button__layer___LGd74{flex:0 0 0;height:100vh;margin-top:var(--gn-top-alert-height,0);max-height:calc(100vh - var(--gn-top-alert-height, 0));min-width:0;overflow:visible;pointer-events:none;position:sticky;top:var(--gn-top-alert-height,0);width:0;z-index:calc(var(--gn-aside-header-z-index, 100) + 1)}.CollapseButton-module__gn-collapse-button__slot___3aLNr{border-radius:8px;bottom:var(--g-spacing-2);height:var(--_--gn-aside-header-density-footer-item-height,32px);inset-inline-end:var(--_--item-margin-inline);position:absolute;transition:var(--_--gn-aside-collapse-geometry-transition);width:24px}.CollapseButton-module__gn-collapse-button__slot_compact___RFdrh{border-radius:12px;inset-inline-end:-10px;width:20px}[data-gn-aside-panel]:hover+[data-gn-aside-collapse-layer] .CollapseButton-module__gn-collapse-button___93DwB, [data-gn-aside-panel][data-gn-aside-animating]+[data-gn-aside-collapse-layer] .CollapseButton-module__gn-collapse-button___93DwB{opacity:1;transform:none}.CollapseButton-module__gn-collapse-button___93DwB:focus-visible, .CollapseButton-module__gn-collapse-button___93DwB:hover{opacity:1;transform:none}@media (hover:none){.CollapseButton-module__gn-collapse-button___93DwB{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.CollapseButton-module__gn-collapse-button___93DwB, .CollapseButton-module__gn-collapse-button__slot___3aLNr{transition:none}}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  interface CollapseButtonProps {
3
+ panelId: string;
4
+ slotRef: React.RefObject<HTMLDivElement>;
3
5
  className?: string;
4
6
  }
5
- export declare const CollapseButton: ({ className }: CollapseButtonProps) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
7
+ export declare const CollapseButton: ({ className, panelId, slotRef }: CollapseButtonProps) => React.JSX.Element;
6
8
  export {};
@@ -1,27 +1,31 @@
1
1
  import './CollapseButton.css';
2
2
  import React__default, { useCallback } from 'react';
3
+ import { ChevronRight } from '@gravity-ui/icons';
3
4
  import { Icon } from '@gravity-ui/uikit';
4
5
  import { createBlock } from '../../../utils/cn.js';
5
6
  import { useAsideHeaderInnerContext } from '../../AsideHeaderContext.js';
6
7
  import i18n from '../../i18n/index.js';
7
- import SvgControlMenuButton from '../../../../assets/icons/control-menu-button.svg.js';
8
8
  import styles from './CollapseButton.module.scss.js';
9
9
 
10
10
  const b = createBlock('collapse-button', styles);
11
- const CollapseButton = ({ className }) => {
11
+ const CollapseButton = ({ className, panelId, slotRef }) => {
12
12
  const { onChangeCompact, compact, expandTitle, collapseTitle, collapseButtonWrapper } = useAsideHeaderInnerContext();
13
+ // The button reverses the target state: pressing it while the collapse or
14
+ // expand transition runs must switch the direction instead of re-applying
15
+ // the command the transition is already moving towards.
13
16
  const onCollapseButtonClick = useCallback(() => {
14
17
  onChangeCompact === null || onChangeCompact === undefined ? undefined : onChangeCompact(!compact);
15
18
  }, [compact, onChangeCompact]);
16
19
  const buttonTitle = compact
17
20
  ? expandTitle || i18n('button_expand')
18
21
  : collapseTitle || i18n('button_collapse');
19
- const defaultButton = (React__default.createElement("button", { className: b({ compact }, className), onClick: onCollapseButtonClick, title: buttonTitle },
20
- React__default.createElement(Icon, { data: SvgControlMenuButton, className: b('icon'), width: "16", height: "10" })));
21
- if (collapseButtonWrapper) {
22
- return collapseButtonWrapper(defaultButton, { compact, onChangeCompact });
23
- }
24
- return defaultButton;
22
+ const defaultButton = (React__default.createElement("button", { className: b({ compact }, className), onClick: onCollapseButtonClick, title: buttonTitle, type: "button", "aria-controls": panelId, "aria-expanded": !compact },
23
+ React__default.createElement(Icon, { data: ChevronRight, className: b('icon'), size: 16 })));
24
+ const button = collapseButtonWrapper
25
+ ? collapseButtonWrapper(defaultButton, { compact, onChangeCompact })
26
+ : defaultButton;
27
+ return (React__default.createElement("div", { "data-gn-aside-collapse-layer": true, className: b('layer', { compact }) },
28
+ React__default.createElement("div", { "data-gn-aside-collapse-slot": true, className: b('slot', { compact }), ref: slotRef }, button)));
25
29
  };
26
30
 
27
31
  export { CollapseButton };
@@ -1 +1 @@
1
- {"version":3,"file":"CollapseButton.js","sources":["../../../../../../../src/components/AsideHeader/components/CollapseButton/CollapseButton.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\n\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {createBlock} from '../../../utils/cn';\nimport {useAsideHeaderInnerContext} from '../../AsideHeaderContext';\nimport i18n from '../../i18n';\n\nimport controlMenuButtonIcon from '../../../../../assets/icons/control-menu-button.svg';\n\nimport styles from './CollapseButton.module.scss';\n\nconst b = createBlock('collapse-button', styles);\n\ninterface CollapseButtonProps {\n className?: string;\n}\n\nexport const CollapseButton = ({className}: CollapseButtonProps) => {\n const {onChangeCompact, compact, expandTitle, collapseTitle, collapseButtonWrapper} =\n useAsideHeaderInnerContext();\n\n const onCollapseButtonClick = useCallback(() => {\n onChangeCompact?.(!compact);\n }, [compact, onChangeCompact]);\n\n const buttonTitle = compact\n ? expandTitle || i18n('button_expand')\n : collapseTitle || i18n('button_collapse');\n\n const defaultButton = (\n <button\n className={b({compact}, className)}\n onClick={onCollapseButtonClick}\n title={buttonTitle}\n >\n <Icon data={controlMenuButtonIcon} className={b('icon')} width=\"16\" height=\"10\" />\n </button>\n );\n\n if (collapseButtonWrapper) {\n return collapseButtonWrapper(defaultButton, {compact, onChangeCompact});\n }\n\n return defaultButton;\n};\n"],"names":["React","controlMenuButtonIcon"],"mappings":";;;;;;;;AAYA,MAAM,CAAC,GAAG,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC;MAMnC,cAAc,GAAG,CAAC,EAAC,SAAS,EAAsB,KAAI;AAC/D,IAAA,MAAM,EAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAC,GAC/E,0BAA0B,EAAE;AAEhC,IAAA,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAK;QAC3C,eAAe,KAAA,IAAA,IAAf,eAAe,KAAf,SAAA,GAAA,SAAA,GAAA,eAAe,CAAG,CAAC,OAAO,CAAC;AAC/B,KAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE9B,MAAM,WAAW,GAAG;AAChB,UAAE,WAAW,IAAI,IAAI,CAAC,eAAe;AACrC,UAAE,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC;IAE9C,MAAM,aAAa,IACfA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACI,SAAS,EAAE,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,SAAS,CAAC,EAClC,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,WAAW,EAAA;QAElBA,cAAC,CAAA,aAAA,CAAA,IAAI,IAAC,IAAI,EAAEC,oBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAA,CAAG,CAC7E,CACZ;IAED,IAAI,qBAAqB,EAAE;QACvB,OAAO,qBAAqB,CAAC,aAAa,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC;;AAG3E,IAAA,OAAO,aAAa;AACxB;;;;"}
1
+ {"version":3,"file":"CollapseButton.js","sources":["../../../../../../../src/components/AsideHeader/components/CollapseButton/CollapseButton.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\n\nimport {ChevronRight} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {createBlock} from '../../../utils/cn';\nimport {useAsideHeaderInnerContext} from '../../AsideHeaderContext';\nimport i18n from '../../i18n';\n\nimport styles from './CollapseButton.module.scss';\n\nconst b = createBlock('collapse-button', styles);\n\ninterface CollapseButtonProps {\n panelId: string;\n slotRef: React.RefObject<HTMLDivElement>;\n className?: string;\n}\n\nexport const CollapseButton = ({className, panelId, slotRef}: CollapseButtonProps) => {\n const {onChangeCompact, compact, expandTitle, collapseTitle, collapseButtonWrapper} =\n useAsideHeaderInnerContext();\n\n // The button reverses the target state: pressing it while the collapse or\n // expand transition runs must switch the direction instead of re-applying\n // the command the transition is already moving towards.\n const onCollapseButtonClick = useCallback(() => {\n onChangeCompact?.(!compact);\n }, [compact, onChangeCompact]);\n\n const buttonTitle = compact\n ? expandTitle || i18n('button_expand')\n : collapseTitle || i18n('button_collapse');\n\n const defaultButton = (\n <button\n className={b({compact}, className)}\n onClick={onCollapseButtonClick}\n title={buttonTitle}\n type=\"button\"\n aria-controls={panelId}\n aria-expanded={!compact}\n >\n <Icon data={ChevronRight} className={b('icon')} size={16} />\n </button>\n );\n\n const button = collapseButtonWrapper\n ? collapseButtonWrapper(defaultButton, {compact, onChangeCompact})\n : defaultButton;\n\n return (\n <div data-gn-aside-collapse-layer className={b('layer', {compact})}>\n <div data-gn-aside-collapse-slot className={b('slot', {compact})} ref={slotRef}>\n {button}\n </div>\n </div>\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;AAWA,MAAM,CAAC,GAAG,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC;AAQzC,MAAM,cAAc,GAAG,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAsB,KAAI;AACjF,IAAA,MAAM,EAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAC,GAC/E,0BAA0B,EAAE;;;;AAKhC,IAAA,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAK;QAC3C,eAAe,KAAA,IAAA,IAAf,eAAe,KAAf,SAAA,GAAA,SAAA,GAAA,eAAe,CAAG,CAAC,OAAO,CAAC;AAC/B,KAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE9B,MAAM,WAAW,GAAG;AAChB,UAAE,WAAW,IAAI,IAAI,CAAC,eAAe;AACrC,UAAE,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC;AAE9C,IAAA,MAAM,aAAa,IACfA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACI,SAAS,EAAE,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,SAAS,CAAC,EAClC,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,OAAO,EAAA,eAAA,EACP,CAAC,OAAO,EAAA;AAEvB,QAAAA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAI,CAAA,CACvD,CACZ;IAED,MAAM,MAAM,GAAG;UACT,qBAAqB,CAAC,aAAa,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;UAC/D,aAAa;IAEnB,QACIA,cAAkC,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,OAAO,EAAC,CAAC,EAAA;AAC9D,QAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,6BAAA,EAAA,IAAA,EAAiC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAA,EACzE,MAAM,CACL,CACJ;AAEd;;;;"}
@@ -1,4 +1,4 @@
1
- var styles = {"gn-collapse-button":"CollapseButton-module__gn-collapse-button___93DwB","gnCollapseButton":"CollapseButton-module__gn-collapse-button___93DwB","gn-collapse-button_compact":"CollapseButton-module__gn-collapse-button_compact___IaLr3","gnCollapseButtonCompact":"CollapseButton-module__gn-collapse-button_compact___IaLr3","gn-collapse-button__icon":"CollapseButton-module__gn-collapse-button__icon___iMooT","gnCollapseButtonIcon":"CollapseButton-module__gn-collapse-button__icon___iMooT"};
1
+ var styles = {"gn-collapse-button":"CollapseButton-module__gn-collapse-button___93DwB","gnCollapseButton":"CollapseButton-module__gn-collapse-button___93DwB","gn-collapse-button_compact":"CollapseButton-module__gn-collapse-button_compact___IaLr3","gnCollapseButtonCompact":"CollapseButton-module__gn-collapse-button_compact___IaLr3","gn-collapse-button__icon":"CollapseButton-module__gn-collapse-button__icon___iMooT","gnCollapseButtonIcon":"CollapseButton-module__gn-collapse-button__icon___iMooT","gn-collapse-button__layer":"CollapseButton-module__gn-collapse-button__layer___LGd74","gnCollapseButtonLayer":"CollapseButton-module__gn-collapse-button__layer___LGd74","gn-collapse-button__slot":"CollapseButton-module__gn-collapse-button__slot___3aLNr","gnCollapseButtonSlot":"CollapseButton-module__gn-collapse-button__slot___3aLNr","gn-collapse-button__slot_compact":"CollapseButton-module__gn-collapse-button__slot_compact___RFdrh","gnCollapseButtonSlotCompact":"CollapseButton-module__gn-collapse-button__slot_compact___RFdrh"};
2
2
 
3
3
  export { styles as default };
4
4
  //# sourceMappingURL=CollapseButton.module.scss.js.map
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface Registration {
3
+ register: (element: HTMLElement, id: symbol) => () => void;
4
+ selectedId: symbol | undefined;
5
+ compact: boolean;
6
+ }
7
+ export declare const CollapseAnchorContext: React.Context<Registration | undefined>;
8
+ export declare function useCollapseAnchor(enabled: boolean, compact: boolean): {
9
+ panelRef: React.RefObject<HTMLDivElement>;
10
+ footerRef: React.RefObject<HTMLDivElement>;
11
+ slotRef: React.RefObject<HTMLDivElement>;
12
+ fallbackRef: React.RefObject<HTMLDivElement>;
13
+ selected: HTMLElement | null;
14
+ context: {
15
+ register: (element: HTMLElement, id: symbol) => () => void;
16
+ selectedId: symbol | undefined;
17
+ compact: boolean;
18
+ } | undefined;
19
+ };
20
+ export {};
@@ -0,0 +1,167 @@
1
+ import React__default from 'react';
2
+
3
+ const CollapseAnchorContext = React__default.createContext(undefined);
4
+ // offset geometry deliberately excludes the coordinator's in-flight transforms.
5
+ function layoutTop(element, panel) {
6
+ let top = 0;
7
+ let current = element;
8
+ while (current && current !== panel) {
9
+ top += current.offsetTop;
10
+ current = current.offsetParent;
11
+ }
12
+ // Fixed-position descendants can leave this offset chain. Never treat their
13
+ // partial viewport-relative offset as a position inside the aside.
14
+ return current === panel ? top : null;
15
+ }
16
+ function visible(element, footer) {
17
+ for (let current = element; current; current = current.parentElement) {
18
+ const style = getComputedStyle(current);
19
+ if (current.hidden ||
20
+ style.display === 'none' ||
21
+ style.visibility === 'hidden' ||
22
+ style.visibility === 'collapse')
23
+ return false;
24
+ if (current === footer)
25
+ return true;
26
+ }
27
+ return false;
28
+ }
29
+ function useCollapseAnchor(enabled, compact) {
30
+ var _a;
31
+ const panelRef = React__default.useRef(null);
32
+ const footerRef = React__default.useRef(null);
33
+ const slotRef = React__default.useRef(null);
34
+ const fallbackRef = React__default.useRef(null);
35
+ const rows = React__default.useRef(new Map());
36
+ const reconcileRef = React__default.useRef();
37
+ const [selection, setSelection] = React__default.useState(null);
38
+ const selectionRef = React__default.useRef(null);
39
+ const register = React__default.useCallback((element, id) => {
40
+ var _a;
41
+ rows.current.set(element, id);
42
+ (_a = reconcileRef.current) === null || _a === undefined ? undefined : _a.call(reconcileRef);
43
+ return () => {
44
+ var _a;
45
+ rows.current.delete(element);
46
+ (_a = reconcileRef.current) === null || _a === undefined ? undefined : _a.call(reconcileRef);
47
+ };
48
+ }, []);
49
+ React__default.useLayoutEffect(() => {
50
+ if (!enabled || !panelRef.current || !footerRef.current) {
51
+ setSelection(null);
52
+ return undefined;
53
+ }
54
+ const panel = panelRef.current;
55
+ const footer = footerRef.current;
56
+ const heights = new WeakMap();
57
+ const resize = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(handleResize);
58
+ const measure = () => {
59
+ var _a, _b;
60
+ const row = (_b = (_a = selectionRef.current) === null || _a === undefined ? undefined : _a.element) !== null && _b !== undefined ? _b : fallbackRef.current;
61
+ const slot = slotRef.current;
62
+ if (!row || !slot)
63
+ return;
64
+ const rowTop = layoutTop(row, panel);
65
+ if (rowTop === null) {
66
+ slot.style.removeProperty('top');
67
+ slot.style.removeProperty('bottom');
68
+ return;
69
+ }
70
+ const top = rowTop + (row.offsetHeight - slot.offsetHeight) / 2;
71
+ slot.style.top = `${top}px`;
72
+ slot.style.bottom = 'auto';
73
+ };
74
+ function reconcile() {
75
+ var _a, _b, _c, _d, _e;
76
+ let last = null;
77
+ rows.current.forEach((_id, row) => {
78
+ if (!footer.contains(row) || !visible(row, footer))
79
+ return;
80
+ // DOM order can change without registration order changing.
81
+ // eslint-disable-next-line no-bitwise
82
+ if (!last || last.compareDocumentPosition(row) & Node.DOCUMENT_POSITION_FOLLOWING)
83
+ last = row;
84
+ });
85
+ const id = last ? rows.current.get(last) : undefined;
86
+ if (last !== ((_b = (_a = selectionRef.current) === null || _a === undefined ? undefined : _a.element) !== null && _b !== undefined ? _b : null) ||
87
+ id !== ((_c = selectionRef.current) === null || _c === undefined ? undefined : _c.id)) {
88
+ if (selectionRef.current) {
89
+ resize === null || resize === undefined ? undefined : resize.unobserve(selectionRef.current.element);
90
+ selectionRef.current.element.removeAttribute('data-gn-collapse-anchor');
91
+ }
92
+ // Changing the anchor invalidates only the slot's Y effect.
93
+ (_e = (_d = slotRef.current) === null || _d === undefined ? undefined : _d.getAnimations) === null || _e === undefined ? undefined : _e.call(_d).forEach((animation) => {
94
+ if (!('transitionProperty' in animation))
95
+ animation.cancel();
96
+ });
97
+ const next = last && id ? { element: last, id } : null;
98
+ selectionRef.current = next;
99
+ if (next) {
100
+ next.element.setAttribute('data-gn-collapse-anchor', '');
101
+ resize === null || resize === undefined ? undefined : resize.observe(next.element);
102
+ }
103
+ setSelection(next);
104
+ }
105
+ measure();
106
+ }
107
+ function handleResize(entries) {
108
+ let heightChanged = false;
109
+ entries.forEach(({ target, contentRect }) => {
110
+ if (heights.get(target) !== contentRect.height)
111
+ heightChanged = true;
112
+ heights.set(target, contentRect.height);
113
+ });
114
+ // The flex layout tracks horizontal movement. Only a height change
115
+ // requires vertical measurement during the compact width transition.
116
+ if (entries.length && !heightChanged && panel.hasAttribute('data-gn-aside-animating'))
117
+ return;
118
+ // Idle resizes may change CSS visibility without a DOM mutation.
119
+ reconcile();
120
+ }
121
+ resize === null || resize === undefined ? undefined : resize.observe(panel);
122
+ resize === null || resize === undefined ? undefined : resize.observe(footer);
123
+ reconcileRef.current = reconcile;
124
+ reconcile();
125
+ const finishWidthTransition = (event) => {
126
+ if (event.target === panel && event.propertyName === 'width')
127
+ reconcile();
128
+ };
129
+ // Recheck CSS-only visibility after the width-only notifications skipped
130
+ // above, even when the last resize precedes the coordinator's cleanup.
131
+ panel.addEventListener('transitionend', finishWidthTransition);
132
+ panel.addEventListener('transitioncancel', finishWidthTransition);
133
+ const mutations = new MutationObserver(reconcile);
134
+ mutations.observe(footer, {
135
+ subtree: true,
136
+ childList: true,
137
+ attributes: true,
138
+ attributeFilter: ['hidden', 'style', 'class'],
139
+ });
140
+ return () => {
141
+ var _a;
142
+ reconcileRef.current = undefined;
143
+ resize === null || resize === undefined ? undefined : resize.disconnect();
144
+ mutations.disconnect();
145
+ panel.removeEventListener('transitionend', finishWidthTransition);
146
+ panel.removeEventListener('transitioncancel', finishWidthTransition);
147
+ (_a = selectionRef.current) === null || _a === undefined ? undefined : _a.element.removeAttribute('data-gn-collapse-anchor');
148
+ selectionRef.current = null;
149
+ };
150
+ }, [enabled]);
151
+ React__default.useLayoutEffect(() => {
152
+ var _a;
153
+ (_a = reconcileRef.current) === null || _a === undefined ? undefined : _a.call(reconcileRef);
154
+ });
155
+ const context = React__default.useMemo(() => (enabled ? { register, selectedId: selection === null || selection === undefined ? undefined : selection.id, compact } : undefined), [enabled, register, selection, compact]);
156
+ return {
157
+ panelRef,
158
+ footerRef,
159
+ slotRef,
160
+ fallbackRef,
161
+ selected: (_a = selection === null || selection === undefined ? undefined : selection.element) !== null && _a !== undefined ? _a : null,
162
+ context,
163
+ };
164
+ }
165
+
166
+ export { CollapseAnchorContext, useCollapseAnchor };
167
+ //# sourceMappingURL=useCollapseAnchor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCollapseAnchor.js","sources":["../../../../../../../src/components/AsideHeader/components/CollapseButton/useCollapseAnchor.tsx"],"sourcesContent":["import React from 'react';\n\ninterface Registration {\n register: (element: HTMLElement, id: symbol) => () => void;\n selectedId: symbol | undefined;\n compact: boolean;\n}\n\ninterface Selection {\n element: HTMLElement;\n id: symbol;\n}\n\nexport const CollapseAnchorContext = React.createContext<Registration | undefined>(undefined);\n\n// offset geometry deliberately excludes the coordinator's in-flight transforms.\nfunction layoutTop(element: HTMLElement, panel: HTMLElement) {\n let top = 0;\n let current: HTMLElement | null = element;\n while (current && current !== panel) {\n top += current.offsetTop;\n current = current.offsetParent as HTMLElement | null;\n }\n // Fixed-position descendants can leave this offset chain. Never treat their\n // partial viewport-relative offset as a position inside the aside.\n return current === panel ? top : null;\n}\n\nfunction visible(element: HTMLElement, footer: HTMLElement) {\n for (let current: HTMLElement | null = element; current; current = current.parentElement) {\n const style = getComputedStyle(current);\n if (\n current.hidden ||\n style.display === 'none' ||\n style.visibility === 'hidden' ||\n style.visibility === 'collapse'\n )\n return false;\n if (current === footer) return true;\n }\n return false;\n}\n\nexport function useCollapseAnchor(enabled: boolean, compact: boolean) {\n const panelRef = React.useRef<HTMLDivElement>(null);\n const footerRef = React.useRef<HTMLDivElement>(null);\n const slotRef = React.useRef<HTMLDivElement>(null);\n const fallbackRef = React.useRef<HTMLDivElement>(null);\n const rows = React.useRef(new Map<HTMLElement, symbol>());\n const reconcileRef = React.useRef<() => void>();\n const [selection, setSelection] = React.useState<Selection | null>(null);\n const selectionRef = React.useRef<Selection | null>(null);\n const register = React.useCallback((element: HTMLElement, id: symbol) => {\n rows.current.set(element, id);\n reconcileRef.current?.();\n return () => {\n rows.current.delete(element);\n reconcileRef.current?.();\n };\n }, []);\n\n React.useLayoutEffect(() => {\n if (!enabled || !panelRef.current || !footerRef.current) {\n setSelection(null);\n return undefined;\n }\n const panel = panelRef.current;\n const footer = footerRef.current;\n const heights = new WeakMap<Element, number>();\n const resize =\n typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(handleResize);\n const measure = () => {\n const row = selectionRef.current?.element ?? fallbackRef.current;\n const slot = slotRef.current;\n if (!row || !slot) return;\n const rowTop = layoutTop(row, panel);\n if (rowTop === null) {\n slot.style.removeProperty('top');\n slot.style.removeProperty('bottom');\n return;\n }\n const top = rowTop + (row.offsetHeight - slot.offsetHeight) / 2;\n slot.style.top = `${top}px`;\n slot.style.bottom = 'auto';\n };\n function reconcile() {\n let last: HTMLElement | null = null;\n rows.current.forEach((_id, row) => {\n if (!footer.contains(row) || !visible(row, footer)) return;\n // DOM order can change without registration order changing.\n // eslint-disable-next-line no-bitwise\n if (!last || last.compareDocumentPosition(row) & Node.DOCUMENT_POSITION_FOLLOWING)\n last = row;\n });\n const id = last ? rows.current.get(last) : undefined;\n if (\n last !== (selectionRef.current?.element ?? null) ||\n id !== selectionRef.current?.id\n ) {\n if (selectionRef.current) {\n resize?.unobserve(selectionRef.current.element);\n selectionRef.current.element.removeAttribute('data-gn-collapse-anchor');\n }\n // Changing the anchor invalidates only the slot's Y effect.\n slotRef.current?.getAnimations?.().forEach((animation) => {\n if (!('transitionProperty' in animation)) animation.cancel();\n });\n const next: Selection | null = last && id ? {element: last, id} : null;\n selectionRef.current = next;\n if (next) {\n next.element.setAttribute('data-gn-collapse-anchor', '');\n resize?.observe(next.element);\n }\n setSelection(next);\n }\n measure();\n }\n function handleResize(entries: ResizeObserverEntry[]) {\n let heightChanged = false;\n entries.forEach(({target, contentRect}) => {\n if (heights.get(target) !== contentRect.height) heightChanged = true;\n heights.set(target, contentRect.height);\n });\n // The flex layout tracks horizontal movement. Only a height change\n // requires vertical measurement during the compact width transition.\n if (entries.length && !heightChanged && panel.hasAttribute('data-gn-aside-animating'))\n return;\n // Idle resizes may change CSS visibility without a DOM mutation.\n reconcile();\n }\n resize?.observe(panel);\n resize?.observe(footer);\n reconcileRef.current = reconcile;\n reconcile();\n const finishWidthTransition = (event: TransitionEvent) => {\n if (event.target === panel && event.propertyName === 'width') reconcile();\n };\n // Recheck CSS-only visibility after the width-only notifications skipped\n // above, even when the last resize precedes the coordinator's cleanup.\n panel.addEventListener('transitionend', finishWidthTransition);\n panel.addEventListener('transitioncancel', finishWidthTransition);\n const mutations = new MutationObserver(reconcile);\n mutations.observe(footer, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['hidden', 'style', 'class'],\n });\n return () => {\n reconcileRef.current = undefined;\n resize?.disconnect();\n mutations.disconnect();\n panel.removeEventListener('transitionend', finishWidthTransition);\n panel.removeEventListener('transitioncancel', finishWidthTransition);\n selectionRef.current?.element.removeAttribute('data-gn-collapse-anchor');\n selectionRef.current = null;\n };\n }, [enabled]);\n React.useLayoutEffect(() => {\n reconcileRef.current?.();\n });\n const context = React.useMemo(\n () => (enabled ? {register, selectedId: selection?.id, compact} : undefined),\n [enabled, register, selection, compact],\n );\n return {\n panelRef,\n footerRef,\n slotRef,\n fallbackRef,\n selected: selection?.element ?? null,\n context,\n };\n}\n"],"names":["React"],"mappings":"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"}
@@ -1 +1,3 @@
1
- .CompositeBar-module__gn-composite-bar___WoCDY{flex:1 0 auto;min-height:40px;width:100%}.CompositeBar-module__gn-composite-bar___WoCDY .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{background-color:transparent}.CompositeBar-module__gn-composite-bar__menu-group___3hCzS{display:flex;flex-direction:column;width:100%}.CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21[class]{box-sizing:border-box;flex:0 0 auto;min-height:40px;width:100%}.CompositeBar-module__gn-composite-bar__menu-group-nested-item___9gea-[class]{padding-inline-start:var(--g-spacing-3);position:relative}.CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH[class]{background-color:transparent;overflow:visible;position:relative}.CompositeBar-module__gn-composite-bar__menu-group-nested-connector___uiegb{box-sizing:content-box;display:flex;pointer-events:none;position:relative;width:16px}.CompositeBar-module__gn-composite-bar__menu-group-nested-connector___uiegb:before{background:var(--gn-aside-header-menu-group-tree-line-color,#c1c3c7);bottom:0;content:"";height:100%;inset-inline-start:calc(50% - .5px);pointer-events:none;position:absolute;top:0;width:1px}.CompositeBar-module__gn-composite-bar__menu-group-nested-connector_spine-active___qVoAX:before{background:var(--gn-aside-header-menu-group-tree-line-active-color,var(--g-color-base-brand));z-index:1}.CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH:last-child .CompositeBar-module__gn-composite-bar__menu-group-nested-connector___uiegb:before{display:none}.CompositeBar-module__gn-composite-bar__menu-group-nested-tree-svg___FJny7{fill:none;stroke:var(--gn-aside-header-menu-group-tree-line-color,#c1c3c7);display:block;flex-shrink:0;height:40px;max-width:16px;min-width:16px;position:relative}.CompositeBar-module__gn-composite-bar__menu-group-nested-tree-svg_active___Gmthf{stroke:var(--gn-aside-header-menu-group-tree-line-active-color,var(--g-color-base-brand))}.CompositeBar-module__gn-composite-bar__menu-group-nested-row-inner___jJLTe{height:100%;min-width:0;width:100%}
1
+ .CompositeBar-module__gn-composite-bar___WoCDY{--_--menu-group-tree-connector-width:16px;--_--menu-item-gap:0px;flex:1 0 auto;min-height:var(--_--gn-aside-header-density-item-height,40px);width:100%}.CompositeBar-module__gn-composite-bar___WoCDY .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{background-color:transparent}.CompositeBar-module__gn-composite-bar_inline-groups___BsraQ .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class], .CompositeBar-module__gn-composite-bar_quick-access___zNlSe .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{background:none;box-sizing:border-box;overflow:visible;padding-block-end:var(--_--menu-item-gap);position:relative}.CompositeBar-module__gn-composite-bar_inline-groups___BsraQ .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class].g-list__item_active, .CompositeBar-module__gn-composite-bar_inline-groups___BsraQ .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class].g-list__item_active.g-list__item_selected, .CompositeBar-module__gn-composite-bar_inline-groups___BsraQ .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class].g-list__item_selected, .CompositeBar-module__gn-composite-bar_quick-access___zNlSe .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class].g-list__item_active, .CompositeBar-module__gn-composite-bar_quick-access___zNlSe .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class].g-list__item_active.g-list__item_selected, .CompositeBar-module__gn-composite-bar_quick-access___zNlSe .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class].g-list__item_selected{background:none}.CompositeBar-module__gn-composite-bar_inline-groups___BsraQ{--_--menu-item-gap:1px}.CompositeBar-module__gn-composite-bar_quick-access___zNlSe{--_--menu-item-gap:1px;--gn-aside-header-item-icon-color:var(
2
+ --gn-aside-header-general-item-icon-color,var(--g-color-text-primary)
3
+ );flex:none}.CompositeBar-module__gn-composite-bar__menu-group___3hCzS{display:flex;flex-direction:column;width:100%}.CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21[class]{box-sizing:border-box;flex:0 0 auto;min-height:var(--_--gn-aside-header-density-item-height,40px);width:100%}.CompositeBar-module__gn-composite-bar__menu-group-nested-item___9gea-[class]{position:relative}.CompositeBar-module__gn-composite-bar__menu-group-nested-item___9gea-[class] .CompositeBar-module__gn-composite-bar__menu-group-nested-connector___uiegb{inset-block:0;inset-inline-start:calc(var(--_--gn-aside-header-density-item-height, 40px)/2 - 8px);position:absolute}.CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH[class]>.g-list__item-content{overflow:visible}.CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH[class]{background-color:transparent;box-sizing:border-box;overflow:visible;padding-block-end:var(--_--menu-item-gap);position:relative}.CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH[class].g-list__item_active, .CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH[class].g-list__item_active.g-list__item_selected, .CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH[class].g-list__item_selected{background-color:transparent}.CompositeBar-module__gn-composite-bar__menu-group-nested-list-item___-IygH:not(:last-child) .CompositeBar-module__gn-composite-bar__menu-group-nested-connector___uiegb:after{background:var(--gn-aside-header-menu-group-tree-line-color,#c1c3c7);bottom:calc(var(--_--menu-item-gap)*-1);content:"";inset-inline-start:calc(50% - .5px);pointer-events:none;position:absolute;top:0;width:1px;z-index:-1}.CompositeBar-module__gn-composite-bar__menu-group-nested-connector___uiegb{box-sizing:content-box;display:flex;isolation:isolate;overflow:visible;pointer-events:none;position:relative;width:16px}.CompositeBar-module__gn-composite-bar__menu-group-nested-connector_spine-active___qVoAX:before{background:var(--gn-aside-header-menu-group-tree-line-active-color,var(--g-color-base-brand));bottom:calc(var(--_--menu-item-gap)*-1);content:"";inset-inline-start:calc(50% - .5px);pointer-events:none;position:absolute;top:0;width:1px;z-index:1}.CompositeBar-module__gn-composite-bar__menu-group-nested-tree-svg___FJny7{fill:none;stroke:var(--gn-aside-header-menu-group-tree-line-color,#c1c3c7);display:block;flex-shrink:0;height:var(--_--gn-aside-header-density-item-height,40px);inset-block-start:calc(var(--_--menu-group-tree-connector-hook-inset-block, 50%) - var(--_--gn-aside-header-density-item-height, 40px)/2);inset-inline-start:0;max-width:16px;min-width:16px;position:absolute}.CompositeBar-module__gn-composite-bar__menu-group-nested-tree-svg_active___Gmthf{stroke:var(--gn-aside-header-menu-group-tree-line-active-color,var(--g-color-base-brand))}[dir=rtl] .CompositeBar-module__gn-composite-bar__menu-group-nested-tree-svg___FJny7{transform:scaleX(-1)}.CompositeBar-module__gn-composite-bar__menu-group-nested-row-inner___jJLTe{height:100%;min-width:0;width:100%}