@diplodoc/components 5.2.1 → 5.2.2

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 (302) hide show
  1. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
  2. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  3. package/build/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  4. package/build/cjs/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
  5. package/build/cjs/components/ConsentPopup/ConsentPopup.d.ts +1 -1
  6. package/build/cjs/components/ConsentPopup/ConsentPopup.js.map +2 -2
  7. package/build/cjs/components/ContributorAvatars/Avatars/Avatar.d.ts +1 -1
  8. package/build/cjs/components/ContributorAvatars/Avatars/Avatar.js.map +2 -2
  9. package/build/cjs/components/ContributorAvatars/Avatars/AvatarWithDescription.d.ts +2 -2
  10. package/build/cjs/components/ContributorAvatars/Avatars/AvatarWithDescription.js.map +2 -2
  11. package/build/cjs/components/ContributorAvatars/Avatars/HiddenAvatars.d.ts +2 -2
  12. package/build/cjs/components/ContributorAvatars/Avatars/HiddenAvatars.js.map +2 -2
  13. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  14. package/build/cjs/components/ContributorAvatars/ContributorAvatars.d.ts +1 -1
  15. package/build/cjs/components/ContributorAvatars/ContributorAvatars.js.map +2 -2
  16. package/build/cjs/components/ContributorAvatars/models.d.ts +1 -1
  17. package/build/cjs/components/ContributorAvatars/models.js.map +1 -1
  18. package/build/cjs/components/ContributorAvatars/utils.d.ts +1 -1
  19. package/build/cjs/components/ContributorAvatars/utils.js.map +1 -1
  20. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  21. package/build/cjs/components/Contributors/Contributors.d.ts +1 -1
  22. package/build/cjs/components/Contributors/Contributors.js.map +2 -2
  23. package/build/cjs/components/Control/Control.css.map +1 -1
  24. package/build/cjs/components/Controls/Controls.css.map +1 -1
  25. package/build/cjs/components/Controls/ControlsLayout.d.ts +2 -1
  26. package/build/cjs/components/Controls/ControlsLayout.js.map +2 -2
  27. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  28. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  29. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  30. package/build/cjs/components/DocLayout/DocLayout.css.map +1 -1
  31. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  32. package/build/cjs/components/DocPage/DocPage.css.map +1 -1
  33. package/build/cjs/components/DocPage/components/RenderBody/RenderBody.d.ts +1 -1
  34. package/build/cjs/components/DocPage/components/RenderBody/RenderBody.js.map +2 -2
  35. package/build/cjs/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.d.ts +2 -2
  36. package/build/cjs/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.js.map +2 -2
  37. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  38. package/build/cjs/components/DocPageTitle/DocPageTitle.d.ts +2 -1
  39. package/build/cjs/components/DocPageTitle/DocPageTitle.js.map +2 -2
  40. package/build/cjs/components/ErrorBoundary/ErrorBoundary.d.ts +2 -1
  41. package/build/cjs/components/ErrorBoundary/ErrorBoundary.js.map +2 -2
  42. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  43. package/build/cjs/components/ErrorPage/ErrorPage.js +1 -3
  44. package/build/cjs/components/ErrorPage/ErrorPage.js.map +2 -2
  45. package/build/cjs/components/Feedback/Feedback.css.map +1 -1
  46. package/build/cjs/components/Feedback/Feedback.d.ts +1 -1
  47. package/build/cjs/components/Feedback/Feedback.js.map +2 -2
  48. package/build/cjs/components/Mark/Mark.css.map +1 -1
  49. package/build/cjs/components/Meta/Meta.d.ts +1 -1
  50. package/build/cjs/components/Meta/Meta.js.map +2 -2
  51. package/build/cjs/components/MiniToc/MiniToc.css.map +1 -1
  52. package/build/cjs/components/MiniToc/MiniToc.d.ts +2 -2
  53. package/build/cjs/components/MiniToc/MiniToc.js.map +2 -2
  54. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  55. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  56. package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
  57. package/build/cjs/components/Notification/Notification.css.map +1 -1
  58. package/build/cjs/components/OutsideClick/OutsideClick.d.ts +4 -3
  59. package/build/cjs/components/OutsideClick/OutsideClick.js.map +2 -2
  60. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  61. package/build/cjs/components/Paginator/Paginator.js.map +2 -2
  62. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  63. package/build/cjs/components/SearchBar/hooks.d.ts +1 -1
  64. package/build/cjs/components/SearchBar/hooks.js.map +2 -2
  65. package/build/cjs/components/SearchBar/withHighlightedSearchWords.d.ts +1 -1
  66. package/build/cjs/components/SearchBar/withHighlightedSearchWords.js.map +2 -2
  67. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  68. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  69. package/build/cjs/components/SearchSuggest/SearchInput.d.ts +1 -1
  70. package/build/cjs/components/SearchSuggest/SearchInput.js.map +2 -2
  71. package/build/cjs/components/SearchSuggest/Suggest.d.ts +2 -1
  72. package/build/cjs/components/SearchSuggest/Suggest.js.map +2 -2
  73. package/build/cjs/components/SearchSuggest/SuggestItem.js.map +2 -2
  74. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  75. package/build/cjs/components/SearchSuggest/useFocus.d.ts +1 -1
  76. package/build/cjs/components/SearchSuggest/useFocus.js.map +2 -2
  77. package/build/cjs/components/ShareButton/ShareButton.css.map +1 -1
  78. package/build/cjs/components/ShareButton/ShareButton.d.ts +2 -2
  79. package/build/cjs/components/ShareButton/ShareButton.js.map +2 -2
  80. package/build/cjs/components/StageLabel/StageLabel.js.map +2 -2
  81. package/build/cjs/components/SubNavigation/SubNavigation.css.map +1 -1
  82. package/build/cjs/components/SubNavigation/SubNavigation.d.ts +4 -3
  83. package/build/cjs/components/SubNavigation/SubNavigation.js.map +2 -2
  84. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.d.ts +2 -2
  85. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.js.map +2 -2
  86. package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
  87. package/build/cjs/components/Subscribe/Subscribe.d.ts +1 -1
  88. package/build/cjs/components/Subscribe/Subscribe.js.map +2 -2
  89. package/build/cjs/components/Subscribe/utils.d.ts +1 -1
  90. package/build/cjs/components/Subscribe/utils.js.map +1 -1
  91. package/build/cjs/components/Toc/Toc.css.map +1 -1
  92. package/build/cjs/components/Toc/Toc.d.ts +1 -1
  93. package/build/cjs/components/Toc/Toc.js.map +2 -2
  94. package/build/cjs/components/Toc/TocItemRegistry.d.ts +1 -1
  95. package/build/cjs/components/Toc/TocItemRegistry.js.map +1 -1
  96. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  97. package/build/cjs/components/TocItem/TocItem.d.ts +1 -1
  98. package/build/cjs/components/TocItem/TocItem.js.map +2 -2
  99. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  100. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  101. package/build/cjs/components/TocNavPanel/TocNavPanel.d.ts +1 -1
  102. package/build/cjs/components/TocNavPanel/TocNavPanel.js.map +2 -2
  103. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  104. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  105. package/build/cjs/components/Widgets/Widgets.css.map +1 -1
  106. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  107. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.d.ts +3 -3
  108. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.js.map +2 -2
  109. package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.d.ts +1 -1
  110. package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js.map +2 -2
  111. package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.d.ts +1 -1
  112. package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js.map +2 -2
  113. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  114. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.d.ts +1 -1
  115. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.js.map +2 -2
  116. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
  117. package/build/cjs/components/navigation/Sidebar/Sidebar.d.ts +2 -1
  118. package/build/cjs/components/navigation/Sidebar/Sidebar.js.map +2 -2
  119. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  120. package/build/cjs/components/navigation/SidebarContent/SidebarContent.d.ts +5 -4
  121. package/build/cjs/components/navigation/SidebarContent/SidebarContent.js.map +2 -2
  122. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  123. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.d.ts +4 -3
  124. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.js.map +2 -2
  125. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  126. package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.d.ts +1 -1
  127. package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.js.map +1 -1
  128. package/build/cjs/config/i18n.js.map +2 -2
  129. package/build/cjs/config/index.d.ts +1 -1
  130. package/build/cjs/config/index.js.map +2 -2
  131. package/build/cjs/contexts/RenderBodyHooksContext.d.ts +2 -2
  132. package/build/cjs/contexts/RenderBodyHooksContext.js.map +2 -2
  133. package/build/cjs/hoc/withLang.d.ts +1 -1
  134. package/build/cjs/hoc/withLang.js.map +2 -2
  135. package/build/cjs/hoc/withRouter.d.ts +1 -1
  136. package/build/cjs/hoc/withRouter.js.map +2 -2
  137. package/build/cjs/hooks/usePopper.d.ts +2 -2
  138. package/build/cjs/hooks/usePopper.js.map +2 -2
  139. package/build/cjs/i18n/index.d.ts +30 -14
  140. package/build/cjs/i18n/index.js +26 -21
  141. package/build/cjs/i18n/index.js.map +2 -2
  142. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  143. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  144. package/build/esm/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  145. package/build/esm/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
  146. package/build/esm/components/ConsentPopup/ConsentPopup.d.ts +1 -1
  147. package/build/esm/components/ConsentPopup/ConsentPopup.js.map +2 -2
  148. package/build/esm/components/ContributorAvatars/Avatars/Avatar.d.ts +1 -1
  149. package/build/esm/components/ContributorAvatars/Avatars/Avatar.js.map +2 -2
  150. package/build/esm/components/ContributorAvatars/Avatars/AvatarWithDescription.d.ts +2 -2
  151. package/build/esm/components/ContributorAvatars/Avatars/AvatarWithDescription.js.map +2 -2
  152. package/build/esm/components/ContributorAvatars/Avatars/HiddenAvatars.d.ts +2 -2
  153. package/build/esm/components/ContributorAvatars/Avatars/HiddenAvatars.js.map +2 -2
  154. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  155. package/build/esm/components/ContributorAvatars/ContributorAvatars.d.ts +1 -1
  156. package/build/esm/components/ContributorAvatars/ContributorAvatars.js.map +2 -2
  157. package/build/esm/components/ContributorAvatars/models.d.ts +1 -1
  158. package/build/esm/components/ContributorAvatars/models.js.map +1 -1
  159. package/build/esm/components/ContributorAvatars/utils.d.ts +1 -1
  160. package/build/esm/components/ContributorAvatars/utils.js.map +1 -1
  161. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  162. package/build/esm/components/Contributors/Contributors.d.ts +1 -1
  163. package/build/esm/components/Contributors/Contributors.js.map +2 -2
  164. package/build/esm/components/Control/Control.css.map +1 -1
  165. package/build/esm/components/Controls/Controls.css.map +1 -1
  166. package/build/esm/components/Controls/ControlsLayout.d.ts +2 -1
  167. package/build/esm/components/Controls/ControlsLayout.js.map +2 -2
  168. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  169. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  170. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  171. package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
  172. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  173. package/build/esm/components/DocPage/DocPage.css.map +1 -1
  174. package/build/esm/components/DocPage/components/RenderBody/RenderBody.d.ts +1 -1
  175. package/build/esm/components/DocPage/components/RenderBody/RenderBody.js.map +2 -2
  176. package/build/esm/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.d.ts +2 -2
  177. package/build/esm/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.js.map +2 -2
  178. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  179. package/build/esm/components/DocPageTitle/DocPageTitle.d.ts +2 -1
  180. package/build/esm/components/DocPageTitle/DocPageTitle.js.map +2 -2
  181. package/build/esm/components/ErrorBoundary/ErrorBoundary.d.ts +2 -1
  182. package/build/esm/components/ErrorBoundary/ErrorBoundary.js.map +2 -2
  183. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  184. package/build/esm/components/ErrorPage/ErrorPage.js +2 -4
  185. package/build/esm/components/ErrorPage/ErrorPage.js.map +2 -2
  186. package/build/esm/components/Feedback/Feedback.css.map +1 -1
  187. package/build/esm/components/Feedback/Feedback.d.ts +1 -1
  188. package/build/esm/components/Feedback/Feedback.js.map +2 -2
  189. package/build/esm/components/Mark/Mark.css.map +1 -1
  190. package/build/esm/components/Meta/Meta.d.ts +1 -1
  191. package/build/esm/components/Meta/Meta.js.map +2 -2
  192. package/build/esm/components/MiniToc/MiniToc.css.map +1 -1
  193. package/build/esm/components/MiniToc/MiniToc.d.ts +2 -2
  194. package/build/esm/components/MiniToc/MiniToc.js.map +2 -2
  195. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  196. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  197. package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
  198. package/build/esm/components/Notification/Notification.css.map +1 -1
  199. package/build/esm/components/OutsideClick/OutsideClick.d.ts +4 -3
  200. package/build/esm/components/OutsideClick/OutsideClick.js.map +2 -2
  201. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  202. package/build/esm/components/Paginator/Paginator.js.map +2 -2
  203. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  204. package/build/esm/components/SearchBar/hooks.d.ts +1 -1
  205. package/build/esm/components/SearchBar/hooks.js.map +2 -2
  206. package/build/esm/components/SearchBar/withHighlightedSearchWords.d.ts +1 -1
  207. package/build/esm/components/SearchBar/withHighlightedSearchWords.js.map +2 -2
  208. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  209. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  210. package/build/esm/components/SearchSuggest/SearchInput.d.ts +1 -1
  211. package/build/esm/components/SearchSuggest/SearchInput.js.map +2 -2
  212. package/build/esm/components/SearchSuggest/Suggest.d.ts +2 -1
  213. package/build/esm/components/SearchSuggest/Suggest.js.map +2 -2
  214. package/build/esm/components/SearchSuggest/SuggestItem.js.map +2 -2
  215. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  216. package/build/esm/components/SearchSuggest/useFocus.d.ts +1 -1
  217. package/build/esm/components/SearchSuggest/useFocus.js.map +2 -2
  218. package/build/esm/components/ShareButton/ShareButton.css.map +1 -1
  219. package/build/esm/components/ShareButton/ShareButton.d.ts +2 -2
  220. package/build/esm/components/ShareButton/ShareButton.js.map +2 -2
  221. package/build/esm/components/StageLabel/StageLabel.js.map +2 -2
  222. package/build/esm/components/SubNavigation/SubNavigation.css.map +1 -1
  223. package/build/esm/components/SubNavigation/SubNavigation.d.ts +4 -3
  224. package/build/esm/components/SubNavigation/SubNavigation.js.map +2 -2
  225. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.d.ts +2 -2
  226. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.js.map +2 -2
  227. package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
  228. package/build/esm/components/Subscribe/Subscribe.d.ts +1 -1
  229. package/build/esm/components/Subscribe/Subscribe.js.map +2 -2
  230. package/build/esm/components/Subscribe/utils.d.ts +1 -1
  231. package/build/esm/components/Subscribe/utils.js.map +1 -1
  232. package/build/esm/components/Toc/Toc.css.map +1 -1
  233. package/build/esm/components/Toc/Toc.d.ts +1 -1
  234. package/build/esm/components/Toc/Toc.js.map +2 -2
  235. package/build/esm/components/Toc/TocItemRegistry.d.ts +1 -1
  236. package/build/esm/components/Toc/TocItemRegistry.js.map +1 -1
  237. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  238. package/build/esm/components/TocItem/TocItem.d.ts +1 -1
  239. package/build/esm/components/TocItem/TocItem.js.map +2 -2
  240. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  241. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  242. package/build/esm/components/TocNavPanel/TocNavPanel.d.ts +1 -1
  243. package/build/esm/components/TocNavPanel/TocNavPanel.js.map +2 -2
  244. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  245. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  246. package/build/esm/components/Widgets/Widgets.css.map +1 -1
  247. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  248. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.d.ts +3 -3
  249. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.js.map +2 -2
  250. package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.d.ts +1 -1
  251. package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js.map +2 -2
  252. package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.d.ts +1 -1
  253. package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js.map +2 -2
  254. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  255. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.d.ts +1 -1
  256. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.js.map +2 -2
  257. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
  258. package/build/esm/components/navigation/Sidebar/Sidebar.d.ts +2 -1
  259. package/build/esm/components/navigation/Sidebar/Sidebar.js.map +2 -2
  260. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  261. package/build/esm/components/navigation/SidebarContent/SidebarContent.d.ts +5 -4
  262. package/build/esm/components/navigation/SidebarContent/SidebarContent.js +1 -5
  263. package/build/esm/components/navigation/SidebarContent/SidebarContent.js.map +2 -2
  264. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  265. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.d.ts +4 -3
  266. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.js.map +2 -2
  267. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  268. package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.d.ts +1 -1
  269. package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.js.map +1 -1
  270. package/build/esm/config/i18n.js.map +2 -2
  271. package/build/esm/config/index.d.ts +1 -1
  272. package/build/esm/config/index.js.map +2 -2
  273. package/build/esm/contexts/RenderBodyHooksContext.d.ts +2 -2
  274. package/build/esm/contexts/RenderBodyHooksContext.js.map +2 -2
  275. package/build/esm/hoc/withLang.d.ts +1 -1
  276. package/build/esm/hoc/withLang.js.map +2 -2
  277. package/build/esm/hoc/withRouter.d.ts +1 -1
  278. package/build/esm/hoc/withRouter.js.map +2 -2
  279. package/build/esm/hooks/usePopper.d.ts +2 -2
  280. package/build/esm/hooks/usePopper.js.map +2 -2
  281. package/build/esm/i18n/index.d.ts +30 -14
  282. package/build/esm/i18n/index.js +26 -21
  283. package/build/esm/i18n/index.js.map +2 -2
  284. package/build/index.css.map +1 -1
  285. package/build/themes/common/index.css.map +1 -1
  286. package/package.json +4 -4
  287. package/src/i18n/ar.json +3 -2
  288. package/src/i18n/bg.json +3 -2
  289. package/src/i18n/cs.json +3 -2
  290. package/src/i18n/el.json +3 -2
  291. package/src/i18n/en.json +3 -2
  292. package/src/i18n/es.json +3 -2
  293. package/src/i18n/et.json +3 -2
  294. package/src/i18n/fr.json +3 -2
  295. package/src/i18n/he.json +3 -2
  296. package/src/i18n/kk.json +3 -2
  297. package/src/i18n/pt.json +3 -2
  298. package/src/i18n/ru.json +3 -2
  299. package/src/i18n/tr.json +3 -2
  300. package/src/i18n/uz.json +3 -2
  301. package/src/i18n/zh-tw.json +2 -1
  302. package/src/i18n/zh.json +1 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/Subscribe/utils.ts"],
4
- "sourcesContent": ["import {ThemeContextProps} from '@gravity-ui/uikit';\n\nimport {PopperPosition} from '../../hooks';\nimport {getPopupPosition} from '../../utils';\n\nimport {SubscribeView} from './Subscribe';\n\nexport const getSubscribePopupPosition = (\n isVerticalView: boolean | undefined,\n view?: SubscribeView,\n direction?: ThemeContextProps['direction'],\n) => {\n if (!view || view === SubscribeView.Regular) {\n return getPopupPosition(isVerticalView, direction);\n }\n\n return PopperPosition.RIGHT;\n};\n"],
4
+ "sourcesContent": ["import type {ThemeContextProps} from '@gravity-ui/uikit';\n\nimport {PopperPosition} from '../../hooks';\nimport {getPopupPosition} from '../../utils';\n\nimport {SubscribeView} from './Subscribe';\n\nexport const getSubscribePopupPosition = (\n isVerticalView: boolean | undefined,\n view?: SubscribeView,\n direction?: ThemeContextProps['direction'],\n) => {\n if (!view || view === SubscribeView.Regular) {\n return getPopupPosition(isVerticalView, direction);\n }\n\n return PopperPosition.RIGHT;\n};\n"],
5
5
  "mappings": ";AAEA,SAAQ,sBAAqB;AAC7B,SAAQ,wBAAuB;AAE/B,SAAQ,qBAAoB;AAErB,IAAM,4BAA4B,CACrC,gBACA,MACA,cACC;AACD,MAAI,CAAC,QAAQ,SAAS,cAAc,SAAS;AACzC,WAAO,iBAAiB,gBAAgB,SAAS;AAAA,EACrD;AAEA,SAAO,eAAe;AAC1B;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/Toc/Toc.scss", "../../../../src/components/Toc/%3Cinput css 80DxaJ%3E", "../../../../src/styles/mixins.scss"],
3
+ "sources": ["../../../../src/components/Toc/Toc.scss", "../../../../src/components/Toc/%3Cinput css vL3btY%3E", "../../../../src/styles/mixins.scss"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n$iconSize: 18px;\n$toggleSize: 10px;\n$leftOffset: 57px;\n\n@mixin toc-header {\n @include mixins.text-size(body-2);\n font-weight: 500;\n}\n\n.dc-toc {\n $class: &;\n\n display: flex;\n flex-direction: column;\n height: calc(100vh - var(--dc-header-height, #{variables.$headerHeight}));\n overflow: hidden;\n border-right: 1px solid var(--g-color-line-generic);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 12px 16px 0px;\n\n border-right: none;\n overflow-y: auto;\n }\n\n &__empty {\n padding: 5px 15px 5px 24px;\n }\n\n &__top {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: flex-start;\n padding: 10px 10px 8px 0;\n margin-bottom: 12px;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 10px 12px 10px 28px;\n margin-bottom: 0;\n }\n\n &_scrolled {\n border-bottom: 1px solid var(--g-color-line-generic);\n }\n\n @mixin top-main-base {\n display: flex;\n align-items: flex-start;\n width: 100%;\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-3);\n gap: var(--g-spacing-2);\n }\n\n &_with-extra-header {\n flex-direction: column;\n margin-bottom: var(--g-spacing-1);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 0;\n }\n\n .dc-toc__top-main {\n @include top-main-base;\n\n &-link {\n @include top-main-base;\n cursor: pointer;\n\n @include mixins.reset-link-style();\n border-radius: 3px;\n\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n\n &_active {\n background: var(--g-color-base-selection);\n }\n }\n }\n .dc-toc__top-header-icon,\n .dc-toc-label_offset {\n margin: 0;\n flex-shrink: 0;\n }\n .dc-toc__top-header {\n display: inline-flex;\n flex-grow: 1;\n font-size: var(--g-text-body-1-font-size);\n font-weight: var(--g-text-body-font-weight);\n line-height: var(--g-text-body-1-line-height);\n }\n\n .dc-toc__content > .dc-toc__list {\n padding-left: var(--g-spacing-4);\n }\n }\n\n &-header-icon {\n display: flex;\n margin-right: 5px;\n flex-shrink: 0;\n\n [dir='rtl'] & {\n margin-left: 5px;\n }\n }\n\n &-header {\n flex-grow: 0;\n $headerClass: &;\n position: relative;\n font-weight: 500;\n\n @include mixins.text-size(body-3);\n\n &_link {\n @include mixins.reset-link-style();\n\n display: flex;\n align-items: center;\n border-radius: var(--g-focus-border-radius);\n\n @include mixins.link();\n\n &:hover {\n color: var(--g-color-text-primary);\n }\n\n @include mixins.focusable();\n }\n }\n }\n\n &__bottom {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n padding: 4px 10px 20px 0;\n\n &_scrolled {\n border-top: 1px solid var(--g-color-line-generic);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n border-top: 0;\n }\n }\n }\n\n &__content {\n --g-scrollbar-width: 6px;\n\n position: relative;\n flex-grow: 1;\n overflow-y: auto;\n scrollbar-width: thin;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n overflow-y: unset;\n }\n\n &_offset_top {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n padding-top: 12px;\n }\n }\n }\n\n &__list {\n @include mixins.reset-list-style();\n\n display: block;\n\n &-item {\n cursor: pointer;\n user-select: none;\n\n &_labeled {\n margin-top: 16px;\n }\n\n &_main > *:first-child {\n color: var(--g-color-text-primary);\n }\n\n &:not(&_opened) > #{$class}__list {\n display: none;\n }\n\n // recurcive padding\n &:not(&_labeled) > #{$class}__list {\n padding-left: 20px;\n\n [dir='rtl'] & {\n padding-right: 20px;\n }\n }\n }\n }\n\n &__content > &__list {\n padding-right: 21px;\n padding-bottom: 30px;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding-right: 0;\n }\n }\n\n &__content_with-extra-header > &__list {\n padding-right: 10px;\n\n @media (max-width: #{map.get(variables.$screenBreakpoints, 'md') - 1px}) {\n padding-right: 0;\n }\n }\n}\n", ".dc-toc {\n display: flex;\n flex-direction: column;\n height: calc(100vh - var(--dc-header-height, 0px));\n overflow: hidden;\n border-right: 1px solid var(--g-color-line-generic);\n}\n@media (max-width: 768px) {\n .dc-toc {\n padding: 12px 16px 0px;\n border-right: none;\n overflow-y: auto;\n }\n}\n.dc-toc__empty {\n padding: 5px 15px 5px 24px;\n}\n.dc-toc__top {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: flex-start;\n padding: 10px 10px 8px 0;\n margin-bottom: 12px;\n}\n@media (max-width: 768px) {\n .dc-toc__top {\n padding: 10px 12px 10px 28px;\n margin-bottom: 0;\n }\n}\n.dc-toc__top_scrolled {\n border-bottom: 1px solid var(--g-color-line-generic);\n}\n.dc-toc__top_with-extra-header {\n flex-direction: column;\n margin-bottom: var(--g-spacing-1);\n}\n@media (max-width: 768px) {\n .dc-toc__top_with-extra-header {\n padding: 0;\n }\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main {\n display: flex;\n align-items: flex-start;\n width: 100%;\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-3);\n gap: var(--g-spacing-2);\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main-link {\n display: flex;\n align-items: flex-start;\n width: 100%;\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-3);\n gap: var(--g-spacing-2);\n cursor: pointer;\n color: inherit;\n text-decoration: none;\n border-radius: 3px;\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main-link:hover {\n background: var(--g-color-base-simple-hover);\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main-link_active {\n background: var(--g-color-base-selection);\n}\n.dc-toc__top_with-extra-header .dc-toc__top-header-icon,\n.dc-toc__top_with-extra-header .dc-toc-label_offset {\n margin: 0;\n flex-shrink: 0;\n}\n.dc-toc__top_with-extra-header .dc-toc__top-header {\n display: inline-flex;\n flex-grow: 1;\n font-size: var(--g-text-body-1-font-size);\n font-weight: var(--g-text-body-font-weight);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-toc__top_with-extra-header .dc-toc__content > .dc-toc__list {\n padding-left: var(--g-spacing-4);\n}\n.dc-toc__top-header-icon {\n display: flex;\n margin-right: 5px;\n flex-shrink: 0;\n}\n[dir=rtl] .dc-toc__top-header-icon {\n margin-left: 5px;\n}\n.dc-toc__top-header {\n flex-grow: 0;\n position: relative;\n font-weight: 500;\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n.dc-toc__top-header_link {\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n border-radius: var(--g-focus-border-radius);\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n outline: none;\n}\n.utilityfocus .dc-toc__top-header_link:focus {\n outline: 2px solid #ffdb4d;\n}\n.dc-toc__top-header_link:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n}\n.dc-toc__top-header_link:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.dc-toc__top-header_link:hover, .dc-toc__top-header_link:active {\n color: var(--g-color-text-link-hover);\n}\n.dc-toc__top-header_link:hover {\n color: var(--g-color-text-primary);\n}\n.dc-toc__top-header_link:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: 0;\n}\n.dc-toc__top-header_link:focus:not(:focus-visible) {\n outline: 0;\n}\n.dc-toc__bottom {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n padding: 4px 10px 20px 0;\n}\n.dc-toc__bottom_scrolled {\n border-top: 1px solid var(--g-color-line-generic);\n}\n@media (max-width: 768px) {\n .dc-toc__bottom_scrolled {\n border-top: 0;\n }\n}\n.dc-toc__content {\n --g-scrollbar-width: 6px;\n position: relative;\n flex-grow: 1;\n overflow-y: auto;\n scrollbar-width: thin;\n}\n@media (max-width: 768px) {\n .dc-toc__content {\n overflow-y: unset;\n }\n}\n@media (min-width: 769px) {\n .dc-toc__content_offset_top {\n padding-top: 12px;\n }\n}\n.dc-toc__list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: block;\n}\n.dc-toc__list-item {\n cursor: pointer;\n user-select: none;\n}\n.dc-toc__list-item_labeled {\n margin-top: 16px;\n}\n.dc-toc__list-item_main > *:first-child {\n color: var(--g-color-text-primary);\n}\n.dc-toc__list-item:not(.dc-toc__list-item_opened) > .dc-toc__list {\n display: none;\n}\n.dc-toc__list-item:not(.dc-toc__list-item_labeled) > .dc-toc__list {\n padding-left: 20px;\n}\n[dir=rtl] .dc-toc__list-item:not(.dc-toc__list-item_labeled) > .dc-toc__list {\n padding-right: 20px;\n}\n.dc-toc__content > .dc-toc__list {\n padding-right: 21px;\n padding-bottom: 30px;\n}\n@media (max-width: 768px) {\n .dc-toc__content > .dc-toc__list {\n padding-right: 0;\n }\n}\n.dc-toc__content_with-extra-header > .dc-toc__list {\n padding-right: 10px;\n}\n@media (max-width: 768px) {\n .dc-toc__content_with-extra-header > .dc-toc__list {\n padding-right: 0;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RvYyIsInNvdXJjZXMiOlsiVG9jLnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBVEo7SUFVUTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7OztBQUdKO0VBQ0k7O0FBWUo7RUFDSTtFQUNBOztBQUVBO0VBSko7SUFLUTs7O0FBR0o7RUFoQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQWNJO0VBbkJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQWdCUTtFQ3BEaEI7RUFDQTtFRHNEZ0I7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUlaO0FBQUE7RUFFSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUVBO0VBQ0E7RUNsSFI7RUFDQTs7QURxSFE7RUN0R1I7RUFDQTtFRHdHWTtFQUNBO0VBQ0E7RUN4RVo7RUFDQTtFQUNBO0VBQ0E7RUFqQ0E7O0FBRUE7RUFDSTs7QUFnQkE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBZVI7RUFFSTs7QURpRVE7RUFDSTs7QUNsR1o7RUFDSTtFQUNBLGdCQUpjOztBQU1sQjtFQUNJOztBRHFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUhKO0lBSVE7OztBQUtaO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVJKO0lBU1E7OztBQUlBO0VBREo7SUFFUTs7O0FBS1o7RUN0S0E7RUFDQTtFQUNBO0VEdUtJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJSjtFQUNJOztBQUVBO0VBQ0k7O0FBTWhCO0VBQ0k7RUFDQTs7QUFFQTtFQUpKO0lBS1E7OztBQUlSO0VBQ0k7O0FBRUE7RUFISjtJQUlRIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5AdXNlICcuLi8uLi9zdHlsZXMvbWl4aW5zJztcblxuJGljb25TaXplOiAxOHB4O1xuJHRvZ2dsZVNpemU6IDEwcHg7XG4kbGVmdE9mZnNldDogNTdweDtcblxuQG1peGluIHRvYy1oZWFkZXIge1xuICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGMtdG9jIHtcbiAgICAkY2xhc3M6ICY7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHggMHB4O1xuXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAmX19lbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNHB4O1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggOHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHggMTBweCAyOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfc2Nyb2xsZWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtaXhpbiB0b3AtbWFpbi1iYXNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWctc3BhY2luZy0yKSB2YXIoLS1nLXNwYWNpbmctMyk7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWctc3BhY2luZy0yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfd2l0aC1leHRyYS1oZWFkZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWctc3BhY2luZy0xKTtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRjLXRvY19fdG9wLW1haW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1tYWluLWJhc2U7XG5cbiAgICAgICAgICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0b3AtbWFpbi1iYXNlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnJlc2V0LWxpbmstc3R5bGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLXNpbXBsZS1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX2FjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2Utc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kYy10b2NfX3RvcC1oZWFkZXItaWNvbixcbiAgICAgICAgICAgIC5kYy10b2MtbGFiZWxfb2Zmc2V0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGMtdG9jX190b3AtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYy10b2NfX2NvbnRlbnQgPiAuZGMtdG9jX19saXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWctc3BhY2luZy00KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGVyLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAkaGVhZGVyQ2xhc3M6ICY7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGJvZHktMyk7XG5cbiAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnJlc2V0LWxpbmstc3R5bGUoKTtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmxpbmsoKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5mb2N1c2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMHB4IDIwcHggMDtcblxuICAgICAgICAmX3Njcm9sbGVkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgLS1nLXNjcm9sbGJhci13aWR0aDogNnB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfb2Zmc2V0X3RvcCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5yZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICAmX2xhYmVsZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfbWFpbiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KCZfb3BlbmVkKSA+ICN7JGNsYXNzfV9fbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcmVjdXJjaXZlIHBhZGRpbmdcbiAgICAgICAgICAgICY6bm90KCZfbGFiZWxlZCkgPiAjeyRjbGFzc31fX2xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQgPiAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudF93aXRoLWV4dHJhLWhlYWRlciA+ICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAje21hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxcHh9KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,5 +1,5 @@
1
+ import type { Router, TocData } from '../../models';
1
2
  import React from 'react';
2
- import { Router, TocData } from '../../models';
3
3
  import { TocItemRegistry } from './TocItemRegistry';
4
4
  import './Toc.scss';
5
5
  export interface TocProps extends TocData {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/Toc/Toc.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport {getUniqId} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport omit from 'lodash/omit';\n\nimport {PopperPosition} from '../../hooks';\nimport {ControlSizes, Router, TocData, TocItem} from '../../models';\nimport {isActiveItem, normalizeHash, normalizePath} from '../../utils';\nimport {Controls, ControlsLayout} from '../Controls';\nimport {HTML} from '../HTML';\nimport {TocItem as Item} from '../TocItem';\nimport TocLabel from '../TocLable/TocLabel';\n\nimport {TocItemRegistry} from './TocItemRegistry';\nimport './Toc.scss';\n\nconst b = block('dc-toc');\n\nfunction zip<T>(array: string[], fill: T): Record<string, T> {\n return array.reduce((acc, item) => Object.assign(acc, {[item]: fill}), {});\n}\n\nexport interface TocProps extends TocData {\n router: Router;\n headerHeight?: number;\n tocTitleIcon?: React.ReactNode;\n hideTocHeader?: boolean;\n singlePage?: boolean;\n onChangeSinglePage?: (value: boolean) => void;\n pdfLink?: string;\n}\n\ninterface TocState {\n activeId: string | null | undefined;\n fixedById: Record<string, 'opened' | 'closed'>;\n contentScrolled: boolean;\n registry: TocItemRegistry;\n}\n\nclass Toc extends React.Component<TocProps, TocState> {\n contentRef = React.createRef<HTMLDivElement>();\n rootRef = React.createRef<HTMLDivElement>();\n activeRef = React.createRef<HTMLButtonElement>();\n\n containerEl: HTMLElement | null = null;\n footerEl: HTMLElement | null = null;\n tocTopId: string;\n\n constructor(props: TocProps) {\n super(props);\n\n this.state = this.computeState(this.getInitialState());\n this.tocTopId = getUniqId();\n }\n\n getInitialState() {\n return {\n registry: new TocItemRegistry(this.props.items || [], this.normalizeUrl),\n fixedById: {},\n activeId: null,\n contentScrolled: false,\n };\n }\n\n componentDidMount() {\n this.containerEl = document.querySelector('.Layout__content');\n this.footerEl = document.querySelector('.Footer');\n\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.addEventListener('scroll', this.handleContentScroll);\n }\n\n this.scrollToActiveItem();\n }\n\n componentDidUpdate(prevProps: TocProps, prevState: TocState) {\n const {router, singlePage, items} = this.props;\n\n let nextState;\n\n if (prevProps.items !== items) {\n nextState = this.getInitialState();\n }\n\n if (\n prevProps.router.pathname !== router.pathname ||\n prevProps.router.hash !== router.hash ||\n prevProps.singlePage !== singlePage\n ) {\n nextState = this.computeState(nextState || prevState);\n } else if (prevState.activeId !== this.state.activeId) {\n this.scrollToActiveItem();\n }\n\n if (nextState) {\n this.setState(nextState);\n }\n }\n\n componentWillUnmount() {\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.removeEventListener('scroll', this.handleContentScroll);\n }\n }\n\n render() {\n const {items, hideTocHeader, extraHeader} = this.props;\n const content = items ? this.renderList(items) : this.renderEmpty('');\n\n return (\n <nav className={b()} ref={this.rootRef}>\n {this.renderTop()}\n <div\n className={b('content', {\n offset_top: hideTocHeader,\n 'with-extra-header': Boolean(extraHeader),\n })}\n ref={this.contentRef}\n >\n {content}\n </div>\n {this.renderBottom()}\n </nav>\n );\n }\n\n computeState(prevState: TocState) {\n const {router} = this.props;\n const {pathname, hash} = router;\n\n const activeUrl = this.normalizeUrl(pathname, hash);\n const activeId = activeUrl && prevState.registry.getIdByUrl(activeUrl as string);\n\n let fixedById = prevState.fixedById;\n\n if (activeId && prevState.activeId && activeId !== prevState.activeId) {\n const expandedIds = [activeId].concat(prevState.registry.getParentIds(activeId));\n const dropClosedSign = expandedIds.filter((id) => prevState.fixedById[id] === 'closed');\n\n if (dropClosedSign.length) {\n fixedById = omit(fixedById, dropClosedSign);\n }\n }\n\n return {...prevState, activeId, fixedById};\n }\n\n private normalizeUrl = (path: string, hash: string | undefined) => {\n const {singlePage} = this.props;\n\n return singlePage ? normalizeHash(hash) : normalizePath(path);\n };\n\n private renderList = (items: TocItem[]) => {\n const {toggleItem} = this;\n const {singlePage} = this.props;\n const {activeId, fixedById} = this.state;\n\n const activeItem = activeId && this.state.registry.getItemById(activeId);\n const activeScope: Record<string, boolean> = activeItem\n ? zip([activeId].concat(this.state.registry.getParentIds(activeId)), true)\n : {};\n\n return (\n <ul className={b('list')} aria-labelledby={this.tocTopId}>\n {items.map((item, index) => {\n const main = !this.state.registry.getParentId(item.id);\n const active =\n (singlePage && !activeId && index === 0 && main) || item.id === activeId;\n const opened = fixedById[item.id] === 'opened';\n const closed = fixedById[item.id] === 'closed';\n const hasItems = Boolean(item.items && item.items.length > 0);\n const expandable = hasItems && !item.labeled;\n const expanded =\n (expandable &&\n !closed &&\n (item.expanded || activeScope[item.id] || opened)) ||\n (hasItems && Boolean(item.labeled));\n\n const ref = active ? {ref: this.activeRef} : {};\n\n return (\n <li\n key={item.id}\n id={item.id}\n className={b('list-item', {\n main,\n active,\n opened: expanded,\n labeled: item.labeled,\n })}\n >\n <Item\n {...{\n ...item,\n ...ref,\n active,\n expanded,\n expandable,\n toggleItem,\n }}\n />\n {expanded && this.renderList(item.items as TocItem[])}\n </li>\n );\n })}\n </ul>\n );\n };\n\n private renderEmpty(text: string) {\n return <div className={b('empty')}>{text}</div>;\n }\n\n private renderTopMainContent() {\n const {tocTitleIcon, title, label} = this.props;\n const topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n\n return (\n <>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </>\n );\n }\n\n private renderTopWithExtra() {\n const {router, href, singlePage, extraHeader} = this.props;\n const {contentScrolled} = this.state;\n\n const isActive = href ? isActiveItem(router, href, singlePage) : false;\n const TopMainComponent = href ? 'a' : 'div';\n const topMainProps = href\n ? {href, className: b('top-main-link', {active: isActive}), 'data-router-shallow': true}\n : {className: b('top-main')};\n\n return (\n <div\n className={b('top', {scrolled: contentScrolled, 'with-extra-header': true})}\n id={this.tocTopId}\n >\n {extraHeader}\n <TopMainComponent {...topMainProps}>{this.renderTopMainContent()}</TopMainComponent>\n </div>\n );\n }\n\n private renderTopDefault() {\n const {router, title, href, tocTitleIcon, singlePage, label} = this.props;\n const {contentScrolled} = this.state;\n\n let topHeader;\n if (href) {\n const active = isActiveItem(router, href, singlePage);\n topHeader = (\n <a\n href={href}\n className={b('top-header', {active, link: true})}\n data-router-shallow\n >\n <HTML>{title}</HTML>\n </a>\n );\n } else {\n topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n }\n\n return (\n <div className={b('top', {scrolled: contentScrolled})} id={this.tocTopId}>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </div>\n );\n }\n\n private renderTop() {\n const {hideTocHeader, extraHeader} = this.props;\n\n if (hideTocHeader) {\n return null;\n }\n\n return extraHeader ? this.renderTopWithExtra() : this.renderTopDefault();\n }\n\n private renderBottom() {\n const {singlePage, onChangeSinglePage, pdfLink} = this.props;\n const {contentScrolled} = this.state;\n\n return (\n <div className={b('bottom', {scrolled: contentScrolled})}>\n <ControlsLayout\n controlSize={ControlSizes.L}\n popupPosition={PopperPosition.TOP_START}\n >\n <Controls\n singlePage={singlePage}\n onChangeSinglePage={onChangeSinglePage}\n pdfLink={pdfLink}\n />\n </ControlsLayout>\n </div>\n );\n }\n\n private scrollToItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n const itemElement = this.activeRef.current;\n const itemHeight = itemElement.offsetHeight ?? 0;\n const itemOffset = itemElement.offsetTop;\n const scrollableParent = itemElement.offsetParent as HTMLDivElement | null;\n\n if (!scrollableParent) {\n return;\n }\n\n const scrollableHeight = scrollableParent.offsetHeight;\n const scrollableOffset = scrollableParent.scrollTop;\n\n const itemVisible =\n itemOffset >= scrollableOffset &&\n itemOffset <= scrollableOffset + scrollableHeight - itemHeight;\n\n if (!itemVisible) {\n scrollableParent.scrollTop = itemOffset - Math.floor(scrollableHeight / 2) + itemHeight;\n }\n };\n\n private scrollToActiveItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n this.scrollToItem();\n };\n\n private handleContentScroll = () => {\n const contentNode = this.contentRef.current;\n const contentScrolled = contentNode ? contentNode.scrollTop > 0 : false;\n if (contentScrolled !== this.state.contentScrolled) {\n this.setState({contentScrolled});\n }\n };\n\n private openItem = (id: string) => {\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...prevState.fixedById,\n [id]: 'opened',\n },\n }));\n };\n\n private closeItem = (id: string) => {\n const ids = this.state.registry.getChildIds(id);\n\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...omit(prevState.fixedById, ids),\n [id]: 'closed',\n },\n }));\n };\n\n private toggleItem = (id: string, opened: boolean) => {\n if (opened) {\n this.closeItem(id);\n } else {\n this.openItem(id);\n }\n };\n}\n\nexport default Toc;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {Router, TocData, TocItem} from '../../models';\n\nimport React from 'react';\nimport {getUniqId} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport omit from 'lodash/omit';\n\nimport {PopperPosition} from '../../hooks';\nimport {ControlSizes} from '../../models';\nimport {isActiveItem, normalizeHash, normalizePath} from '../../utils';\nimport {Controls, ControlsLayout} from '../Controls';\nimport {HTML} from '../HTML';\nimport {TocItem as Item} from '../TocItem';\nimport TocLabel from '../TocLable/TocLabel';\n\nimport {TocItemRegistry} from './TocItemRegistry';\nimport './Toc.scss';\n\nconst b = block('dc-toc');\n\nfunction zip<T>(array: string[], fill: T): Record<string, T> {\n return array.reduce((acc, item) => Object.assign(acc, {[item]: fill}), {});\n}\n\nexport interface TocProps extends TocData {\n router: Router;\n headerHeight?: number;\n tocTitleIcon?: React.ReactNode;\n hideTocHeader?: boolean;\n singlePage?: boolean;\n onChangeSinglePage?: (value: boolean) => void;\n pdfLink?: string;\n}\n\ninterface TocState {\n activeId: string | null | undefined;\n fixedById: Record<string, 'opened' | 'closed'>;\n contentScrolled: boolean;\n registry: TocItemRegistry;\n}\n\nclass Toc extends React.Component<TocProps, TocState> {\n contentRef = React.createRef<HTMLDivElement>();\n rootRef = React.createRef<HTMLDivElement>();\n activeRef = React.createRef<HTMLButtonElement>();\n\n containerEl: HTMLElement | null = null;\n footerEl: HTMLElement | null = null;\n tocTopId: string;\n\n constructor(props: TocProps) {\n super(props);\n\n this.state = this.computeState(this.getInitialState());\n this.tocTopId = getUniqId();\n }\n\n getInitialState() {\n return {\n registry: new TocItemRegistry(this.props.items || [], this.normalizeUrl),\n fixedById: {},\n activeId: null,\n contentScrolled: false,\n };\n }\n\n componentDidMount() {\n this.containerEl = document.querySelector('.Layout__content');\n this.footerEl = document.querySelector('.Footer');\n\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.addEventListener('scroll', this.handleContentScroll);\n }\n\n this.scrollToActiveItem();\n }\n\n componentDidUpdate(prevProps: TocProps, prevState: TocState) {\n const {router, singlePage, items} = this.props;\n\n let nextState;\n\n if (prevProps.items !== items) {\n nextState = this.getInitialState();\n }\n\n if (\n prevProps.router.pathname !== router.pathname ||\n prevProps.router.hash !== router.hash ||\n prevProps.singlePage !== singlePage\n ) {\n nextState = this.computeState(nextState || prevState);\n } else if (prevState.activeId !== this.state.activeId) {\n this.scrollToActiveItem();\n }\n\n if (nextState) {\n this.setState(nextState);\n }\n }\n\n componentWillUnmount() {\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.removeEventListener('scroll', this.handleContentScroll);\n }\n }\n\n render() {\n const {items, hideTocHeader, extraHeader} = this.props;\n const content = items ? this.renderList(items) : this.renderEmpty('');\n\n return (\n <nav className={b()} ref={this.rootRef}>\n {this.renderTop()}\n <div\n className={b('content', {\n offset_top: hideTocHeader,\n 'with-extra-header': Boolean(extraHeader),\n })}\n ref={this.contentRef}\n >\n {content}\n </div>\n {this.renderBottom()}\n </nav>\n );\n }\n\n computeState(prevState: TocState) {\n const {router} = this.props;\n const {pathname, hash} = router;\n\n const activeUrl = this.normalizeUrl(pathname, hash);\n const activeId = activeUrl && prevState.registry.getIdByUrl(activeUrl as string);\n\n let fixedById = prevState.fixedById;\n\n if (activeId && prevState.activeId && activeId !== prevState.activeId) {\n const expandedIds = [activeId].concat(prevState.registry.getParentIds(activeId));\n const dropClosedSign = expandedIds.filter((id) => prevState.fixedById[id] === 'closed');\n\n if (dropClosedSign.length) {\n fixedById = omit(fixedById, dropClosedSign);\n }\n }\n\n return {...prevState, activeId, fixedById};\n }\n\n private normalizeUrl = (path: string, hash: string | undefined) => {\n const {singlePage} = this.props;\n\n return singlePage ? normalizeHash(hash) : normalizePath(path);\n };\n\n private renderList = (items: TocItem[]) => {\n const {toggleItem} = this;\n const {singlePage} = this.props;\n const {activeId, fixedById} = this.state;\n\n const activeItem = activeId && this.state.registry.getItemById(activeId);\n const activeScope: Record<string, boolean> = activeItem\n ? zip([activeId].concat(this.state.registry.getParentIds(activeId)), true)\n : {};\n\n return (\n <ul className={b('list')} aria-labelledby={this.tocTopId}>\n {items.map((item, index) => {\n const main = !this.state.registry.getParentId(item.id);\n const active =\n (singlePage && !activeId && index === 0 && main) || item.id === activeId;\n const opened = fixedById[item.id] === 'opened';\n const closed = fixedById[item.id] === 'closed';\n const hasItems = Boolean(item.items && item.items.length > 0);\n const expandable = hasItems && !item.labeled;\n const expanded =\n (expandable &&\n !closed &&\n (item.expanded || activeScope[item.id] || opened)) ||\n (hasItems && Boolean(item.labeled));\n\n const ref = active ? {ref: this.activeRef} : {};\n\n return (\n <li\n key={item.id}\n id={item.id}\n className={b('list-item', {\n main,\n active,\n opened: expanded,\n labeled: item.labeled,\n })}\n >\n <Item\n {...{\n ...item,\n ...ref,\n active,\n expanded,\n expandable,\n toggleItem,\n }}\n />\n {expanded && this.renderList(item.items as TocItem[])}\n </li>\n );\n })}\n </ul>\n );\n };\n\n private renderEmpty(text: string) {\n return <div className={b('empty')}>{text}</div>;\n }\n\n private renderTopMainContent() {\n const {tocTitleIcon, title, label} = this.props;\n const topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n\n return (\n <>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </>\n );\n }\n\n private renderTopWithExtra() {\n const {router, href, singlePage, extraHeader} = this.props;\n const {contentScrolled} = this.state;\n\n const isActive = href ? isActiveItem(router, href, singlePage) : false;\n const TopMainComponent = href ? 'a' : 'div';\n const topMainProps = href\n ? {href, className: b('top-main-link', {active: isActive}), 'data-router-shallow': true}\n : {className: b('top-main')};\n\n return (\n <div\n className={b('top', {scrolled: contentScrolled, 'with-extra-header': true})}\n id={this.tocTopId}\n >\n {extraHeader}\n <TopMainComponent {...topMainProps}>{this.renderTopMainContent()}</TopMainComponent>\n </div>\n );\n }\n\n private renderTopDefault() {\n const {router, title, href, tocTitleIcon, singlePage, label} = this.props;\n const {contentScrolled} = this.state;\n\n let topHeader;\n if (href) {\n const active = isActiveItem(router, href, singlePage);\n topHeader = (\n <a\n href={href}\n className={b('top-header', {active, link: true})}\n data-router-shallow\n >\n <HTML>{title}</HTML>\n </a>\n );\n } else {\n topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n }\n\n return (\n <div className={b('top', {scrolled: contentScrolled})} id={this.tocTopId}>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </div>\n );\n }\n\n private renderTop() {\n const {hideTocHeader, extraHeader} = this.props;\n\n if (hideTocHeader) {\n return null;\n }\n\n return extraHeader ? this.renderTopWithExtra() : this.renderTopDefault();\n }\n\n private renderBottom() {\n const {singlePage, onChangeSinglePage, pdfLink} = this.props;\n const {contentScrolled} = this.state;\n\n return (\n <div className={b('bottom', {scrolled: contentScrolled})}>\n <ControlsLayout\n controlSize={ControlSizes.L}\n popupPosition={PopperPosition.TOP_START}\n >\n <Controls\n singlePage={singlePage}\n onChangeSinglePage={onChangeSinglePage}\n pdfLink={pdfLink}\n />\n </ControlsLayout>\n </div>\n );\n }\n\n private scrollToItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n const itemElement = this.activeRef.current;\n const itemHeight = itemElement.offsetHeight ?? 0;\n const itemOffset = itemElement.offsetTop;\n const scrollableParent = itemElement.offsetParent as HTMLDivElement | null;\n\n if (!scrollableParent) {\n return;\n }\n\n const scrollableHeight = scrollableParent.offsetHeight;\n const scrollableOffset = scrollableParent.scrollTop;\n\n const itemVisible =\n itemOffset >= scrollableOffset &&\n itemOffset <= scrollableOffset + scrollableHeight - itemHeight;\n\n if (!itemVisible) {\n scrollableParent.scrollTop = itemOffset - Math.floor(scrollableHeight / 2) + itemHeight;\n }\n };\n\n private scrollToActiveItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n this.scrollToItem();\n };\n\n private handleContentScroll = () => {\n const contentNode = this.contentRef.current;\n const contentScrolled = contentNode ? contentNode.scrollTop > 0 : false;\n if (contentScrolled !== this.state.contentScrolled) {\n this.setState({contentScrolled});\n }\n };\n\n private openItem = (id: string) => {\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...prevState.fixedById,\n [id]: 'opened',\n },\n }));\n };\n\n private closeItem = (id: string) => {\n const ids = this.state.registry.getChildIds(id);\n\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...omit(prevState.fixedById, ids),\n [id]: 'closed',\n },\n }));\n };\n\n private toggleItem = (id: string, opened: boolean) => {\n if (opened) {\n this.closeItem(id);\n } else {\n this.openItem(id);\n }\n };\n}\n\nexport default Toc;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { TocItem } from '../../models';
1
+ import type { TocItem } from '../../models';
2
2
  type NormalizeUrl = (path: string, hash: string | undefined) => string | null | undefined;
3
3
  export declare class TocItemRegistry {
4
4
  private itemById;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/Toc/TocItemRegistry.ts"],
4
- "sourcesContent": ["import {TocItem} from '../../models';\n\ntype NormalizeUrl = (path: string, hash: string | undefined) => string | null | undefined;\n\nexport class TocItemRegistry {\n private itemById: Map<string, TocItem> = new Map();\n\n private parentById: Map<string, string> = new Map();\n\n private itemIdByUrl: Map<string, string> = new Map();\n\n private normalizeUrl: NormalizeUrl;\n\n constructor(items: TocItem[], normalizeUrl: NormalizeUrl) {\n this.normalizeUrl = normalizeUrl;\n\n this.consumeItems(items);\n }\n\n getIdByUrl(url: string): string | undefined {\n return this.itemIdByUrl.get(url);\n }\n\n getItemById(id: string): TocItem | undefined {\n return this.itemById.get(id);\n }\n\n getParentId(id: string): string {\n return this.parentById.get(id) || '';\n }\n\n getParentIds(id: string): string[] {\n const result = [];\n\n let parentId = this.getParentId(id);\n while (parentId) {\n result.push(parentId);\n parentId = this.getParentId(parentId);\n }\n\n return result;\n }\n\n getChildIds(id: string): string[] {\n const item = this.itemById.get(id);\n\n if (!item) {\n return [];\n }\n\n return (item.items || ([] as TocItem[])).reduce((acc, child) => {\n return acc.concat([child.id], this.getChildIds(child.id));\n }, [] as string[]);\n }\n\n private consumeItems(items: TocItem[], parent?: TocItem) {\n items.forEach((item) => {\n this.itemById.set(item.id, item);\n\n if (item.href) {\n const [pathname, hash] = item.href.split('#');\n const url = this.normalizeUrl(pathname, hash);\n\n if (url) {\n this.itemIdByUrl.set(url, item.id);\n }\n }\n\n if (parent) {\n this.parentById.set(item.id, parent.id);\n }\n\n if (item.items) {\n this.consumeItems(item.items, item);\n }\n });\n }\n}\n"],
4
+ "sourcesContent": ["import type {TocItem} from '../../models';\n\ntype NormalizeUrl = (path: string, hash: string | undefined) => string | null | undefined;\n\nexport class TocItemRegistry {\n private itemById: Map<string, TocItem> = new Map();\n\n private parentById: Map<string, string> = new Map();\n\n private itemIdByUrl: Map<string, string> = new Map();\n\n private normalizeUrl: NormalizeUrl;\n\n constructor(items: TocItem[], normalizeUrl: NormalizeUrl) {\n this.normalizeUrl = normalizeUrl;\n\n this.consumeItems(items);\n }\n\n getIdByUrl(url: string): string | undefined {\n return this.itemIdByUrl.get(url);\n }\n\n getItemById(id: string): TocItem | undefined {\n return this.itemById.get(id);\n }\n\n getParentId(id: string): string {\n return this.parentById.get(id) || '';\n }\n\n getParentIds(id: string): string[] {\n const result = [];\n\n let parentId = this.getParentId(id);\n while (parentId) {\n result.push(parentId);\n parentId = this.getParentId(parentId);\n }\n\n return result;\n }\n\n getChildIds(id: string): string[] {\n const item = this.itemById.get(id);\n\n if (!item) {\n return [];\n }\n\n return (item.items || ([] as TocItem[])).reduce((acc, child) => {\n return acc.concat([child.id], this.getChildIds(child.id));\n }, [] as string[]);\n }\n\n private consumeItems(items: TocItem[], parent?: TocItem) {\n items.forEach((item) => {\n this.itemById.set(item.id, item);\n\n if (item.href) {\n const [pathname, hash] = item.href.split('#');\n const url = this.normalizeUrl(pathname, hash);\n\n if (url) {\n this.itemIdByUrl.set(url, item.id);\n }\n }\n\n if (parent) {\n this.parentById.set(item.id, parent.id);\n }\n\n if (item.items) {\n this.consumeItems(item.items, item);\n }\n });\n }\n}\n"],
5
5
  "mappings": ";;;;;AAIO,IAAM,kBAAN,MAAsB;AAAA,EASzB,YAAY,OAAkB,cAA4B;AAR1D,wBAAQ,YAAiC,oBAAI,IAAI;AAEjD,wBAAQ,cAAkC,oBAAI,IAAI;AAElD,wBAAQ,eAAmC,oBAAI,IAAI;AAEnD,wBAAQ;AAGJ,SAAK,eAAe;AAEpB,SAAK,aAAa,KAAK;AAAA,EAC3B;AAAA,EAEA,WAAW,KAAiC;AACxC,WAAO,KAAK,YAAY,IAAI,GAAG;AAAA,EACnC;AAAA,EAEA,YAAY,IAAiC;AACzC,WAAO,KAAK,SAAS,IAAI,EAAE;AAAA,EAC/B;AAAA,EAEA,YAAY,IAAoB;AAC5B,WAAO,KAAK,WAAW,IAAI,EAAE,KAAK;AAAA,EACtC;AAAA,EAEA,aAAa,IAAsB;AAC/B,UAAM,SAAS,CAAC;AAEhB,QAAI,WAAW,KAAK,YAAY,EAAE;AAClC,WAAO,UAAU;AACb,aAAO,KAAK,QAAQ;AACpB,iBAAW,KAAK,YAAY,QAAQ;AAAA,IACxC;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,YAAY,IAAsB;AAC9B,UAAM,OAAO,KAAK,SAAS,IAAI,EAAE;AAEjC,QAAI,CAAC,MAAM;AACP,aAAO,CAAC;AAAA,IACZ;AAEA,YAAQ,KAAK,SAAU,CAAC,GAAiB,OAAO,CAAC,KAAK,UAAU;AAC5D,aAAO,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,YAAY,MAAM,EAAE,CAAC;AAAA,IAC5D,GAAG,CAAC,CAAa;AAAA,EACrB;AAAA,EAEQ,aAAa,OAAkB,QAAkB;AACrD,UAAM,QAAQ,CAAC,SAAS;AACpB,WAAK,SAAS,IAAI,KAAK,IAAI,IAAI;AAE/B,UAAI,KAAK,MAAM;AACX,cAAM,CAAC,UAAU,IAAI,IAAI,KAAK,KAAK,MAAM,GAAG;AAC5C,cAAM,MAAM,KAAK,aAAa,UAAU,IAAI;AAE5C,YAAI,KAAK;AACL,eAAK,YAAY,IAAI,KAAK,KAAK,EAAE;AAAA,QACrC;AAAA,MACJ;AAEA,UAAI,QAAQ;AACR,aAAK,WAAW,IAAI,KAAK,IAAI,OAAO,EAAE;AAAA,MAC1C;AAEA,UAAI,KAAK,OAAO;AACZ,aAAK,aAAa,KAAK,OAAO,IAAI;AAAA,MACtC;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/TocItem/TocItem.scss", "../../../../src/components/TocItem/%3Cinput css zZnfx2%3E", "../../../../src/styles/mixins.scss"],
3
+ "sources": ["../../../../src/components/TocItem/TocItem.scss", "../../../../src/components/TocItem/%3Cinput css JsiBfL%3E", "../../../../src/styles/mixins.scss"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n$visibleStartPadding: 12px;\n\n.dc-toc-item {\n cursor: pointer;\n user-select: none;\n\n &__link {\n --g-focus-border-radius: 4px;\n\n display: block;\n text-decoration: none;\n border-radius: var(--g-focus-border-radius);\n\n @include mixins.focusable(-2px); // -2px, as outline on focues goes out of toc's borders\n }\n\n &__wrapper {\n display: flex;\n align-items: center;\n\n padding: 7px 0px 5px;\n }\n\n &__text-block {\n display: block;\n\n position: relative;\n padding: 7px 12px 7px 20px;\n width: 100%;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 10px 12px 10px (28px + $visibleStartPadding);\n\n [dir='rtl'] & {\n padding: 10px (28px + $visibleStartPadding) 10px 12px;\n }\n }\n\n [dir='rtl'] & {\n padding: 7px 20px 7px 12px;\n }\n }\n\n &__text {\n --g-focus-border-radius: 4px;\n\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n\n box-sizing: border-box;\n word-break: break-word;\n background-color: transparent;\n border: 0;\n text-align: initial;\n border-radius: var(--g-focus-border-radius);\n\n color: var(--g-color-text-primary);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include mixins.text-size(body-2);\n }\n\n &_active {\n border-radius: 3px;\n background: var(--g-color-base-selection);\n }\n\n &_labeled {\n font-weight: 500;\n text-transform: uppercase;\n\n @include mixins.text-size(body-1);\n }\n\n &_deprecated {\n span {\n width: 90%;\n display: block;\n }\n\n svg {\n position: absolute;\n top: 50%;\n right: 6px;\n transform: translateY(-50%);\n opacity: 0.6;\n }\n }\n\n &_clicable {\n cursor: pointer;\n\n &:hover {\n border-radius: 3px;\n background: var(--g-color-base-simple-hover);\n }\n }\n\n @include mixins.focusable(-2px); // -2px, as outline on focues goes out of toc's borders\n }\n\n &__icon {\n position: absolute;\n left: 0;\n\n [dir='rtl'] & {\n right: 0;\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n left: $visibleStartPadding;\n\n [dir='rtl'] & {\n right: $visibleStartPadding;\n }\n }\n }\n\n &__arrow {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n margin-right: 20px;\n\n [dir='rtl'] & {\n margin-left: 20px;\n }\n }\n\n &:hover:before {\n background: none;\n }\n }\n}\n", ".dc-toc-item {\n cursor: pointer;\n user-select: none;\n}\n.dc-toc-item__link {\n --g-focus-border-radius: 4px;\n display: block;\n text-decoration: none;\n border-radius: var(--g-focus-border-radius);\n}\n.dc-toc-item__link:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: -2px;\n}\n.dc-toc-item__link:focus:not(:focus-visible) {\n outline: 0;\n}\n.dc-toc-item__wrapper {\n display: flex;\n align-items: center;\n padding: 7px 0px 5px;\n}\n.dc-toc-item__text-block {\n display: block;\n position: relative;\n padding: 7px 12px 7px 20px;\n width: 100%;\n}\n@media (max-width: 768px) {\n .dc-toc-item__text-block {\n padding: 10px 12px 10px 40px;\n }\n [dir=rtl] .dc-toc-item__text-block {\n padding: 10px 40px 10px 12px;\n }\n}\n[dir=rtl] .dc-toc-item__text-block {\n padding: 7px 20px 7px 12px;\n}\n.dc-toc-item__text {\n --g-focus-border-radius: 4px;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n box-sizing: border-box;\n word-break: break-word;\n background-color: transparent;\n border: 0;\n text-align: initial;\n border-radius: var(--g-focus-border-radius);\n color: var(--g-color-text-primary);\n}\n@media (max-width: 768px) {\n .dc-toc-item__text {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n }\n}\n.dc-toc-item__text_active {\n border-radius: 3px;\n background: var(--g-color-base-selection);\n}\n.dc-toc-item__text_labeled {\n font-weight: 500;\n text-transform: uppercase;\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-toc-item__text_deprecated span {\n width: 90%;\n display: block;\n}\n.dc-toc-item__text_deprecated svg {\n position: absolute;\n top: 50%;\n right: 6px;\n transform: translateY(-50%);\n opacity: 0.6;\n}\n.dc-toc-item__text_clicable {\n cursor: pointer;\n}\n.dc-toc-item__text_clicable:hover {\n border-radius: 3px;\n background: var(--g-color-base-simple-hover);\n}\n.dc-toc-item__text:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: -2px;\n}\n.dc-toc-item__text:focus:not(:focus-visible) {\n outline: 0;\n}\n.dc-toc-item__icon {\n position: absolute;\n left: 0;\n}\n[dir=rtl] .dc-toc-item__icon {\n right: 0;\n}\n@media (max-width: 768px) {\n .dc-toc-item__icon {\n left: 12px;\n }\n [dir=rtl] .dc-toc-item__icon {\n right: 12px;\n }\n}\n@media (max-width: 768px) {\n .dc-toc-item__arrow {\n margin-right: 20px;\n }\n [dir=rtl] .dc-toc-item__arrow {\n margin-left: 20px;\n }\n}\n.dc-toc-item__arrow:hover:before {\n background: none;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RvY0l0ZW0iLCJzb3VyY2VzIjpbIlRvY0l0ZW0uc2NzcyIsIi4uLy4uL3N0eWxlcy9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUVBO0VBQ0E7RUFDQTs7QUNtQkE7RUFDSTtFQUNBLGdCRG5Cc0I7O0FDcUIxQjtFQUNJOztBRG5CUjtFQUNJO0VBQ0E7RUFFQTs7QUFHSjtFQUNJO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBUEo7SUFRUTs7RUFFQTtJQUNJOzs7QUFJUjtFQUNJOztBQUlSO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQWhCSjtJQzNDQTtJQUNBOzs7QUQ4REk7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQ3RFUjtFQUNBOztBRDJFUTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQ2pFUjtFQUNJO0VBQ0EsZ0JEbUVzQjs7QUNqRTFCO0VBQ0k7O0FEbUVSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBUko7SUFTUSxNQS9HVTs7RUFpSFY7SUFDSSxPQWxITTs7O0FBd0hkO0VBREo7SUFFUTs7RUFFQTtJQUNJOzs7QUFJUjtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5AdXNlICcuLi8uLi9zdHlsZXMvbWl4aW5zJztcblxuJHZpc2libGVTdGFydFBhZGRpbmc6IDEycHg7XG5cbi5kYy10b2MtaXRlbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJl9fbGluayB7XG4gICAgICAgIC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZm9jdXNhYmxlKC0ycHgpOyAvLyAtMnB4LCBhcyBvdXRsaW5lIG9uIGZvY3VlcyBnb2VzIG91dCBvZiB0b2MncyBib3JkZXJzXG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgcGFkZGluZzogN3B4IDBweCA1cHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogN3B4IDEycHggN3B4IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMnB4IDEwcHggKDI4cHggKyAkdmlzaWJsZVN0YXJ0UGFkZGluZyk7XG5cbiAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggKDI4cHggKyAkdmlzaWJsZVN0YXJ0UGFkZGluZykgMTBweCAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMjBweCA3cHggMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICAtLWctZm9jdXMtYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1wcmltYXJ5KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWctY29sb3ItYmFzZS1zZWxlY3Rpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9sYWJlbGVkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGJvZHktMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX2RlcHJlY2F0ZWQge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9jbGljYWJsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2Utc2ltcGxlLWhvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5mb2N1c2FibGUoLTJweCk7IC8vIC0ycHgsIGFzIG91dGxpbmUgb24gZm9jdWVzIGdvZXMgb3V0IG9mIHRvYydzIGJvcmRlcnNcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgICAgIGxlZnQ6ICR2aXNpYmxlU3RhcnRQYWRkaW5nO1xuXG4gICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICByaWdodDogJHZpc2libGVTdGFydFBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICd2YXJpYWJsZXMnO1xuXG5AbWl4aW4gdGV4dC1zaXplKCRuYW1lKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtI3skbmFtZX0tZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHJlc2V0LWxpc3Qtc3R5bGUoKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1peGluIGZpeEFuY2hvclBvc2l0aW9uKCRvZmZzZXQ6IDBweCkge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRvZmZzZXR9IC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGlzbGFuZHMtZm9jdXMoKTtcblxuICAgIEBpbmNsdWRlIGZvY3VzYWJsZSgwLCAnYm94LXNoYWRvdycpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluay1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVhZGluZzEoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcyKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbn1cblxuQG1peGluIGhlYWRpbmczKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTIpO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShoZWFkZXItMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nNSgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG59XG5cbkBtaXhpbiBoZWFkaW5nNigpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wLXRhYmxldC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdzbScpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdzbScpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIl19 */", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
5
  "mappings": ";AAMA,CAAA;AACI,UAAA;AACA,uBAAA;AAAA,oBAAA;AAAA,eAAA;ACLJ;ADOI,CAAA;AACI,2BAAA;AAEA,WAAA;AACA,2BAAA;AAAA,mBAAA;AACA,iBAAA;AAAA,iBAAA,IAAA;ACNR;ACyBQ,CFxBJ,iBEwBI;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;ADvBZ;ACyBQ,CF5BJ,iBE4BI,MAAA,KAAA;AACI,WAAA;ADvBZ;ADII,CAAA;AACI,WAAA;AACA,eAAA;AAEA,WAAA,IAAA,IAAA;ACHR;ADMI,CAAA;AACI,WAAA;AAEA,YAAA;AACA,WAAA,IAAA,KAAA,IAAA;AACA,SAAA;ACLR;ADOQ,QAAA,WAAA;AAPJ,GAAA;AAQQ,aAAA,KAAA,KAAA,KAAA;ACJV;ADMU,GAAA,SAAA,CAVR;AAWY,aAAA,KAAA,KAAA,KAAA;ACJd;AACF;ADOQ,CAAA,SAAA,CAfJ;AAgBQ,WAAA,IAAA,KAAA,IAAA;ACLZ;ADSI,CAAA;AACI,2BAAA;AAEA,eAAA;AACA,aAAA;AACA,eAAA;AAEA,cAAA;AACA,cAAA;AACA,oBAAA;AACA,UAAA;AACA,cAAA;AAAA,cAAA;AACA,iBAAA;AAAA,iBAAA,IAAA;AAEA,SAAA,IAAA;ACVR;ADYQ,QAAA,WAAA;AAhBJ,GAAA;AE3CA,eAAA,IAAA;AACA,iBAAA,IAAA;ADmDF;AACF;ADUQ,CAAA;AACI,iBAAA;AACA,cAAA,IAAA;ACRZ;ADWQ,CAAA;AACI,eAAA;AACA,kBAAA;AEtER,aAAA,IAAA;AACA,eAAA,IAAA;AD8DJ;ADaY,CAAA,6BAAA;AACI,SAAA;AACA,WAAA;ACXhB;ADcY,CALA,6BAKA;AACI,YAAA;AACA,OAAA;AACA,SAAA;AACA,aAAA,WAAA;AACA,WAAA;ACZhB;ADgBQ,CAAA;AACI,UAAA;ACdZ;ADgBY,CAHJ,0BAGI;AACI,iBAAA;AACA,cAAA,IAAA;ACdhB;ACnDQ,CFaJ,iBEbI;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;ADqDZ;ACnDQ,CFSJ,iBETI,MAAA,KAAA;AACI,WAAA;ADqDZ;ADcI,CAAA;AACI,YAAA;AACA,QAAA;ACZR;ADcQ,CAAA,SAAA,CAJJ;AAKQ,SAAA;ACZZ;ADeQ,QAAA,WAAA;AARJ,GAAA;AASQ,UAAA;ACZV;ADcU,GAAA,SAAA,CAXR;AAYY,WAAA;ACZd;AACF;ADiBQ,QAAA,WAAA;AADJ,GAAA;AAEQ,kBAAA;ACdV;ADgBU,GAAA,SAAA,CAJR;AAKY,iBAAA;ACdd;AACF;ADiBQ,CATJ,kBASI,MAAA;AACI,cAAA;ACfZ;",
6
6
  "names": []
@@ -1,5 +1,5 @@
1
+ import type { TocItem as ITocItem } from '../../models';
1
2
  import React from 'react';
2
- import { TocItem as ITocItem } from '../../models';
3
3
  import './TocItem.scss';
4
4
  export interface TocItemProps extends ITocItem {
5
5
  id: string;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/TocItem/TocItem.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport block from 'bem-cn-lite';\nimport {Button} from '@gravity-ui/uikit';\nimport {Ban} from '@gravity-ui/icons';\n\nimport {useTranslation} from '../../hooks';\nimport {TocItem as ITocItem} from '../../models';\nimport {isExternalHref} from '../../utils';\nimport {ToggleArrow} from '../ToggleArrow';\n\nimport './TocItem.scss';\n\nconst b = block('dc-toc-item');\n\nexport interface TocItemProps extends ITocItem {\n id: string;\n name: string;\n href?: string;\n items?: ITocItem[];\n active: boolean;\n expandable: boolean;\n expanded: boolean;\n deprecated?: boolean;\n toggleItem: (id: string, opened: boolean) => void;\n}\n\nexport const TocItem: React.FC<TocItemProps> = React.forwardRef(\n (\n {id, name, href, active, expandable, expanded, toggleItem, labeled, deprecated},\n ref: React.ForwardedRef<HTMLButtonElement>,\n ) => {\n const handleClick = () => {\n toggleItem(id, expanded);\n };\n\n const {t} = useTranslation('toc-nav-panel');\n\n const deprecatedIcon = deprecated ? <Ban /> : null;\n const text = (\n <span>\n {name} {deprecatedIcon}\n </span>\n );\n const icon = expandable ? (\n <ToggleArrow className={b('icon')} open={expanded} thin={true} />\n ) : null;\n\n const allyButtonProps = {\n 'aria-expanded': expandable && !href ? expanded : undefined,\n 'aria-label': expandable ? t('drop-down-list') + ' ' + name : undefined,\n };\n const textProps = {\n clicable: Boolean(expandable || href),\n active,\n labeled,\n deprecated,\n };\n\n const content = React.createElement(\n href ? 'div' : 'button',\n {\n ref,\n className: b('text', textProps, b('text-block')),\n onClick: expandable ? handleClick : undefined,\n ...allyButtonProps,\n },\n icon,\n text,\n );\n\n if (!href) {\n return content;\n }\n\n const isExternal = isExternalHref(href);\n const linkAttributes = {\n href,\n target: isExternal ? '_blank' : '_self',\n rel: isExternal ? 'noopener noreferrer' : undefined,\n className: b('link'),\n onClick: expandable && href ? handleClick : undefined,\n 'aria-expanded': expandable ? expanded : undefined,\n 'aria-current': active ? ('true' as const) : undefined,\n 'data-router-shallow': true,\n };\n\n if (expandable && href) {\n return (\n <div className={b('wrapper', b('text', textProps))}>\n <Button\n size={'xs'}\n className={b('arrow')}\n view={'flat'}\n onClick={handleClick}\n extraProps={allyButtonProps}\n ref={ref}\n >\n <Button.Icon>{icon}</Button.Icon>\n </Button>\n <a {...linkAttributes}>\n <span className={b('text')}>{text}</span>\n </a>\n </div>\n );\n }\n\n return <a {...linkAttributes}>{content}</a>;\n },\n);\n\nTocItem.displayName = 'TocItem';\n\nexport default TocItem;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,SAAQ,cAAa;AACrB,SAAQ,WAAU;AAElB,SAAQ,sBAAqB;AAE7B,SAAQ,sBAAqB;AAC7B,SAAQ,mBAAkB;AAE1B,OAAO;AAEP,IAAM,IAAI,MAAM,aAAa;AActB,IAAM,UAAkC,MAAM;AAAA,EACjD,CACI,EAAC,IAAI,MAAM,MAAM,QAAQ,YAAY,UAAU,YAAY,SAAS,WAAU,GAC9E,QACC;AACD,UAAM,cAAc,MAAM;AACtB,iBAAW,IAAI,QAAQ;AAAA,IAC3B;AAEA,UAAM,EAAC,EAAC,IAAI,eAAe,eAAe;AAE1C,UAAM,iBAAiB,aAAa,oCAAC,SAAI,IAAK;AAC9C,UAAM,OACF,oCAAC,cACI,MAAK,KAAE,cACZ;AAEJ,UAAM,OAAO,aACT,oCAAC,eAAY,WAAW,EAAE,MAAM,GAAG,MAAM,UAAU,MAAM,MAAM,IAC/D;AAEJ,UAAM,kBAAkB;AAAA,MACpB,iBAAiB,cAAc,CAAC,OAAO,WAAW;AAAA,MAClD,cAAc,aAAa,EAAE,gBAAgB,IAAI,MAAM,OAAO;AAAA,IAClE;AACA,UAAM,YAAY;AAAA,MACd,UAAU,QAAQ,cAAc,IAAI;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAEA,UAAM,UAAU,MAAM;AAAA,MAClB,OAAO,QAAQ;AAAA,MACf;AAAA,QACI;AAAA,QACA,WAAW,EAAE,QAAQ,WAAW,EAAE,YAAY,CAAC;AAAA,QAC/C,SAAS,aAAa,cAAc;AAAA,SACjC;AAAA,MAEP;AAAA,MACA;AAAA,IACJ;AAEA,QAAI,CAAC,MAAM;AACP,aAAO;AAAA,IACX;AAEA,UAAM,aAAa,eAAe,IAAI;AACtC,UAAM,iBAAiB;AAAA,MACnB;AAAA,MACA,QAAQ,aAAa,WAAW;AAAA,MAChC,KAAK,aAAa,wBAAwB;AAAA,MAC1C,WAAW,EAAE,MAAM;AAAA,MACnB,SAAS,cAAc,OAAO,cAAc;AAAA,MAC5C,iBAAiB,aAAa,WAAW;AAAA,MACzC,gBAAgB,SAAU,SAAmB;AAAA,MAC7C,uBAAuB;AAAA,IAC3B;AAEA,QAAI,cAAc,MAAM;AACpB,aACI,oCAAC,SAAI,WAAW,EAAE,WAAW,EAAE,QAAQ,SAAS,CAAC,KAC7C;AAAA,QAAC;AAAA;AAAA,UACG,MAAM;AAAA,UACN,WAAW,EAAE,OAAO;AAAA,UACpB,MAAM;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,UACZ;AAAA;AAAA,QAEA,oCAAC,OAAO,MAAP,MAAa,IAAK;AAAA,MACvB,GACA,oCAAC,wBAAM,iBACH,oCAAC,UAAK,WAAW,EAAE,MAAM,KAAI,IAAK,CACtC,CACJ;AAAA,IAER;AAEA,WAAO,oCAAC,wBAAM,iBAAiB,OAAQ;AAAA,EAC3C;AACJ;AAEA,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;",
4
+ "sourcesContent": ["import type {TocItem as ITocItem} from '../../models';\n\nimport React from 'react';\nimport block from 'bem-cn-lite';\nimport {Button} from '@gravity-ui/uikit';\nimport {Ban} from '@gravity-ui/icons';\n\nimport {useTranslation} from '../../hooks';\nimport {isExternalHref} from '../../utils';\nimport {ToggleArrow} from '../ToggleArrow';\n\nimport './TocItem.scss';\n\nconst b = block('dc-toc-item');\n\nexport interface TocItemProps extends ITocItem {\n id: string;\n name: string;\n href?: string;\n items?: ITocItem[];\n active: boolean;\n expandable: boolean;\n expanded: boolean;\n deprecated?: boolean;\n toggleItem: (id: string, opened: boolean) => void;\n}\n\nexport const TocItem: React.FC<TocItemProps> = React.forwardRef(\n (\n {id, name, href, active, expandable, expanded, toggleItem, labeled, deprecated},\n ref: React.ForwardedRef<HTMLButtonElement>,\n ) => {\n const handleClick = () => {\n toggleItem(id, expanded);\n };\n\n const {t} = useTranslation('toc-nav-panel');\n\n const deprecatedIcon = deprecated ? <Ban /> : null;\n const text = (\n <span>\n {name} {deprecatedIcon}\n </span>\n );\n const icon = expandable ? (\n <ToggleArrow className={b('icon')} open={expanded} thin={true} />\n ) : null;\n\n const allyButtonProps = {\n 'aria-expanded': expandable && !href ? expanded : undefined,\n 'aria-label': expandable ? t('drop-down-list') + ' ' + name : undefined,\n };\n const textProps = {\n clicable: Boolean(expandable || href),\n active,\n labeled,\n deprecated,\n };\n\n const content = React.createElement(\n href ? 'div' : 'button',\n {\n ref,\n className: b('text', textProps, b('text-block')),\n onClick: expandable ? handleClick : undefined,\n ...allyButtonProps,\n },\n icon,\n text,\n );\n\n if (!href) {\n return content;\n }\n\n const isExternal = isExternalHref(href);\n const linkAttributes = {\n href,\n target: isExternal ? '_blank' : '_self',\n rel: isExternal ? 'noopener noreferrer' : undefined,\n className: b('link'),\n onClick: expandable && href ? handleClick : undefined,\n 'aria-expanded': expandable ? expanded : undefined,\n 'aria-current': active ? ('true' as const) : undefined,\n 'data-router-shallow': true,\n };\n\n if (expandable && href) {\n return (\n <div className={b('wrapper', b('text', textProps))}>\n <Button\n size={'xs'}\n className={b('arrow')}\n view={'flat'}\n onClick={handleClick}\n extraProps={allyButtonProps}\n ref={ref}\n >\n <Button.Icon>{icon}</Button.Icon>\n </Button>\n <a {...linkAttributes}>\n <span className={b('text')}>{text}</span>\n </a>\n </div>\n );\n }\n\n return <a {...linkAttributes}>{content}</a>;\n },\n);\n\nTocItem.displayName = 'TocItem';\n\nexport default TocItem;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,SAAQ,cAAa;AACrB,SAAQ,WAAU;AAElB,SAAQ,sBAAqB;AAC7B,SAAQ,sBAAqB;AAC7B,SAAQ,mBAAkB;AAE1B,OAAO;AAEP,IAAM,IAAI,MAAM,aAAa;AActB,IAAM,UAAkC,MAAM;AAAA,EACjD,CACI,EAAC,IAAI,MAAM,MAAM,QAAQ,YAAY,UAAU,YAAY,SAAS,WAAU,GAC9E,QACC;AACD,UAAM,cAAc,MAAM;AACtB,iBAAW,IAAI,QAAQ;AAAA,IAC3B;AAEA,UAAM,EAAC,EAAC,IAAI,eAAe,eAAe;AAE1C,UAAM,iBAAiB,aAAa,oCAAC,SAAI,IAAK;AAC9C,UAAM,OACF,oCAAC,cACI,MAAK,KAAE,cACZ;AAEJ,UAAM,OAAO,aACT,oCAAC,eAAY,WAAW,EAAE,MAAM,GAAG,MAAM,UAAU,MAAM,MAAM,IAC/D;AAEJ,UAAM,kBAAkB;AAAA,MACpB,iBAAiB,cAAc,CAAC,OAAO,WAAW;AAAA,MAClD,cAAc,aAAa,EAAE,gBAAgB,IAAI,MAAM,OAAO;AAAA,IAClE;AACA,UAAM,YAAY;AAAA,MACd,UAAU,QAAQ,cAAc,IAAI;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAEA,UAAM,UAAU,MAAM;AAAA,MAClB,OAAO,QAAQ;AAAA,MACf;AAAA,QACI;AAAA,QACA,WAAW,EAAE,QAAQ,WAAW,EAAE,YAAY,CAAC;AAAA,QAC/C,SAAS,aAAa,cAAc;AAAA,SACjC;AAAA,MAEP;AAAA,MACA;AAAA,IACJ;AAEA,QAAI,CAAC,MAAM;AACP,aAAO;AAAA,IACX;AAEA,UAAM,aAAa,eAAe,IAAI;AACtC,UAAM,iBAAiB;AAAA,MACnB;AAAA,MACA,QAAQ,aAAa,WAAW;AAAA,MAChC,KAAK,aAAa,wBAAwB;AAAA,MAC1C,WAAW,EAAE,MAAM;AAAA,MACnB,SAAS,cAAc,OAAO,cAAc;AAAA,MAC5C,iBAAiB,aAAa,WAAW;AAAA,MACzC,gBAAgB,SAAU,SAAmB;AAAA,MAC7C,uBAAuB;AAAA,IAC3B;AAEA,QAAI,cAAc,MAAM;AACpB,aACI,oCAAC,SAAI,WAAW,EAAE,WAAW,EAAE,QAAQ,SAAS,CAAC,KAC7C;AAAA,QAAC;AAAA;AAAA,UACG,MAAM;AAAA,UACN,WAAW,EAAE,OAAO;AAAA,UACpB,MAAM;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,UACZ;AAAA;AAAA,QAEA,oCAAC,OAAO,MAAP,MAAa,IAAK;AAAA,MACvB,GACA,oCAAC,wBAAM,iBACH,oCAAC,UAAK,WAAW,EAAE,MAAM,KAAI,IAAK,CACtC,CACJ;AAAA,IAER;AAEA,WAAO,oCAAC,wBAAM,iBAAiB,OAAQ;AAAA,EAC3C;AACJ;AAEA,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/TocLable/TocLabel.scss", "../../../../src/components/TocLable/%3Cinput css rmThyR%3E"],
3
+ "sources": ["../../../../src/components/TocLable/TocLabel.scss", "../../../../src/components/TocLable/%3Cinput css 2W2G8r%3E"],
4
4
  "sourcesContent": ["@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.dc-toc-label {\n &_offset {\n margin-left: 10px;\n\n [dir='rtl'] & {\n margin-right: 10px;\n }\n }\n\n &__label-tooltip {\n padding: 16px;\n }\n\n &__label-wrapper {\n cursor: pointer;\n }\n}\n", ".dc-toc-label_offset {\n margin-left: 10px;\n}\n[dir=rtl] .dc-toc-label_offset {\n margin-right: 10px;\n}\n.dc-toc-label__label-tooltip {\n padding: 16px;\n}\n.dc-toc-label__label-wrapper {\n cursor: pointer;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RvY0xhYmxlIiwic291cmNlcyI6WyJUb2NMYWJlbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlJO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9zdHlsZXMvdmFyaWFibGVzJztcbkB1c2UgJy4uLy4uL3N0eWxlcy9taXhpbnMnO1xuXG4uZGMtdG9jLWxhYmVsIHtcbiAgICAmX29mZnNldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwtdG9vbHRpcCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG4iXX0= */"],
5
5
  "mappings": ";AAII,CAAA;AACI,eAAA;ACHR;ADKQ,CAAA,SAAA,CAHJ;AAIQ,gBAAA;ACHZ;ADOI,CAAA;AACI,WAAA;ACLR;ADQI,CAAA;AACI,UAAA;ACNR;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/TocNavPanel/TocNavPanel.scss", "../../../../src/styles/mixins.scss", "../../../../src/components/TocNavPanel/%3Cinput css yjOjXY%3E"],
3
+ "sources": ["../../../../src/components/TocNavPanel/TocNavPanel.scss", "../../../../src/styles/mixins.scss", "../../../../src/components/TocNavPanel/%3Cinput css ll1iro%3E"],
4
4
  "sourcesContent": ["@use '../../styles/mixins';\n\n.dc-nav-toc-panel {\n $iconSize: 24px;\n $horizontalGap: 16px;\n $hintPadding: $iconSize + $horizontalGap;\n\n display: flex;\n justify-content: center;\n width: 100%;\n background: var(--g-color-base-background);\n\n @include mixins.text-size(body-2);\n\n &_fixed {\n position: fixed;\n bottom: 0;\n z-index: 1000;\n left: 0;\n border-top: 1px solid var(--g-color-line-generic);\n }\n\n &_fixed &__control-hint {\n display: none;\n }\n\n &_fixed &__content {\n padding: 0 40px;\n }\n\n &__content {\n display: flex;\n justify-content: space-between;\n flex: 1;\n max-width: 1440px;\n }\n\n &__control {\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: 48%;\n\n &_left,\n &_left &-text {\n align-items: flex-start;\n }\n\n &_right,\n &_right &-text {\n align-items: flex-end;\n }\n\n &_left &-name {\n text-align: start;\n }\n &_right &-name {\n text-align: end;\n }\n\n &_left &-hint {\n padding-inline-start: $hintPadding;\n }\n &_right &-hint {\n padding-inline-end: $hintPadding;\n }\n\n & svg {\n min-width: $iconSize;\n }\n\n &_left svg,\n &_right svg {\n [dir='rtl'] & {\n transform: rotate(180deg);\n }\n }\n\n &-hint {\n color: var(--g-color-text-hint);\n }\n\n &-text {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n &-name {\n word-break: break-word;\n }\n }\n\n &__control &__link {\n align-items: center;\n }\n\n &__link {\n display: flex;\n align-items: center;\n gap: $horizontalGap;\n\n color: var(--g-color-text-primary);\n font-weight: 500;\n\n border-radius: var(--g-focus-border-radius);\n\n @include mixins.focusable();\n }\n}\n", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n", ".dc-nav-toc-panel {\n display: flex;\n justify-content: center;\n width: 100%;\n background: var(--g-color-base-background);\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-nav-toc-panel_fixed {\n position: fixed;\n bottom: 0;\n z-index: 1000;\n left: 0;\n border-top: 1px solid var(--g-color-line-generic);\n}\n.dc-nav-toc-panel_fixed .dc-nav-toc-panel__control-hint {\n display: none;\n}\n.dc-nav-toc-panel_fixed .dc-nav-toc-panel__content {\n padding: 0 40px;\n}\n.dc-nav-toc-panel__content {\n display: flex;\n justify-content: space-between;\n flex: 1;\n max-width: 1440px;\n}\n.dc-nav-toc-panel__control {\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: 48%;\n}\n.dc-nav-toc-panel__control_left, .dc-nav-toc-panel__control_left .dc-nav-toc-panel__control-text {\n align-items: flex-start;\n}\n.dc-nav-toc-panel__control_right, .dc-nav-toc-panel__control_right .dc-nav-toc-panel__control-text {\n align-items: flex-end;\n}\n.dc-nav-toc-panel__control_left .dc-nav-toc-panel__control-name {\n text-align: start;\n}\n.dc-nav-toc-panel__control_right .dc-nav-toc-panel__control-name {\n text-align: end;\n}\n.dc-nav-toc-panel__control_left .dc-nav-toc-panel__control-hint {\n padding-inline-start: 40px;\n}\n.dc-nav-toc-panel__control_right .dc-nav-toc-panel__control-hint {\n padding-inline-end: 40px;\n}\n.dc-nav-toc-panel__control svg {\n min-width: 24px;\n}\n[dir=rtl] .dc-nav-toc-panel__control_left svg, [dir=rtl] .dc-nav-toc-panel__control_right svg {\n transform: rotate(180deg);\n}\n.dc-nav-toc-panel__control-hint {\n color: var(--g-color-text-hint);\n}\n.dc-nav-toc-panel__control-text {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n.dc-nav-toc-panel__control-name {\n word-break: break-word;\n}\n.dc-nav-toc-panel__control .dc-nav-toc-panel__link {\n align-items: center;\n}\n.dc-nav-toc-panel__link {\n display: flex;\n align-items: center;\n gap: 16px;\n color: var(--g-color-text-primary);\n font-weight: 500;\n border-radius: var(--g-focus-border-radius);\n}\n.dc-nav-toc-panel__link:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: 0;\n}\n.dc-nav-toc-panel__link:focus:not(:focus-visible) {\n outline: 0;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RvY05hdlBhbmVsIiwic291cmNlcyI6WyJUb2NOYXZQYW5lbC5zY3NzIiwiLi4vLi4vc3R5bGVzL21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUNOQTtFQUNBOztBRFNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUk7O0FBR0o7RUFFSTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSSxzQkF4RE07O0FBMERWO0VBQ0ksb0JBM0RNOztBQThEVjtFQUNJLFdBakVHOztBQXNFSDtFQUNJOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBLEtBaEdZO0VBa0daO0VBQ0E7RUFFQTs7QUN2RUE7RUFDSTtFQUNBLGdCQUpjOztBQU1sQjtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5cbi5kYy1uYXYtdG9jLXBhbmVsIHtcbiAgICAkaWNvblNpemU6IDI0cHg7XG4gICAgJGhvcml6b250YWxHYXA6IDE2cHg7XG4gICAgJGhpbnRQYWRkaW5nOiAkaWNvblNpemUgKyAkaG9yaXpvbnRhbEdhcDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShib2R5LTIpO1xuXG4gICAgJl9maXhlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWdlbmVyaWMpO1xuICAgIH1cblxuICAgICZfZml4ZWQgJl9fY29udHJvbC1oaW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX2ZpeGVkICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgfVxuXG4gICAgJl9fY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICB3aWR0aDogNDglO1xuXG4gICAgICAgICZfbGVmdCxcbiAgICAgICAgJl9sZWZ0ICYtdGV4dCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQsXG4gICAgICAgICZfcmlnaHQgJi10ZXh0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfbGVmdCAmLW5hbWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9yaWdodCAmLW5hbWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9sZWZ0ICYtaGludCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJGhpbnRQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgICZfcmlnaHQgJi1oaW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGhpbnRQYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBzdmcge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAkaWNvblNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmX2xlZnQgc3ZnLFxuICAgICAgICAmX3JpZ2h0IHN2ZyB7XG4gICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1oaW50IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtaGludCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1uYW1lIHtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250cm9sICZfX2xpbmsge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRob3Jpem9udGFsR2FwO1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZm9jdXNhYmxlKCk7XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */"],
5
5
  "mappings": ";AAEA,CAAA;AAKI,WAAA;AACA,mBAAA;AACA,SAAA;AACA,cAAA,IAAA;ACNA,aAAA,IAAA;AACA,eAAA,IAAA;ACEJ;AFOI,CAAA;AACI,YAAA;AACA,UAAA;AACA,WAAA;AACA,QAAA;AACA,cAAA,IAAA,MAAA,IAAA;AELR;AFQI,CARA,uBAQA,CAAA;AACI,WAAA;AENR;AFSI,CAZA,uBAYA,CAAA;AACI,WAAA,EAAA;AEPR;AFUI,CAJA;AAKI,WAAA;AACA,mBAAA;AACA,QAAA;AACA,aAAA;AERR;AFWI,CAAA;AACI,WAAA;AACA,kBAAA;AACA,OAAA;AACA,SAAA;AETR;AFWQ,CAAA;AAAA,CAAA,+BAAA,CAAA;AAEI,eAAA;AEVZ;AFaQ,CAAA;AAAA,CAAA,gCAAA,CALA;AAOI,eAAA;AEZZ;AFeQ,CAVA,+BAUA,CAAA;AACI,cAAA;AEbZ;AFeQ,CARA,gCAQA,CAHA;AAII,cAAA;AEbZ;AFgBQ,CAjBA,+BAiBA,CAtCJ;AAuCQ,gBAAA;AEdZ;AFgBQ,CAfA,gCAeA,CAzCJ;AA0CQ,iBAAA;AEdZ;AFiBQ,CA9BJ,0BA8BI;AACI,aAAA;AEfZ;AFoBY,CAAA,SAAA,CA9BJ,+BA8BI;AAAA,CAAA,SAAA,CAzBJ,gCAyBI;AACI,aAAA,OAAA;AElBhB;AFsBQ,CAxDJ;AAyDQ,SAAA,IAAA;AEpBZ;AFuBQ,CAvCA;AAwCI,WAAA;AACA,eAAA;AACA,kBAAA;AErBZ;AFwBQ,CAnCA;AAoCI,cAAA;AEtBZ;AF0BI,CAxDA,0BAwDA,CAAA;AACI,eAAA;AExBR;AF2BI,CAJA;AAKI,WAAA;AACA,eAAA;AACA,OAAA;AAEA,SAAA,IAAA;AACA,eAAA;AAEA,iBAAA,IAAA;AE3BR;AD5CQ,CD2DJ,sBC3DI;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;AC8CZ;AD5CQ,CDuDJ,sBCvDI,MAAA,KAAA;AACI,WAAA;AC8CZ;",
6
6
  "names": []
@@ -1,5 +1,5 @@
1
+ import type { Router, TocData } from '../../models';
1
2
  import React from 'react';
2
- import { Router, TocData } from '../../models';
3
3
  import './TocNavPanel.scss';
4
4
  export interface TocNavPanelProps extends TocData {
5
5
  router: Router;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/TocNavPanel/TocNavPanel.tsx"],
4
- "sourcesContent": ["import React, {memo, useMemo} from 'react';\nimport {ArrowLeft, ArrowRight} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\n\nimport {useTranslation} from '../../hooks';\nimport {Router, TocData, TocItem} from '../../models';\nimport {isActiveItem, isExternalHref} from '../../utils';\n\nimport './TocNavPanel.scss';\n\nconst b = block('dc-nav-toc-panel');\n\nconst ARROW_SIZE = 24;\n\nexport interface TocNavPanelProps extends TocData {\n router: Router;\n fixed?: boolean;\n className?: string;\n onClick?(at: 'prev' | 'next'): void;\n}\n\ninterface FlatTocItem {\n name: string;\n href: string;\n}\n\nfunction getFlatToc(items: TocItem[]): FlatTocItem[] {\n return items.reduce((result, {href, name, items: subItems}) => {\n if (href) {\n result.push({name, href});\n }\n\n return result.concat(getFlatToc(subItems || []));\n }, [] as FlatTocItem[]);\n}\n\nfunction getBoundingItems(flatToc: FlatTocItem[], router: Router) {\n for (let i = 0; i < flatToc.length; i++) {\n const {href} = flatToc[i];\n\n if (isActiveItem(router, href)) {\n return {\n prevItem: flatToc[i - 1] || null,\n nextItem: flatToc[i + 1] || null,\n };\n }\n }\n\n return {\n prevItem: null,\n nextItem: null,\n };\n}\n\ntype TocNavControlProps = {\n isNext?: boolean;\n item: FlatTocItem | null;\n onClick?(): void;\n};\n\nconst TocNavControl = memo<TocNavControlProps>(({item, isNext, onClick}) => {\n const {t} = useTranslation('toc-nav-panel');\n const keyHint = isNext ? 'hint_next' : 'hint_previous';\n const isExternal = item && isExternalHref(item.href);\n const linkAttributes = {\n href: item?.href,\n target: isExternal ? '_blank' : '_self',\n rel: isExternal ? 'noopener noreferrer' : undefined,\n };\n\n return (\n <div className={b('control', {left: !isNext, right: isNext})}>\n {item && (\n <React.Fragment>\n <div className={b('control-hint')}>{t(keyHint)}</div>\n <div className={b('control-text')} onClick={onClick}>\n <a {...linkAttributes} className={b('link')} data-router-shallow>\n {!isNext && <ArrowLeft width={ARROW_SIZE} height={ARROW_SIZE} />}\n <div className={b('control-name')}>{item.name}</div>\n {isNext && <ArrowRight width={ARROW_SIZE} height={ARROW_SIZE} />}\n </a>\n </div>\n </React.Fragment>\n )}\n </div>\n );\n});\n\nTocNavControl.displayName = 'TocNavControl';\n\nconst TocNavPanel = memo<TocNavPanelProps>(({items, router, fixed, className, onClick}) => {\n const flatToc = useMemo(() => getFlatToc(items || []), [items]);\n const {prevItem, nextItem} = useMemo(\n () => getBoundingItems(flatToc, router),\n [flatToc, router],\n );\n\n const handleClickFactory = (at: 'prev' | 'next') => () => onClick?.(at);\n\n if (!flatToc.length) {\n return null;\n }\n\n return (\n <div className={b({fixed}, className)}>\n <div className={b('content')}>\n {<TocNavControl item={prevItem} onClick={handleClickFactory('prev')} />}\n {\n <TocNavControl\n item={nextItem}\n isNext={true}\n onClick={handleClickFactory('next')}\n />\n }\n </div>\n </div>\n );\n});\n\nTocNavPanel.displayName = 'TocNavPanel';\n\nexport default TocNavPanel;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAQ,MAAM,eAAc;AACnC,SAAQ,WAAW,kBAAiB;AACpC,OAAO,WAAW;AAElB,SAAQ,sBAAqB;AAE7B,SAAQ,cAAc,sBAAqB;AAE3C,OAAO;AAEP,IAAM,IAAI,MAAM,kBAAkB;AAElC,IAAM,aAAa;AAcnB,SAAS,WAAW,OAAiC;AACjD,SAAO,MAAM,OAAO,CAAC,QAAQ,EAAC,MAAM,MAAM,OAAO,SAAQ,MAAM;AAC3D,QAAI,MAAM;AACN,aAAO,KAAK,EAAC,MAAM,KAAI,CAAC;AAAA,IAC5B;AAEA,WAAO,OAAO,OAAO,WAAW,YAAY,CAAC,CAAC,CAAC;AAAA,EACnD,GAAG,CAAC,CAAkB;AAC1B;AAEA,SAAS,iBAAiB,SAAwB,QAAgB;AAC9D,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,UAAM,EAAC,KAAI,IAAI,QAAQ,CAAC;AAExB,QAAI,aAAa,QAAQ,IAAI,GAAG;AAC5B,aAAO;AAAA,QACH,UAAU,QAAQ,IAAI,CAAC,KAAK;AAAA,QAC5B,UAAU,QAAQ,IAAI,CAAC,KAAK;AAAA,MAChC;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EACd;AACJ;AAQA,IAAM,gBAAgB,KAAyB,CAAC,EAAC,MAAM,QAAQ,QAAO,MAAM;AACxE,QAAM,EAAC,EAAC,IAAI,eAAe,eAAe;AAC1C,QAAM,UAAU,SAAS,cAAc;AACvC,QAAM,aAAa,QAAQ,eAAe,KAAK,IAAI;AACnD,QAAM,iBAAiB;AAAA,IACnB,MAAM,6BAAM;AAAA,IACZ,QAAQ,aAAa,WAAW;AAAA,IAChC,KAAK,aAAa,wBAAwB;AAAA,EAC9C;AAEA,SACI,oCAAC,SAAI,WAAW,EAAE,WAAW,EAAC,MAAM,CAAC,QAAQ,OAAO,OAAM,CAAC,KACtD,QACG,oCAAC,MAAM,UAAN,MACG,oCAAC,SAAI,WAAW,EAAE,cAAc,KAAI,EAAE,OAAO,CAAE,GAC/C,oCAAC,SAAI,WAAW,EAAE,cAAc,GAAG,WAC/B,oCAAC,sCAAM,iBAAN,EAAsB,WAAW,EAAE,MAAM,GAAG,uBAAmB,SAC3D,CAAC,UAAU,oCAAC,aAAU,OAAO,YAAY,QAAQ,YAAY,GAC9D,oCAAC,SAAI,WAAW,EAAE,cAAc,KAAI,KAAK,IAAK,GAC7C,UAAU,oCAAC,cAAW,OAAO,YAAY,QAAQ,YAAY,CAClE,CACJ,CACJ,CAER;AAER,CAAC;AAED,cAAc,cAAc;AAE5B,IAAM,cAAc,KAAuB,CAAC,EAAC,OAAO,QAAQ,OAAO,WAAW,QAAO,MAAM;AACvF,QAAM,UAAU,QAAQ,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9D,QAAM,EAAC,UAAU,SAAQ,IAAI;AAAA,IACzB,MAAM,iBAAiB,SAAS,MAAM;AAAA,IACtC,CAAC,SAAS,MAAM;AAAA,EACpB;AAEA,QAAM,qBAAqB,CAAC,OAAwB,MAAM,mCAAU;AAEpE,MAAI,CAAC,QAAQ,QAAQ;AACjB,WAAO;AAAA,EACX;AAEA,SACI,oCAAC,SAAI,WAAW,EAAE,EAAC,MAAK,GAAG,SAAS,KAChC,oCAAC,SAAI,WAAW,EAAE,SAAS,KACtB,oCAAC,iBAAc,MAAM,UAAU,SAAS,mBAAmB,MAAM,GAAG,GAEjE;AAAA,IAAC;AAAA;AAAA,MACG,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS,mBAAmB,MAAM;AAAA;AAAA,EACtC,CAER,CACJ;AAER,CAAC;AAED,YAAY,cAAc;AAE1B,IAAO,sBAAQ;",
4
+ "sourcesContent": ["import type {Router, TocData, TocItem} from '../../models';\n\nimport React, {memo, useMemo} from 'react';\nimport {ArrowLeft, ArrowRight} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\n\nimport {useTranslation} from '../../hooks';\nimport {isActiveItem, isExternalHref} from '../../utils';\n\nimport './TocNavPanel.scss';\n\nconst b = block('dc-nav-toc-panel');\n\nconst ARROW_SIZE = 24;\n\nexport interface TocNavPanelProps extends TocData {\n router: Router;\n fixed?: boolean;\n className?: string;\n onClick?(at: 'prev' | 'next'): void;\n}\n\ninterface FlatTocItem {\n name: string;\n href: string;\n}\n\nfunction getFlatToc(items: TocItem[]): FlatTocItem[] {\n return items.reduce((result, {href, name, items: subItems}) => {\n if (href) {\n result.push({name, href});\n }\n\n return result.concat(getFlatToc(subItems || []));\n }, [] as FlatTocItem[]);\n}\n\nfunction getBoundingItems(flatToc: FlatTocItem[], router: Router) {\n for (let i = 0; i < flatToc.length; i++) {\n const {href} = flatToc[i];\n\n if (isActiveItem(router, href)) {\n return {\n prevItem: flatToc[i - 1] || null,\n nextItem: flatToc[i + 1] || null,\n };\n }\n }\n\n return {\n prevItem: null,\n nextItem: null,\n };\n}\n\ntype TocNavControlProps = {\n isNext?: boolean;\n item: FlatTocItem | null;\n onClick?(): void;\n};\n\nconst TocNavControl = memo<TocNavControlProps>(({item, isNext, onClick}) => {\n const {t} = useTranslation('toc-nav-panel');\n const keyHint = isNext ? 'hint_next' : 'hint_previous';\n const isExternal = item && isExternalHref(item.href);\n const linkAttributes = {\n href: item?.href,\n target: isExternal ? '_blank' : '_self',\n rel: isExternal ? 'noopener noreferrer' : undefined,\n };\n\n return (\n <div className={b('control', {left: !isNext, right: isNext})}>\n {item && (\n <React.Fragment>\n <div className={b('control-hint')}>{t(keyHint)}</div>\n <div className={b('control-text')} onClick={onClick}>\n <a {...linkAttributes} className={b('link')} data-router-shallow>\n {!isNext && <ArrowLeft width={ARROW_SIZE} height={ARROW_SIZE} />}\n <div className={b('control-name')}>{item.name}</div>\n {isNext && <ArrowRight width={ARROW_SIZE} height={ARROW_SIZE} />}\n </a>\n </div>\n </React.Fragment>\n )}\n </div>\n );\n});\n\nTocNavControl.displayName = 'TocNavControl';\n\nconst TocNavPanel = memo<TocNavPanelProps>(({items, router, fixed, className, onClick}) => {\n const flatToc = useMemo(() => getFlatToc(items || []), [items]);\n const {prevItem, nextItem} = useMemo(\n () => getBoundingItems(flatToc, router),\n [flatToc, router],\n );\n\n const handleClickFactory = (at: 'prev' | 'next') => () => onClick?.(at);\n\n if (!flatToc.length) {\n return null;\n }\n\n return (\n <div className={b({fixed}, className)}>\n <div className={b('content')}>\n {<TocNavControl item={prevItem} onClick={handleClickFactory('prev')} />}\n {\n <TocNavControl\n item={nextItem}\n isNext={true}\n onClick={handleClickFactory('next')}\n />\n }\n </div>\n </div>\n );\n});\n\nTocNavPanel.displayName = 'TocNavPanel';\n\nexport default TocNavPanel;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,SAAQ,MAAM,eAAc;AACnC,SAAQ,WAAW,kBAAiB;AACpC,OAAO,WAAW;AAElB,SAAQ,sBAAqB;AAC7B,SAAQ,cAAc,sBAAqB;AAE3C,OAAO;AAEP,IAAM,IAAI,MAAM,kBAAkB;AAElC,IAAM,aAAa;AAcnB,SAAS,WAAW,OAAiC;AACjD,SAAO,MAAM,OAAO,CAAC,QAAQ,EAAC,MAAM,MAAM,OAAO,SAAQ,MAAM;AAC3D,QAAI,MAAM;AACN,aAAO,KAAK,EAAC,MAAM,KAAI,CAAC;AAAA,IAC5B;AAEA,WAAO,OAAO,OAAO,WAAW,YAAY,CAAC,CAAC,CAAC;AAAA,EACnD,GAAG,CAAC,CAAkB;AAC1B;AAEA,SAAS,iBAAiB,SAAwB,QAAgB;AAC9D,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,UAAM,EAAC,KAAI,IAAI,QAAQ,CAAC;AAExB,QAAI,aAAa,QAAQ,IAAI,GAAG;AAC5B,aAAO;AAAA,QACH,UAAU,QAAQ,IAAI,CAAC,KAAK;AAAA,QAC5B,UAAU,QAAQ,IAAI,CAAC,KAAK;AAAA,MAChC;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EACd;AACJ;AAQA,IAAM,gBAAgB,KAAyB,CAAC,EAAC,MAAM,QAAQ,QAAO,MAAM;AACxE,QAAM,EAAC,EAAC,IAAI,eAAe,eAAe;AAC1C,QAAM,UAAU,SAAS,cAAc;AACvC,QAAM,aAAa,QAAQ,eAAe,KAAK,IAAI;AACnD,QAAM,iBAAiB;AAAA,IACnB,MAAM,6BAAM;AAAA,IACZ,QAAQ,aAAa,WAAW;AAAA,IAChC,KAAK,aAAa,wBAAwB;AAAA,EAC9C;AAEA,SACI,oCAAC,SAAI,WAAW,EAAE,WAAW,EAAC,MAAM,CAAC,QAAQ,OAAO,OAAM,CAAC,KACtD,QACG,oCAAC,MAAM,UAAN,MACG,oCAAC,SAAI,WAAW,EAAE,cAAc,KAAI,EAAE,OAAO,CAAE,GAC/C,oCAAC,SAAI,WAAW,EAAE,cAAc,GAAG,WAC/B,oCAAC,sCAAM,iBAAN,EAAsB,WAAW,EAAE,MAAM,GAAG,uBAAmB,SAC3D,CAAC,UAAU,oCAAC,aAAU,OAAO,YAAY,QAAQ,YAAY,GAC9D,oCAAC,SAAI,WAAW,EAAE,cAAc,KAAI,KAAK,IAAK,GAC7C,UAAU,oCAAC,cAAW,OAAO,YAAY,QAAQ,YAAY,CAClE,CACJ,CACJ,CAER;AAER,CAAC;AAED,cAAc,cAAc;AAE5B,IAAM,cAAc,KAAuB,CAAC,EAAC,OAAO,QAAQ,OAAO,WAAW,QAAO,MAAM;AACvF,QAAM,UAAU,QAAQ,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9D,QAAM,EAAC,UAAU,SAAQ,IAAI;AAAA,IACzB,MAAM,iBAAiB,SAAS,MAAM;AAAA,IACtC,CAAC,SAAS,MAAM;AAAA,EACpB;AAEA,QAAM,qBAAqB,CAAC,OAAwB,MAAM,mCAAU;AAEpE,MAAI,CAAC,QAAQ,QAAQ;AACjB,WAAO;AAAA,EACX;AAEA,SACI,oCAAC,SAAI,WAAW,EAAE,EAAC,MAAK,GAAG,SAAS,KAChC,oCAAC,SAAI,WAAW,EAAE,SAAS,KACtB,oCAAC,iBAAc,MAAM,UAAU,SAAS,mBAAmB,MAAM,GAAG,GAEjE;AAAA,IAAC;AAAA;AAAA,MACG,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS,mBAAmB,MAAM;AAAA;AAAA,EACtC,CAER,CACJ;AAER,CAAC;AAED,YAAY,cAAc;AAE1B,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/ToggleArrow/ToggleArrow.scss", "../../../../src/components/ToggleArrow/%3Cinput css pohHWq%3E"],
3
+ "sources": ["../../../../src/components/ToggleArrow/ToggleArrow.scss", "../../../../src/components/ToggleArrow/%3Cinput css zFmKT5%3E"],
4
4
  "sourcesContent": [".dc-toggle-arrow {\n transition: transform 0.15s;\n stroke-width: 2px;\n $root: &;\n\n &_type {\n &_horizontal {\n transform: rotate(0deg);\n\n [dir='rtl'] & {\n transform: rotate(180deg);\n }\n }\n\n &_vertical {\n transform: rotate(90deg);\n }\n }\n\n &_open {\n &#{$root}_type_horizontal {\n transform: rotate(90deg);\n\n [dir='rtl'] & {\n transform: rotate(90deg);\n }\n }\n\n &#{$root}_type_vertical {\n transform: rotate(-90deg);\n\n [dir='rtl'] & {\n transform: rotate(90deg);\n }\n }\n }\n\n &_thin {\n stroke-width: 1px;\n }\n\n &_slow {\n transition-duration: 0.3s;\n }\n}\n", ".dc-toggle-arrow {\n transition: transform 0.15s;\n stroke-width: 2px;\n}\n.dc-toggle-arrow_type_horizontal {\n transform: rotate(0deg);\n}\n[dir=rtl] .dc-toggle-arrow_type_horizontal {\n transform: rotate(180deg);\n}\n.dc-toggle-arrow_type_vertical {\n transform: rotate(90deg);\n}\n.dc-toggle-arrow_open.dc-toggle-arrow_type_horizontal {\n transform: rotate(90deg);\n}\n[dir=rtl] .dc-toggle-arrow_open.dc-toggle-arrow_type_horizontal {\n transform: rotate(90deg);\n}\n.dc-toggle-arrow_open.dc-toggle-arrow_type_vertical {\n transform: rotate(-90deg);\n}\n[dir=rtl] .dc-toggle-arrow_open.dc-toggle-arrow_type_vertical {\n transform: rotate(90deg);\n}\n.dc-toggle-arrow_thin {\n stroke-width: 1px;\n}\n.dc-toggle-arrow_slow {\n transition-duration: 0.3s;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RvZ2dsZUFycm93Iiwic291cmNlcyI6WyJUb2dnbGVBcnJvdy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0k7RUFDQTs7QUFJSTtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFLSjtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7O0FBR0o7RUFDSSIsInNvdXJjZXNDb250ZW50IjpbIi5kYy10b2dnbGUtYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cztcbiAgICBzdHJva2Utd2lkdGg6IDJweDtcbiAgICAkcm9vdDogJjtcblxuICAgICZfdHlwZSB7XG4gICAgICAgICZfaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblxuICAgICAgICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfdmVydGljYWwge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9vcGVuIHtcbiAgICAgICAgJiN7JHJvb3R9X3R5cGVfaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cbiAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYjeyRyb290fV90eXBlX3ZlcnRpY2FsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cbiAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfdGhpbiB7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMXB4O1xuICAgIH1cblxuICAgICZfc2xvdyB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgfVxufVxuIl19 */"],
5
5
  "mappings": ";AAAA,CAAA;AACI,cAAA,UAAA;AACA,gBAAA;ACCJ;ADGQ,CAAA;AACI,aAAA,OAAA;ACDZ;ADGY,CAAA,SAAA,CAHJ;AAIQ,aAAA,OAAA;ACDhB;ADKQ,CAAA;AACI,aAAA,OAAA;ACHZ;ADQQ,CAAA,oBAAA,CAdA;AAeI,aAAA,OAAA;ACNZ;ADQY,CAAA,SAAA,CAHJ,oBAGI,CAjBJ;AAkBQ,aAAA,OAAA;ACNhB;ADUQ,CARA,oBAQA,CAdA;AAeI,aAAA,OAAA;ACRZ;ADUY,CAAA,SAAA,CAXJ,oBAWI,CAjBJ;AAkBQ,aAAA,OAAA;ACRhB;ADaI,CAAA;AACI,gBAAA;ACXR;ADcI,CAAA;AACI,uBAAA;ACZR;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/UpdatedAtDate/UpdatedAtDate.scss", "../../../../src/components/UpdatedAtDate/%3Cinput css Pdu3n3%3E"],
3
+ "sources": ["../../../../src/components/UpdatedAtDate/UpdatedAtDate.scss", "../../../../src/components/UpdatedAtDate/%3Cinput css qdA-GI%3E"],
4
4
  "sourcesContent": ["@use '../../styles/mixins';\n\n.dc-updated-at-date {\n display: flex;\n font-size: 13px;\n font-weight: 400;\n\n &__wrapper {\n align-self: center;\n }\n}\n", ".dc-updated-at-date {\n display: flex;\n font-size: 13px;\n font-weight: 400;\n}\n.dc-updated-at-date__wrapper {\n align-self: center;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1VwZGF0ZWRBdERhdGUiLCJzb3VyY2VzIjpbIlVwZGF0ZWRBdERhdGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5cbi5kYy11cGRhdGVkLWF0LWRhdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbn1cbiJdfQ== */"],
5
5
  "mappings": ";AAEA,CAAA;AACI,WAAA;AACA,aAAA;AACA,eAAA;ACDJ;ADGI,CAAA;AACI,cAAA;ACDR;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/Widgets/Widgets.scss", "../../../../src/components/Widgets/%3Cinput css udTAYN%3E"],
3
+ "sources": ["../../../../src/components/Widgets/Widgets.scss", "../../../../src/components/Widgets/%3Cinput css QQDkl_%3E"],
4
4
  "sourcesContent": [".dc-widgets {\n position: fixed;\n right: 0;\n bottom: 0;\n width: fit-content;\n z-index: 150; // This z-index is chosen so that the header does not overlap the widget\n pointer-events: none;\n overflow: hidden;\n}\n\n.dc-widgets > div {\n $offset: 60px;\n\n @for $i from 1 through 5 {\n &:nth-child(#{$i}) {\n bottom: #{($i - 1) * $offset};\n }\n }\n\n &:nth-child(5) + * {\n display: none;\n }\n}\n", ".dc-widgets {\n position: fixed;\n right: 0;\n bottom: 0;\n width: fit-content;\n z-index: 150;\n pointer-events: none;\n overflow: hidden;\n}\n\n.dc-widgets > div:nth-child(1) {\n bottom: 0px;\n}\n.dc-widgets > div:nth-child(2) {\n bottom: 60px;\n}\n.dc-widgets > div:nth-child(3) {\n bottom: 120px;\n}\n.dc-widgets > div:nth-child(4) {\n bottom: 180px;\n}\n.dc-widgets > div:nth-child(5) {\n bottom: 240px;\n}\n.dc-widgets > div:nth-child(5) + * {\n display: none;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1dpZGdldHMiLCJzb3VyY2VzIjpbIldpZGdldHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPSTtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBSVI7RUFDSSIsInNvdXJjZXNDb250ZW50IjpbIi5kYy13aWRnZXRzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB6LWluZGV4OiAxNTA7IC8vIFRoaXMgei1pbmRleCBpcyBjaG9zZW4gc28gdGhhdCB0aGUgaGVhZGVyIGRvZXMgbm90IG92ZXJsYXAgdGhlIHdpZGdldFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kYy13aWRnZXRzID4gZGl2IHtcbiAgICAkb2Zmc2V0OiA2MHB4O1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA1IHtcbiAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAgIGJvdHRvbTogI3soJGkgLSAxKSAqICRvZmZzZXR9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNSkgKyAqIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */"],
5
5
  "mappings": ";AAAA,CAAA;AACI,YAAA;AACA,SAAA;AACA,UAAA;AACA,SAAA;AAAA,SAAA;AACA,WAAA;AACA,kBAAA;AACA,YAAA;ACCJ;ADMQ,CAdR,WAcQ,EAAA,GAAA;AACI,UAAA;ACHZ;ADEQ,CAdR,WAcQ,EAAA,GAAA;AACI,UAAA;ACAZ;ADDQ,CAdR,WAcQ,EAAA,GAAA;AACI,UAAA;ACGZ;ADJQ,CAdR,WAcQ,EAAA,GAAA;AACI,UAAA;ACMZ;ADPQ,CAdR,WAcQ,EAAA,GAAA;AACI,UAAA;ACSZ;ADLI,CAnBJ,WAmBI,EAAA,GAAA,cAAA,EAAA;AACI,WAAA;ACOR;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../src/components/navigation/CustomNavigation/CustomNavigation.scss", "../../../../../src/components/navigation/CustomNavigation/%3Cinput css haLRXy%3E"],
3
+ "sources": ["../../../../../src/components/navigation/CustomNavigation/CustomNavigation.scss", "../../../../../src/components/navigation/CustomNavigation/%3Cinput css OoD-ta%3E"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '../../../styles/mixins';\n@use '../../../styles/variables';\n\n.pc-navigation {\n display: flex;\n justify-content: center;\n align-items: center;\n\n height: var(--header-height);\n\n background-color: var(--g-color-base-background);\n\n &_with-border {\n box-shadow: inset 0 -1px 0 var(--g-color-line-generic);\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n // disable page-constructor OverflowScroller in pc-navigation on mobile\n // as unnecessary feat of pc\n .pc-overflow-scroller {\n &__arrow_type_left,\n &__arrow_type_right {\n display: none;\n }\n\n &__container_padding-right {\n padding-right: 0;\n }\n }\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n .pc-desktop-navigation__wrapper .pc-desktop-navigation__logo .pc-logo__icon {\n max-width: 100%;\n }\n }\n}\n", ".pc-navigation {\n display: flex;\n justify-content: center;\n align-items: center;\n height: var(--header-height);\n background-color: var(--g-color-base-background);\n}\n.pc-navigation_with-border {\n box-shadow: inset 0 -1px 0 var(--g-color-line-generic);\n}\n@media (max-width: 768px) {\n .pc-navigation .pc-overflow-scroller__arrow_type_left, .pc-navigation .pc-overflow-scroller__arrow_type_right {\n display: none;\n }\n .pc-navigation .pc-overflow-scroller__container_padding-right {\n padding-right: 0;\n }\n}\n@media (max-width: 576px) {\n .pc-navigation .pc-desktop-navigation__wrapper .pc-desktop-navigation__logo .pc-logo__icon {\n max-width: 100%;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL25hdmlnYXRpb24vQ3VzdG9tTmF2aWdhdGlvbiIsInNvdXJjZXMiOlsiQ3VzdG9tTmF2aWdhdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFFQTs7QUFFQTtFQUNJOztBQUdKO0VBSVE7SUFFSTs7RUFHSjtJQUNJOzs7QUFLWjtFQUNJO0lBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICcuLi8uLi8uLi9zdHlsZXMvbWl4aW5zJztcbkB1c2UgJy4uLy4uLy4uL3N0eWxlcy92YXJpYWJsZXMnO1xuXG4ucGMtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuICAgICZfd2l0aC1ib3JkZXIge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIC8vIGRpc2FibGUgcGFnZS1jb25zdHJ1Y3RvciBPdmVyZmxvd1Njcm9sbGVyIGluIHBjLW5hdmlnYXRpb24gb24gbW9iaWxlXG4gICAgICAgIC8vIGFzIHVubmVjZXNzYXJ5IGZlYXQgb2YgcGNcbiAgICAgICAgLnBjLW92ZXJmbG93LXNjcm9sbGVyIHtcbiAgICAgICAgICAgICZfX2Fycm93X3R5cGVfbGVmdCxcbiAgICAgICAgICAgICZfX2Fycm93X3R5cGVfcmlnaHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2NvbnRhaW5lcl9wYWRkaW5nLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykgLSAxKSB7XG4gICAgICAgIC5wYy1kZXNrdG9wLW5hdmlnYXRpb25fX3dyYXBwZXIgLnBjLWRlc2t0b3AtbmF2aWdhdGlvbl9fbG9nbyAucGMtbG9nb19faWNvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */"],
5
5
  "mappings": ";AAIA,CAAA;AACI,WAAA;AACA,mBAAA;AACA,eAAA;AAEA,UAAA,IAAA;AAEA,oBAAA,IAAA;ACLJ;ADOI,CAAA;AACI,cAAA,MAAA,EAAA,KAAA,EAAA,IAAA;ACLR;ADQI,QAAA,WAAA;AAIQ,GAjBZ,cAiBY,CAAA;EAAA,CAjBZ,cAiBY,CAAA;AAEI,aAAA;ACVd;ADaU,GAtBZ,cAsBY,CAAA;AACI,mBAAA;ACXd;AACF;ADeI,QAAA,WAAA;AACI,GA7BR,cA6BQ,CAAA,+BAAA,CAAA,4BAAA,CAAA;AACI,eAAA;ACbV;AACF;",
6
6
  "names": []
@@ -1,7 +1,7 @@
1
+ import type { NavigationComponentProps } from '@gravity-ui/page-constructor';
2
+ import type { MobileControlsProps } from '../../MobileControls/MobileControls';
3
+ import type { NavigationTocProps } from '../SidebarContent/SidebarContent';
1
4
  import React from 'react';
2
- import { NavigationComponentProps } from '@gravity-ui/page-constructor';
3
- import { MobileControlsProps } from '../../MobileControls/MobileControls';
4
- import { NavigationTocProps } from '../SidebarContent/SidebarContent';
5
5
  import './CustomNavigation.scss';
6
6
  export interface CustomNavigationProps extends NavigationComponentProps {
7
7
  mobileControlsData?: MobileControlsProps;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/navigation/CustomNavigation/CustomNavigation.tsx"],
4
- "sourcesContent": ["import React, {memo} from 'react';\nimport {\n Col,\n DesktopNavigation,\n Grid,\n NavigationComponentProps,\n Row,\n useActiveNavItem,\n useShowBorder,\n} from '@gravity-ui/page-constructor';\nimport block from 'bem-cn-lite';\n\nimport {MobileControlsProps} from '../../MobileControls/MobileControls';\nimport Sidebar from '../Sidebar/Sidebar';\nimport SidebarContent, {NavigationTocProps} from '../SidebarContent/SidebarContent';\nimport {useItemsWithCustomDropdowns} from '../hooks';\n\nimport './CustomNavigation.scss';\nimport {useMainMenuOpenness, useSidebarOpenness} from './hooks';\n\nconst CLASS_NAME = 'pc-navigation';\nconst PC_PARANT_CLASS_NAME = 'pc-layout__navigation';\n\nconst b = block(CLASS_NAME);\n\nexport interface CustomNavigationProps extends NavigationComponentProps {\n mobileControlsData?: MobileControlsProps;\n navigationTocData: NavigationTocProps;\n}\n\nexport const CustomNavigation: React.FC<CustomNavigationProps> = memo(\n ({logo, data, mobileControlsData, navigationTocData}) => {\n const {\n leftItems,\n rightItems,\n customMobileHeaderItems,\n iconSize = 20,\n withBorder = false,\n withBorderOnScroll = true,\n } = data;\n\n const [isMainMenuOpened, closeMainMenu, mainMenuOpenessData] = useMainMenuOpenness();\n const [isSidebarOpened, onSidebarOpenedChange] = useSidebarOpenness(\n isMainMenuOpened,\n closeMainMenu,\n navigationTocData,\n );\n\n const [showBorder] = useShowBorder(withBorder, withBorderOnScroll);\n\n const {activeItemId, leftItemsWithIconSize, rightItemsWithIconSize, onActiveItemChange} =\n useActiveNavItem(iconSize, leftItems, rightItems);\n const [leftItemsWithCustomDropdowns, rightItemsWithCustomDropdowns] =\n useItemsWithCustomDropdowns(leftItemsWithIconSize, rightItemsWithIconSize);\n\n const pcNavigationData = {\n leftItemsWithIconSize: leftItemsWithCustomDropdowns,\n rightItemsWithIconSize: rightItemsWithCustomDropdowns,\n onActiveItemChange,\n };\n\n return (\n <Grid className={b({'with-border': showBorder}, PC_PARANT_CLASS_NAME)}>\n <Row>\n <Col>\n <nav>\n <DesktopNavigation\n logo={logo}\n activeItemId={activeItemId}\n onActiveItemChange={onActiveItemChange}\n leftItemsWithIconSize={leftItemsWithCustomDropdowns}\n rightItemsWithIconSize={rightItemsWithIconSize}\n customMobileHeaderItems={customMobileHeaderItems}\n isSidebarOpened={isSidebarOpened}\n onSidebarOpenedChange={onSidebarOpenedChange}\n />\n <Sidebar isOpened={isSidebarOpened}>\n <SidebarContent\n mainMenuOpenessData={mainMenuOpenessData}\n pcNavigationData={pcNavigationData}\n navigationTocData={navigationTocData}\n mobileControlsData={mobileControlsData}\n className={b()}\n />\n </Sidebar>\n </nav>\n </Col>\n </Row>\n </Grid>\n );\n },\n);\n\nCustomNavigation.displayName = 'CustomNavigation';\n\nexport default CustomNavigation;\n"],
5
- "mappings": ";AAAA,OAAO,SAAQ,YAAW;AAC1B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,OAAO,WAAW;AAGlB,OAAO,aAAa;AACpB,OAAO,oBAA0C;AACjD,SAAQ,mCAAkC;AAE1C,OAAO;AACP,SAAQ,qBAAqB,0BAAyB;AAEtD,IAAM,aAAa;AACnB,IAAM,uBAAuB;AAE7B,IAAM,IAAI,MAAM,UAAU;AAOnB,IAAM,mBAAoD;AAAA,EAC7D,CAAC,EAAC,MAAM,MAAM,oBAAoB,kBAAiB,MAAM;AACrD,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,MACb,qBAAqB;AAAA,IACzB,IAAI;AAEJ,UAAM,CAAC,kBAAkB,eAAe,mBAAmB,IAAI,oBAAoB;AACnF,UAAM,CAAC,iBAAiB,qBAAqB,IAAI;AAAA,MAC7C;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAEA,UAAM,CAAC,UAAU,IAAI,cAAc,YAAY,kBAAkB;AAEjE,UAAM,EAAC,cAAc,uBAAuB,wBAAwB,mBAAkB,IAClF,iBAAiB,UAAU,WAAW,UAAU;AACpD,UAAM,CAAC,8BAA8B,6BAA6B,IAC9D,4BAA4B,uBAAuB,sBAAsB;AAE7E,UAAM,mBAAmB;AAAA,MACrB,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,MACxB;AAAA,IACJ;AAEA,WACI,oCAAC,QAAK,WAAW,EAAE,EAAC,eAAe,WAAU,GAAG,oBAAoB,KAChE,oCAAC,WACG,oCAAC,WACG,oCAAC,aACG;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA,uBAAuB;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACJ,GACA,oCAAC,WAAQ,UAAU,mBACf;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,EAAE;AAAA;AAAA,IACjB,CACJ,CACJ,CACJ,CACJ,CACJ;AAAA,EAER;AACJ;AAEA,iBAAiB,cAAc;AAE/B,IAAO,2BAAQ;",
4
+ "sourcesContent": ["import type {NavigationComponentProps} from '@gravity-ui/page-constructor';\nimport type {MobileControlsProps} from '../../MobileControls/MobileControls';\nimport type {NavigationTocProps} from '../SidebarContent/SidebarContent';\n\nimport React, {memo} from 'react';\nimport {\n Col,\n DesktopNavigation,\n Grid,\n Row,\n useActiveNavItem,\n useShowBorder,\n} from '@gravity-ui/page-constructor';\nimport block from 'bem-cn-lite';\n\nimport Sidebar from '../Sidebar/Sidebar';\nimport SidebarContent from '../SidebarContent/SidebarContent';\nimport {useItemsWithCustomDropdowns} from '../hooks';\n\nimport './CustomNavigation.scss';\nimport {useMainMenuOpenness, useSidebarOpenness} from './hooks';\n\nconst CLASS_NAME = 'pc-navigation';\nconst PC_PARANT_CLASS_NAME = 'pc-layout__navigation';\n\nconst b = block(CLASS_NAME);\n\nexport interface CustomNavigationProps extends NavigationComponentProps {\n mobileControlsData?: MobileControlsProps;\n navigationTocData: NavigationTocProps;\n}\n\nexport const CustomNavigation: React.FC<CustomNavigationProps> = memo(\n ({logo, data, mobileControlsData, navigationTocData}) => {\n const {\n leftItems,\n rightItems,\n customMobileHeaderItems,\n iconSize = 20,\n withBorder = false,\n withBorderOnScroll = true,\n } = data;\n\n const [isMainMenuOpened, closeMainMenu, mainMenuOpenessData] = useMainMenuOpenness();\n const [isSidebarOpened, onSidebarOpenedChange] = useSidebarOpenness(\n isMainMenuOpened,\n closeMainMenu,\n navigationTocData,\n );\n\n const [showBorder] = useShowBorder(withBorder, withBorderOnScroll);\n\n const {activeItemId, leftItemsWithIconSize, rightItemsWithIconSize, onActiveItemChange} =\n useActiveNavItem(iconSize, leftItems, rightItems);\n const [leftItemsWithCustomDropdowns, rightItemsWithCustomDropdowns] =\n useItemsWithCustomDropdowns(leftItemsWithIconSize, rightItemsWithIconSize);\n\n const pcNavigationData = {\n leftItemsWithIconSize: leftItemsWithCustomDropdowns,\n rightItemsWithIconSize: rightItemsWithCustomDropdowns,\n onActiveItemChange,\n };\n\n return (\n <Grid className={b({'with-border': showBorder}, PC_PARANT_CLASS_NAME)}>\n <Row>\n <Col>\n <nav>\n <DesktopNavigation\n logo={logo}\n activeItemId={activeItemId}\n onActiveItemChange={onActiveItemChange}\n leftItemsWithIconSize={leftItemsWithCustomDropdowns}\n rightItemsWithIconSize={rightItemsWithIconSize}\n customMobileHeaderItems={customMobileHeaderItems}\n isSidebarOpened={isSidebarOpened}\n onSidebarOpenedChange={onSidebarOpenedChange}\n />\n <Sidebar isOpened={isSidebarOpened}>\n <SidebarContent\n mainMenuOpenessData={mainMenuOpenessData}\n pcNavigationData={pcNavigationData}\n navigationTocData={navigationTocData}\n mobileControlsData={mobileControlsData}\n className={b()}\n />\n </Sidebar>\n </nav>\n </Col>\n </Row>\n </Grid>\n );\n },\n);\n\nCustomNavigation.displayName = 'CustomNavigation';\n\nexport default CustomNavigation;\n"],
5
+ "mappings": ";AAIA,OAAO,SAAQ,YAAW;AAC1B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,OAAO,WAAW;AAElB,OAAO,aAAa;AACpB,OAAO,oBAAoB;AAC3B,SAAQ,mCAAkC;AAE1C,OAAO;AACP,SAAQ,qBAAqB,0BAAyB;AAEtD,IAAM,aAAa;AACnB,IAAM,uBAAuB;AAE7B,IAAM,IAAI,MAAM,UAAU;AAOnB,IAAM,mBAAoD;AAAA,EAC7D,CAAC,EAAC,MAAM,MAAM,oBAAoB,kBAAiB,MAAM;AACrD,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,MACb,qBAAqB;AAAA,IACzB,IAAI;AAEJ,UAAM,CAAC,kBAAkB,eAAe,mBAAmB,IAAI,oBAAoB;AACnF,UAAM,CAAC,iBAAiB,qBAAqB,IAAI;AAAA,MAC7C;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAEA,UAAM,CAAC,UAAU,IAAI,cAAc,YAAY,kBAAkB;AAEjE,UAAM,EAAC,cAAc,uBAAuB,wBAAwB,mBAAkB,IAClF,iBAAiB,UAAU,WAAW,UAAU;AACpD,UAAM,CAAC,8BAA8B,6BAA6B,IAC9D,4BAA4B,uBAAuB,sBAAsB;AAE7E,UAAM,mBAAmB;AAAA,MACrB,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,MACxB;AAAA,IACJ;AAEA,WACI,oCAAC,QAAK,WAAW,EAAE,EAAC,eAAe,WAAU,GAAG,oBAAoB,KAChE,oCAAC,WACG,oCAAC,WACG,oCAAC,aACG;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA,uBAAuB;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACJ,GACA,oCAAC,WAAQ,UAAU,mBACf;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,EAAE;AAAA;AAAA,IACjB,CACJ,CACJ,CACJ,CACJ,CACJ;AAAA,EAER;AACJ;AAEA,iBAAiB,cAAc;AAE/B,IAAO,2BAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { MainMenuOpenessProps } from '../../SidebarContent/SidebarContent';
1
+ import type { MainMenuOpenessProps } from '../../SidebarContent/SidebarContent';
2
2
  type UseMainMenuOpennessReturnData = [
3
3
  isOpened: boolean,
4
4
  close: () => void,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.ts"],
4
- "sourcesContent": ["import {useCallback, useState} from 'react';\n\nimport {MainMenuOpenessProps} from '../../SidebarContent/SidebarContent';\n\ntype UseMainMenuOpennessReturnData = [\n isOpened: boolean,\n close: () => void,\n data: MainMenuOpenessProps,\n];\n\nexport const useMainMenuOpenness = (): UseMainMenuOpennessReturnData => {\n const [isMainMenuOpened, setIsMainMenuOpened] = useState(false);\n\n const openMainMenu = () => setIsMainMenuOpened(true);\n const closeMainMenu = useCallback(() => setIsMainMenuOpened(false), [setIsMainMenuOpened]);\n\n const mainMenuOpenessData = {\n isMainMenuOpened,\n openMainMenu,\n };\n\n return [isMainMenuOpened, closeMainMenu, mainMenuOpenessData];\n};\n\nexport default useMainMenuOpenness;\n"],
5
- "mappings": ";AAAA,SAAQ,aAAa,gBAAe;AAU7B,IAAM,sBAAsB,MAAqC;AACpE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAE9D,QAAM,eAAe,MAAM,oBAAoB,IAAI;AACnD,QAAM,gBAAgB,YAAY,MAAM,oBAAoB,KAAK,GAAG,CAAC,mBAAmB,CAAC;AAEzF,QAAM,sBAAsB;AAAA,IACxB;AAAA,IACA;AAAA,EACJ;AAEA,SAAO,CAAC,kBAAkB,eAAe,mBAAmB;AAChE;AAEA,IAAO,8BAAQ;",
4
+ "sourcesContent": ["import type {MainMenuOpenessProps} from '../../SidebarContent/SidebarContent';\n\nimport {useCallback, useState} from 'react';\n\ntype UseMainMenuOpennessReturnData = [\n isOpened: boolean,\n close: () => void,\n data: MainMenuOpenessProps,\n];\n\nexport const useMainMenuOpenness = (): UseMainMenuOpennessReturnData => {\n const [isMainMenuOpened, setIsMainMenuOpened] = useState(false);\n\n const openMainMenu = () => setIsMainMenuOpened(true);\n const closeMainMenu = useCallback(() => setIsMainMenuOpened(false), [setIsMainMenuOpened]);\n\n const mainMenuOpenessData = {\n isMainMenuOpened,\n openMainMenu,\n };\n\n return [isMainMenuOpened, closeMainMenu, mainMenuOpenessData];\n};\n\nexport default useMainMenuOpenness;\n"],
5
+ "mappings": ";AAEA,SAAQ,aAAa,gBAAe;AAQ7B,IAAM,sBAAsB,MAAqC;AACpE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAE9D,QAAM,eAAe,MAAM,oBAAoB,IAAI;AACnD,QAAM,gBAAgB,YAAY,MAAM,oBAAoB,KAAK,GAAG,CAAC,mBAAmB,CAAC;AAEzF,QAAM,sBAAsB;AAAA,IACxB;AAAA,IACA;AAAA,EACJ;AAEA,SAAO,CAAC,kBAAkB,eAAe,mBAAmB;AAChE;AAEA,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { NavigationTocProps } from '../../SidebarContent/SidebarContent';
1
+ import type { NavigationTocProps } from '../../SidebarContent/SidebarContent';
2
2
  type UseSidebarOpennessReturnData = [
3
3
  isSidebarOpened: boolean,
4
4
  onSidebarOpenedChange: (isOpened: boolean) => void