@gravity-ui/navigation 3.0.0-beta.2 → 3.0.0-beta.3

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 (772) hide show
  1. package/build/cjs/{_commonjsHelpers-BJu3ubxk.js → _virtual/_commonjsHelpers.js} +1 -1
  2. package/build/cjs/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/build/cjs/_virtual/debounce.js +10 -0
  4. package/build/cjs/_virtual/debounce.js.map +1 -0
  5. package/build/cjs/_virtual/identity.js +10 -0
  6. package/build/cjs/_virtual/identity.js.map +1 -0
  7. package/build/cjs/_virtual/index.js +10 -0
  8. package/build/cjs/_virtual/index.js.map +1 -0
  9. package/build/cjs/_virtual/index2.js +6 -0
  10. package/build/{esm → cjs/_virtual}/index2.js.map +1 -1
  11. package/build/cjs/_virtual/index3.js +6 -0
  12. package/build/{esm → cjs/_virtual}/index3.js.map +1 -1
  13. package/build/cjs/_virtual/react-is.development.js +6 -0
  14. package/build/cjs/_virtual/react-is.development.js.map +1 -0
  15. package/build/cjs/_virtual/react-is.production.min.js +6 -0
  16. package/build/cjs/_virtual/react-is.production.min.js.map +1 -0
  17. package/build/cjs/assets/icons/control-menu-button.svg.js +39 -0
  18. package/build/cjs/assets/icons/control-menu-button.svg.js.map +1 -0
  19. package/build/cjs/{divider-collapsed-BLSp99lJ.js → assets/icons/divider-collapsed.svg.js} +2 -2
  20. package/build/cjs/assets/icons/divider-collapsed.svg.js.map +1 -0
  21. package/build/cjs/components/ActionBar/ActionBar.js +24 -0
  22. package/build/cjs/components/ActionBar/ActionBar.js.map +1 -0
  23. package/build/cjs/components/ActionBar/ActionBar.scss.js +9 -0
  24. package/build/cjs/components/ActionBar/ActionBar.scss.js.map +1 -0
  25. package/build/cjs/components/ActionBar/Group/ActionBarGroup.js +14 -0
  26. package/build/cjs/components/ActionBar/Group/ActionBarGroup.js.map +1 -0
  27. package/build/cjs/components/ActionBar/Group/ActionBarGroup.scss.js +9 -0
  28. package/build/cjs/components/ActionBar/Group/ActionBarGroup.scss.js.map +1 -0
  29. package/build/cjs/components/ActionBar/Item/ActionBarItem.js +14 -0
  30. package/build/cjs/components/ActionBar/Item/ActionBarItem.js.map +1 -0
  31. package/build/cjs/components/ActionBar/Item/ActionBarItem.scss.js +9 -0
  32. package/build/cjs/components/ActionBar/Item/ActionBarItem.scss.js.map +1 -0
  33. package/build/cjs/components/ActionBar/Section/ActionBarSection.js +14 -0
  34. package/build/cjs/components/ActionBar/Section/ActionBarSection.js.map +1 -0
  35. package/build/cjs/components/ActionBar/Section/ActionBarSection.scss.js +9 -0
  36. package/build/cjs/components/ActionBar/Section/ActionBarSection.scss.js.map +1 -0
  37. package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.js +14 -0
  38. package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.js.map +1 -0
  39. package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.scss.js +9 -0
  40. package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.scss.js.map +1 -0
  41. package/build/cjs/components/ActionBar/index.js +8 -0
  42. package/build/cjs/components/ActionBar/index.js.map +1 -0
  43. package/build/cjs/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +32 -0
  44. package/build/cjs/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
  45. package/build/cjs/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.scss.js +9 -0
  46. package/build/cjs/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.scss.js.map +1 -0
  47. package/build/cjs/components/AllPagesPanel/AllPagesPanel.js +101 -0
  48. package/build/cjs/components/AllPagesPanel/AllPagesPanel.js.map +1 -0
  49. package/build/cjs/components/AllPagesPanel/AllPagesPanel.scss.js +9 -0
  50. package/build/cjs/components/AllPagesPanel/AllPagesPanel.scss.js.map +1 -0
  51. package/build/cjs/components/AllPagesPanel/constants.js +18 -0
  52. package/build/cjs/components/AllPagesPanel/constants.js.map +1 -0
  53. package/build/cjs/components/AllPagesPanel/i18n/en.json.js +12 -0
  54. package/build/cjs/components/AllPagesPanel/i18n/en.json.js.map +1 -0
  55. package/build/cjs/components/AllPagesPanel/i18n/index.js +12 -0
  56. package/build/cjs/components/AllPagesPanel/i18n/index.js.map +1 -0
  57. package/build/cjs/components/AllPagesPanel/i18n/ru.json.js +12 -0
  58. package/build/cjs/components/AllPagesPanel/i18n/ru.json.js.map +1 -0
  59. package/build/cjs/components/AllPagesPanel/useGroupedMenuItems.js +33 -0
  60. package/build/cjs/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -0
  61. package/build/cjs/components/AllPagesPanel/useVisibleMenuItems.js +29 -0
  62. package/build/cjs/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
  63. package/build/cjs/components/AsideHeader/AsideHeader.js +17 -0
  64. package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -0
  65. package/build/cjs/{PageLayout.js → components/AsideHeader/AsideHeader.scss.js} +4 -29
  66. package/build/cjs/components/AsideHeader/AsideHeader.scss.js.map +1 -0
  67. package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -0
  68. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +25 -0
  69. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -0
  70. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.scss.js +9 -0
  71. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.scss.js.map +1 -0
  72. package/build/cjs/components/AsideHeader/components/FirstPanel.js +42 -0
  73. package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -0
  74. package/build/cjs/components/AsideHeader/components/Header.js +28 -0
  75. package/build/cjs/components/AsideHeader/components/Header.js.map +1 -0
  76. package/build/cjs/{AsideFallback.js → components/AsideHeader/components/PageLayout/AsideFallback.js} +5 -7
  77. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -0
  78. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +29 -0
  79. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -0
  80. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +17 -0
  81. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -0
  82. package/build/cjs/components/AsideHeader/components/Panels.js +14 -0
  83. package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -0
  84. package/build/cjs/components/AsideHeader/i18n/en.json.js +18 -0
  85. package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -0
  86. package/build/cjs/components/AsideHeader/i18n/index.js +12 -0
  87. package/build/cjs/components/AsideHeader/i18n/index.js.map +1 -0
  88. package/build/cjs/components/AsideHeader/i18n/ru.json.js +18 -0
  89. package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -0
  90. package/build/cjs/components/AsideHeader/types.js +7 -0
  91. package/build/cjs/components/AsideHeader/types.js.map +1 -0
  92. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +62 -0
  93. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -0
  94. package/build/cjs/components/AsideHeader/utils.js +8 -0
  95. package/build/cjs/components/AsideHeader/utils.js.map +1 -0
  96. package/build/cjs/components/CompositeBar/CompositeBar.js +154 -0
  97. package/build/cjs/components/CompositeBar/CompositeBar.js.map +1 -0
  98. package/build/cjs/components/CompositeBar/CompositeBar.scss.js +9 -0
  99. package/build/cjs/components/CompositeBar/CompositeBar.scss.js.map +1 -0
  100. package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.js +53 -0
  101. package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -0
  102. package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.scss.js +9 -0
  103. package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.scss.js.map +1 -0
  104. package/build/cjs/components/CompositeBar/Item/Item.js +178 -0
  105. package/build/cjs/components/CompositeBar/Item/Item.js.map +1 -0
  106. package/build/cjs/components/CompositeBar/Item/Item.scss.js +9 -0
  107. package/build/cjs/components/CompositeBar/Item/Item.scss.js.map +1 -0
  108. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +32 -0
  109. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
  110. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.scss.js +9 -0
  111. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.scss.js.map +1 -0
  112. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +29 -0
  113. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
  114. package/build/cjs/components/CompositeBar/constants.js +12 -0
  115. package/build/cjs/components/CompositeBar/constants.js.map +1 -0
  116. package/build/cjs/components/CompositeBar/utils.js +107 -0
  117. package/build/cjs/components/CompositeBar/utils.js.map +1 -0
  118. package/build/cjs/{Content-Dy2XkiRi.js → components/Content/Content.js} +1 -1
  119. package/build/cjs/components/Content/Content.js.map +1 -0
  120. package/build/cjs/components/Drawer/Drawer.js +83 -0
  121. package/build/cjs/components/Drawer/Drawer.js.map +1 -0
  122. package/build/cjs/components/Drawer/Drawer.scss.js +9 -0
  123. package/build/cjs/components/Drawer/Drawer.scss.js.map +1 -0
  124. package/build/cjs/components/Drawer/utils.js +109 -0
  125. package/build/cjs/components/Drawer/utils.js.map +1 -0
  126. package/build/cjs/components/Footer/MenuItem/MenuItem.js +16 -0
  127. package/build/cjs/components/Footer/MenuItem/MenuItem.js.map +1 -0
  128. package/build/cjs/components/Footer/MenuItem/MenuItem.scss.js +9 -0
  129. package/build/cjs/components/Footer/MenuItem/MenuItem.scss.js.map +1 -0
  130. package/build/cjs/components/Footer/desktop/Footer.js +40 -0
  131. package/build/cjs/components/Footer/desktop/Footer.js.map +1 -0
  132. package/build/cjs/components/Footer/desktop/Footer.scss.js +9 -0
  133. package/build/cjs/components/Footer/desktop/Footer.scss.js.map +1 -0
  134. package/build/cjs/components/Footer/desktop/constants/moreItemsPopupProps.js +8 -0
  135. package/build/cjs/components/Footer/desktop/constants/moreItemsPopupProps.js.map +1 -0
  136. package/build/cjs/components/Footer/mobile/Footer.js +47 -0
  137. package/build/cjs/components/Footer/mobile/Footer.js.map +1 -0
  138. package/build/cjs/components/Footer/mobile/Footer.scss.js +9 -0
  139. package/build/cjs/components/Footer/mobile/Footer.scss.js.map +1 -0
  140. package/build/cjs/components/FooterItem/FooterItem.js +17 -0
  141. package/build/cjs/components/FooterItem/FooterItem.js.map +1 -0
  142. package/build/cjs/components/FooterItem/FooterItem.scss.js +9 -0
  143. package/build/cjs/components/FooterItem/FooterItem.scss.js.map +1 -0
  144. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +35 -0
  145. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -0
  146. package/build/cjs/components/HotkeysPanel/HotkeysPanel.scss.js +9 -0
  147. package/build/cjs/components/HotkeysPanel/HotkeysPanel.scss.js.map +1 -0
  148. package/build/cjs/components/HotkeysPanel/index.js +8 -0
  149. package/build/cjs/components/HotkeysPanel/index.js.map +1 -0
  150. package/build/cjs/components/HotkeysPanel/utils/filterHotkeys.js +19 -0
  151. package/build/cjs/components/HotkeysPanel/utils/filterHotkeys.js.map +1 -0
  152. package/build/cjs/components/HotkeysPanel/utils/flattenHotkeyGroups.js +16 -0
  153. package/build/cjs/components/HotkeysPanel/utils/flattenHotkeyGroups.js.map +1 -0
  154. package/build/cjs/components/Logo/Logo.js +33 -0
  155. package/build/cjs/components/Logo/Logo.js.map +1 -0
  156. package/build/cjs/components/Logo/Logo.scss.js +9 -0
  157. package/build/cjs/components/Logo/Logo.scss.js.map +1 -0
  158. package/build/cjs/components/MobileHeader/Burger/Burger.js +14 -0
  159. package/build/cjs/components/MobileHeader/Burger/Burger.js.map +1 -0
  160. package/build/cjs/components/MobileHeader/Burger/Burger.scss.js +9 -0
  161. package/build/cjs/components/MobileHeader/Burger/Burger.scss.js.map +1 -0
  162. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js +39 -0
  163. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js.map +1 -0
  164. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.scss.js +9 -0
  165. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.scss.js.map +1 -0
  166. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.js +20 -0
  167. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.js.map +1 -0
  168. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.scss.js +9 -0
  169. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.scss.js.map +1 -0
  170. package/build/cjs/components/MobileHeader/FooterItem/FooterItem.js +27 -0
  171. package/build/cjs/components/MobileHeader/FooterItem/FooterItem.js.map +1 -0
  172. package/build/cjs/components/MobileHeader/FooterItem/FooterItem.scss.js +9 -0
  173. package/build/cjs/components/MobileHeader/FooterItem/FooterItem.scss.js.map +1 -0
  174. package/build/cjs/components/MobileHeader/MobileHeader.js +148 -0
  175. package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -0
  176. package/build/cjs/components/MobileHeader/MobileHeader.scss.js +9 -0
  177. package/build/cjs/components/MobileHeader/MobileHeader.scss.js.map +1 -0
  178. package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js +28 -0
  179. package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +1 -0
  180. package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.scss.js +9 -0
  181. package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.scss.js.map +1 -0
  182. package/build/cjs/components/MobileHeader/constants.js +22 -0
  183. package/build/cjs/components/MobileHeader/constants.js.map +1 -0
  184. package/build/cjs/components/MobileHeader/i18n/en.json.js +18 -0
  185. package/build/cjs/components/MobileHeader/i18n/en.json.js.map +1 -0
  186. package/build/cjs/components/MobileHeader/i18n/index.js +12 -0
  187. package/build/cjs/components/MobileHeader/i18n/index.js.map +1 -0
  188. package/build/cjs/components/MobileHeader/i18n/ru.json.js +18 -0
  189. package/build/cjs/components/MobileHeader/i18n/ru.json.js.map +1 -0
  190. package/build/cjs/components/MobileHeader/index.js +14 -0
  191. package/build/cjs/components/MobileHeader/index.js.map +1 -0
  192. package/build/cjs/components/MobileHeader/utils.js +24 -0
  193. package/build/cjs/components/MobileHeader/utils.js.map +1 -0
  194. package/build/cjs/components/MobileLogo/MobileLogo.js +32 -0
  195. package/build/cjs/components/MobileLogo/MobileLogo.js.map +1 -0
  196. package/build/cjs/components/MobileLogo/MobileLogo.scss.js +9 -0
  197. package/build/cjs/components/MobileLogo/MobileLogo.scss.js.map +1 -0
  198. package/build/cjs/components/Settings/Selection/context.js +26 -0
  199. package/build/cjs/components/Settings/Selection/context.js.map +1 -0
  200. package/build/cjs/components/Settings/Selection/utils.js +22 -0
  201. package/build/cjs/components/Settings/Selection/utils.js.map +1 -0
  202. package/build/cjs/components/Settings/Settings.js +192 -0
  203. package/build/cjs/components/Settings/Settings.js.map +1 -0
  204. package/build/cjs/components/Settings/Settings.scss.js +9 -0
  205. package/build/cjs/components/Settings/Settings.scss.js.map +1 -0
  206. package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js +81 -0
  207. package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -0
  208. package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.scss.js +9 -0
  209. package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.scss.js.map +1 -0
  210. package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js +37 -0
  211. package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js.map +1 -0
  212. package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.scss.js +9 -0
  213. package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.scss.js.map +1 -0
  214. package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js +25 -0
  215. package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -0
  216. package/build/cjs/components/Settings/collect-settings.js +147 -0
  217. package/build/cjs/components/Settings/collect-settings.js.map +1 -0
  218. package/build/cjs/components/Settings/helpers.js +57 -0
  219. package/build/cjs/components/Settings/helpers.js.map +1 -0
  220. package/build/cjs/components/Settings/i18n/en.json.js +17 -0
  221. package/build/cjs/components/Settings/i18n/en.json.js.map +1 -0
  222. package/build/cjs/components/Settings/i18n/index.js +12 -0
  223. package/build/cjs/components/Settings/i18n/index.js.map +1 -0
  224. package/build/cjs/components/Settings/i18n/ru.json.js +17 -0
  225. package/build/cjs/components/Settings/i18n/ru.json.js.map +1 -0
  226. package/build/cjs/components/Settings/index.js +11 -0
  227. package/build/cjs/components/Settings/index.js.map +1 -0
  228. package/build/cjs/components/Title/Title.js +20 -0
  229. package/build/cjs/components/Title/Title.js.map +1 -0
  230. package/build/cjs/components/Title/Title.scss.js +9 -0
  231. package/build/cjs/components/Title/Title.scss.js.map +1 -0
  232. package/build/cjs/components/Title/i18n/en.json.js +12 -0
  233. package/build/cjs/components/Title/i18n/en.json.js.map +1 -0
  234. package/build/cjs/components/Title/i18n/index.js +12 -0
  235. package/build/cjs/components/Title/i18n/index.js.map +1 -0
  236. package/build/cjs/components/Title/i18n/ru.json.js +12 -0
  237. package/build/cjs/components/Title/i18n/ru.json.js.map +1 -0
  238. package/build/cjs/components/Title/index.js +8 -0
  239. package/build/cjs/components/Title/index.js.map +1 -0
  240. package/build/cjs/components/TopAlert/TopAlert.js +33 -0
  241. package/build/cjs/components/TopAlert/TopAlert.js.map +1 -0
  242. package/build/cjs/components/TopAlert/TopAlert.scss.js +9 -0
  243. package/build/cjs/components/TopAlert/TopAlert.scss.js.map +1 -0
  244. package/build/cjs/components/TopAlert/index.js +8 -0
  245. package/build/cjs/components/TopAlert/index.js.map +1 -0
  246. package/build/cjs/components/TopAlert/useTopAlertHeight.js +37 -0
  247. package/build/cjs/components/TopAlert/useTopAlertHeight.js.map +1 -0
  248. package/build/cjs/{constants-B0DLAQY9.js → components/constants.js} +1 -1
  249. package/build/cjs/components/constants.js.map +1 -0
  250. package/build/cjs/{cn-DSlPZbcs.js → components/utils/cn.js} +1 -1
  251. package/build/cjs/components/utils/cn.js.map +1 -0
  252. package/build/cjs/hooks/useForwardRef.js +21 -0
  253. package/build/cjs/hooks/useForwardRef.js.map +1 -0
  254. package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +66 -0
  255. package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -0
  256. package/build/cjs/index.js +43 -6
  257. package/build/cjs/index.js.map +1 -1
  258. package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +14 -0
  259. package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  260. package/build/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +10 -0
  261. package/build/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -0
  262. package/build/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +14 -0
  263. package/build/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  264. package/build/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +10 -0
  265. package/build/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
  266. package/build/cjs/node_modules/dom-helpers/esm/addClass.js +17 -0
  267. package/build/cjs/node_modules/dom-helpers/esm/addClass.js.map +1 -0
  268. package/build/cjs/node_modules/dom-helpers/esm/hasClass.js +15 -0
  269. package/build/cjs/node_modules/dom-helpers/esm/hasClass.js.map +1 -0
  270. package/build/cjs/node_modules/dom-helpers/esm/removeClass.js +25 -0
  271. package/build/cjs/node_modules/dom-helpers/esm/removeClass.js.map +1 -0
  272. package/build/cjs/node_modules/lodash/_Symbol.js +21 -0
  273. package/build/cjs/node_modules/lodash/_Symbol.js.map +1 -0
  274. package/build/cjs/node_modules/lodash/_baseGetTag.js +45 -0
  275. package/build/cjs/node_modules/lodash/_baseGetTag.js.map +1 -0
  276. package/build/cjs/node_modules/lodash/_baseTrim.js +34 -0
  277. package/build/cjs/node_modules/lodash/_baseTrim.js.map +1 -0
  278. package/build/cjs/node_modules/lodash/_freeGlobal.js +20 -0
  279. package/build/cjs/node_modules/lodash/_freeGlobal.js.map +1 -0
  280. package/build/cjs/node_modules/lodash/_getRawTag.js +61 -0
  281. package/build/cjs/node_modules/lodash/_getRawTag.js.map +1 -0
  282. package/build/cjs/node_modules/lodash/_objectToString.js +36 -0
  283. package/build/cjs/node_modules/lodash/_objectToString.js.map +1 -0
  284. package/build/cjs/node_modules/lodash/_root.js +24 -0
  285. package/build/cjs/node_modules/lodash/_root.js.map +1 -0
  286. package/build/cjs/node_modules/lodash/_trimmedEndIndex.js +33 -0
  287. package/build/cjs/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  288. package/build/cjs/node_modules/lodash/debounce.js +208 -0
  289. package/build/cjs/node_modules/lodash/debounce.js.map +1 -0
  290. package/build/cjs/node_modules/lodash/identity.js +35 -0
  291. package/build/cjs/node_modules/lodash/identity.js.map +1 -0
  292. package/build/cjs/node_modules/lodash/isObject.js +45 -0
  293. package/build/cjs/node_modules/lodash/isObject.js.map +1 -0
  294. package/build/cjs/node_modules/lodash/isObjectLike.js +43 -0
  295. package/build/cjs/node_modules/lodash/isObjectLike.js.map +1 -0
  296. package/build/cjs/node_modules/lodash/isSymbol.js +45 -0
  297. package/build/cjs/node_modules/lodash/isSymbol.js.map +1 -0
  298. package/build/cjs/node_modules/lodash/now.js +38 -0
  299. package/build/cjs/node_modules/lodash/now.js.map +1 -0
  300. package/build/cjs/node_modules/lodash/toNumber.js +81 -0
  301. package/build/cjs/node_modules/lodash/toNumber.js.map +1 -0
  302. package/build/cjs/node_modules/object-assign/index.js +102 -0
  303. package/build/cjs/node_modules/object-assign/index.js.map +1 -0
  304. package/build/cjs/node_modules/prop-types/checkPropTypes.js +118 -0
  305. package/build/cjs/node_modules/prop-types/checkPropTypes.js.map +1 -0
  306. package/build/cjs/node_modules/prop-types/factoryWithThrowingShims.js +77 -0
  307. package/build/cjs/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  308. package/build/cjs/node_modules/prop-types/factoryWithTypeCheckers.js +628 -0
  309. package/build/cjs/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  310. package/build/cjs/node_modules/prop-types/index.js +36 -0
  311. package/build/cjs/node_modules/prop-types/index.js.map +1 -0
  312. package/build/cjs/node_modules/prop-types/lib/ReactPropTypesSecret.js +24 -0
  313. package/build/cjs/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  314. package/build/cjs/node_modules/prop-types/lib/has.js +14 -0
  315. package/build/cjs/node_modules/prop-types/lib/has.js.map +1 -0
  316. package/build/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +193 -0
  317. package/build/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  318. package/build/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +29 -0
  319. package/build/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  320. package/build/cjs/node_modules/prop-types/node_modules/react-is/index.js +22 -0
  321. package/build/cjs/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  322. package/build/cjs/node_modules/react-transition-group/esm/CSSTransition.js +416 -0
  323. package/build/cjs/node_modules/react-transition-group/esm/CSSTransition.js.map +1 -0
  324. package/build/cjs/node_modules/react-transition-group/esm/Transition.js +637 -0
  325. package/build/cjs/node_modules/react-transition-group/esm/Transition.js.map +1 -0
  326. package/build/cjs/node_modules/react-transition-group/esm/TransitionGroupContext.js +8 -0
  327. package/build/cjs/node_modules/react-transition-group/esm/TransitionGroupContext.js.map +1 -0
  328. package/build/cjs/node_modules/react-transition-group/esm/config.js +8 -0
  329. package/build/cjs/node_modules/react-transition-group/esm/config.js.map +1 -0
  330. package/build/cjs/node_modules/react-transition-group/esm/utils/PropTypes.js +25 -0
  331. package/build/cjs/node_modules/react-transition-group/esm/utils/PropTypes.js.map +1 -0
  332. package/build/cjs/node_modules/react-transition-group/esm/utils/reflow.js +8 -0
  333. package/build/cjs/node_modules/react-transition-group/esm/utils/reflow.js.map +1 -0
  334. package/build/cjs/node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js +385 -0
  335. package/build/cjs/node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js.map +1 -0
  336. package/build/cjs/{style-inject.es-CsU6UJbw.js → node_modules/style-inject/dist/style-inject.es.js} +2 -2
  337. package/build/cjs/{style-inject.es-CsU6UJbw.js.map → node_modules/style-inject/dist/style-inject.es.js.map} +1 -1
  338. package/build/cjs/{tslib.es6-D25eJ2i9.js → node_modules/tslib/tslib.es6.js} +1 -1
  339. package/build/cjs/node_modules/tslib/tslib.es6.js.map +1 -0
  340. package/build/esm/{_commonjsHelpers-BFTU3MAI.js → _virtual/_commonjsHelpers.js} +2 -2
  341. package/build/esm/_virtual/_commonjsHelpers.js.map +1 -0
  342. package/build/esm/_virtual/debounce.js +8 -0
  343. package/build/esm/_virtual/debounce.js.map +1 -0
  344. package/build/esm/_virtual/identity.js +8 -0
  345. package/build/esm/_virtual/identity.js.map +1 -0
  346. package/build/esm/_virtual/index.js +8 -0
  347. package/build/esm/_virtual/index.js.map +1 -0
  348. package/build/esm/_virtual/index2.js +4 -0
  349. package/build/{cjs → esm/_virtual}/index2.js.map +1 -1
  350. package/build/esm/_virtual/index3.js +4 -0
  351. package/build/{cjs → esm/_virtual}/index3.js.map +1 -1
  352. package/build/esm/_virtual/react-is.development.js +4 -0
  353. package/build/esm/_virtual/react-is.development.js.map +1 -0
  354. package/build/esm/_virtual/react-is.production.min.js +4 -0
  355. package/build/esm/_virtual/react-is.production.min.js.map +1 -0
  356. package/build/esm/assets/icons/control-menu-button.svg.js +18 -0
  357. package/build/esm/assets/icons/control-menu-button.svg.js.map +1 -0
  358. package/build/esm/{divider-collapsed-BgKmR8h9.js → assets/icons/divider-collapsed.svg.js} +2 -2
  359. package/build/esm/assets/icons/divider-collapsed.svg.js.map +1 -0
  360. package/build/esm/components/ActionBar/ActionBar.js +22 -0
  361. package/build/esm/components/ActionBar/ActionBar.js.map +1 -0
  362. package/build/esm/components/ActionBar/ActionBar.scss.js +7 -0
  363. package/build/esm/components/ActionBar/ActionBar.scss.js.map +1 -0
  364. package/build/esm/components/ActionBar/Group/ActionBarGroup.js +12 -0
  365. package/build/esm/components/ActionBar/Group/ActionBarGroup.js.map +1 -0
  366. package/build/esm/components/ActionBar/Group/ActionBarGroup.scss.js +7 -0
  367. package/build/esm/components/ActionBar/Group/ActionBarGroup.scss.js.map +1 -0
  368. package/build/esm/components/ActionBar/Item/ActionBarItem.js +12 -0
  369. package/build/esm/components/ActionBar/Item/ActionBarItem.js.map +1 -0
  370. package/build/esm/components/ActionBar/Item/ActionBarItem.scss.js +7 -0
  371. package/build/esm/components/ActionBar/Item/ActionBarItem.scss.js.map +1 -0
  372. package/build/esm/components/ActionBar/Section/ActionBarSection.js +12 -0
  373. package/build/esm/components/ActionBar/Section/ActionBarSection.js.map +1 -0
  374. package/build/esm/components/ActionBar/Section/ActionBarSection.scss.js +7 -0
  375. package/build/esm/components/ActionBar/Section/ActionBarSection.scss.js.map +1 -0
  376. package/build/esm/components/ActionBar/Separator/ActionBarSeparator.js +12 -0
  377. package/build/esm/components/ActionBar/Separator/ActionBarSeparator.js.map +1 -0
  378. package/build/esm/components/ActionBar/Separator/ActionBarSeparator.scss.js +7 -0
  379. package/build/esm/components/ActionBar/Separator/ActionBarSeparator.scss.js.map +1 -0
  380. package/build/esm/components/ActionBar/index.js +2 -0
  381. package/build/esm/components/ActionBar/index.js.map +1 -0
  382. package/build/esm/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +30 -0
  383. package/build/esm/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
  384. package/build/esm/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.scss.js +7 -0
  385. package/build/esm/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.scss.js.map +1 -0
  386. package/build/esm/components/AllPagesPanel/AllPagesPanel.js +99 -0
  387. package/build/esm/components/AllPagesPanel/AllPagesPanel.js.map +1 -0
  388. package/build/esm/components/AllPagesPanel/AllPagesPanel.scss.js +7 -0
  389. package/build/esm/components/AllPagesPanel/AllPagesPanel.scss.js.map +1 -0
  390. package/build/esm/components/AllPagesPanel/constants.js +15 -0
  391. package/build/esm/components/AllPagesPanel/constants.js.map +1 -0
  392. package/build/esm/components/AllPagesPanel/i18n/en.json.js +10 -0
  393. package/build/esm/components/AllPagesPanel/i18n/en.json.js.map +1 -0
  394. package/build/esm/components/AllPagesPanel/i18n/index.js +10 -0
  395. package/build/esm/components/AllPagesPanel/i18n/index.js.map +1 -0
  396. package/build/esm/components/AllPagesPanel/i18n/ru.json.js +10 -0
  397. package/build/esm/components/AllPagesPanel/i18n/ru.json.js.map +1 -0
  398. package/build/esm/components/AllPagesPanel/useGroupedMenuItems.js +31 -0
  399. package/build/esm/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -0
  400. package/build/esm/components/AllPagesPanel/useVisibleMenuItems.js +27 -0
  401. package/build/esm/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
  402. package/build/esm/components/AsideHeader/AsideHeader.js +15 -0
  403. package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -0
  404. package/build/esm/{PageLayout.js → components/AsideHeader/AsideHeader.scss.js} +3 -28
  405. package/build/esm/components/AsideHeader/AsideHeader.scss.js.map +1 -0
  406. package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -0
  407. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +23 -0
  408. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -0
  409. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.scss.js +7 -0
  410. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.scss.js.map +1 -0
  411. package/build/esm/components/AsideHeader/components/FirstPanel.js +40 -0
  412. package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -0
  413. package/build/esm/components/AsideHeader/components/Header.js +26 -0
  414. package/build/esm/components/AsideHeader/components/Header.js.map +1 -0
  415. package/build/esm/{AsideFallback.js → components/AsideHeader/components/PageLayout/AsideFallback.js} +4 -6
  416. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -0
  417. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +27 -0
  418. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -0
  419. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +15 -0
  420. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -0
  421. package/build/esm/components/AsideHeader/components/Panels.js +12 -0
  422. package/build/esm/components/AsideHeader/components/Panels.js.map +1 -0
  423. package/build/esm/components/AsideHeader/i18n/en.json.js +11 -0
  424. package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -0
  425. package/build/esm/components/AsideHeader/i18n/index.js +10 -0
  426. package/build/esm/components/AsideHeader/i18n/index.js.map +1 -0
  427. package/build/esm/components/AsideHeader/i18n/ru.json.js +11 -0
  428. package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -0
  429. package/build/esm/components/AsideHeader/types.js +7 -0
  430. package/build/esm/components/AsideHeader/types.js.map +1 -0
  431. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +60 -0
  432. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -0
  433. package/build/esm/components/AsideHeader/utils.js +6 -0
  434. package/build/esm/components/AsideHeader/utils.js.map +1 -0
  435. package/build/esm/components/CompositeBar/CompositeBar.js +152 -0
  436. package/build/esm/components/CompositeBar/CompositeBar.js.map +1 -0
  437. package/build/esm/components/CompositeBar/CompositeBar.scss.js +7 -0
  438. package/build/esm/components/CompositeBar/CompositeBar.scss.js.map +1 -0
  439. package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.js +51 -0
  440. package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -0
  441. package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.scss.js +7 -0
  442. package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.scss.js.map +1 -0
  443. package/build/esm/components/CompositeBar/Item/Item.js +174 -0
  444. package/build/esm/components/CompositeBar/Item/Item.js.map +1 -0
  445. package/build/esm/components/CompositeBar/Item/Item.scss.js +7 -0
  446. package/build/esm/components/CompositeBar/Item/Item.scss.js.map +1 -0
  447. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +30 -0
  448. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
  449. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.scss.js +7 -0
  450. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.scss.js.map +1 -0
  451. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +26 -0
  452. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
  453. package/build/esm/components/CompositeBar/constants.js +7 -0
  454. package/build/esm/components/CompositeBar/constants.js.map +1 -0
  455. package/build/esm/components/CompositeBar/utils.js +98 -0
  456. package/build/esm/components/CompositeBar/utils.js.map +1 -0
  457. package/build/esm/{Content-c3e3OunO.js → components/Content/Content.js} +2 -2
  458. package/build/esm/components/Content/Content.js.map +1 -0
  459. package/build/esm/components/Drawer/Drawer.js +80 -0
  460. package/build/esm/components/Drawer/Drawer.js.map +1 -0
  461. package/build/esm/components/Drawer/Drawer.scss.js +7 -0
  462. package/build/esm/components/Drawer/Drawer.scss.js.map +1 -0
  463. package/build/esm/components/Drawer/utils.js +84 -0
  464. package/build/esm/components/Drawer/utils.js.map +1 -0
  465. package/build/esm/components/Footer/MenuItem/MenuItem.js +14 -0
  466. package/build/esm/components/Footer/MenuItem/MenuItem.js.map +1 -0
  467. package/build/esm/components/Footer/MenuItem/MenuItem.scss.js +7 -0
  468. package/build/esm/components/Footer/MenuItem/MenuItem.scss.js.map +1 -0
  469. package/build/esm/components/Footer/desktop/Footer.js +38 -0
  470. package/build/esm/components/Footer/desktop/Footer.js.map +1 -0
  471. package/build/esm/components/Footer/desktop/Footer.scss.js +7 -0
  472. package/build/esm/components/Footer/desktop/Footer.scss.js.map +1 -0
  473. package/build/esm/components/Footer/desktop/constants/moreItemsPopupProps.js +6 -0
  474. package/build/esm/components/Footer/desktop/constants/moreItemsPopupProps.js.map +1 -0
  475. package/build/esm/components/Footer/mobile/Footer.js +45 -0
  476. package/build/esm/components/Footer/mobile/Footer.js.map +1 -0
  477. package/build/esm/components/Footer/mobile/Footer.scss.js +7 -0
  478. package/build/esm/components/Footer/mobile/Footer.scss.js.map +1 -0
  479. package/build/esm/components/FooterItem/FooterItem.js +15 -0
  480. package/build/esm/components/FooterItem/FooterItem.js.map +1 -0
  481. package/build/esm/components/FooterItem/FooterItem.scss.js +7 -0
  482. package/build/esm/components/FooterItem/FooterItem.scss.js.map +1 -0
  483. package/build/esm/components/HotkeysPanel/HotkeysPanel.js +33 -0
  484. package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -0
  485. package/build/esm/components/HotkeysPanel/HotkeysPanel.scss.js +7 -0
  486. package/build/esm/components/HotkeysPanel/HotkeysPanel.scss.js.map +1 -0
  487. package/build/esm/components/HotkeysPanel/index.js +2 -0
  488. package/build/esm/components/HotkeysPanel/index.js.map +1 -0
  489. package/build/esm/components/HotkeysPanel/utils/filterHotkeys.js +17 -0
  490. package/build/esm/components/HotkeysPanel/utils/filterHotkeys.js.map +1 -0
  491. package/build/esm/components/HotkeysPanel/utils/flattenHotkeyGroups.js +14 -0
  492. package/build/esm/components/HotkeysPanel/utils/flattenHotkeyGroups.js.map +1 -0
  493. package/build/esm/components/Logo/Logo.js +31 -0
  494. package/build/esm/components/Logo/Logo.js.map +1 -0
  495. package/build/esm/components/Logo/Logo.scss.js +7 -0
  496. package/build/esm/components/Logo/Logo.scss.js.map +1 -0
  497. package/build/esm/components/MobileHeader/Burger/Burger.js +12 -0
  498. package/build/esm/components/MobileHeader/Burger/Burger.js.map +1 -0
  499. package/build/esm/components/MobileHeader/Burger/Burger.scss.js +7 -0
  500. package/build/esm/components/MobileHeader/Burger/Burger.scss.js.map +1 -0
  501. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js +37 -0
  502. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js.map +1 -0
  503. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.scss.js +7 -0
  504. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.scss.js.map +1 -0
  505. package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.js +18 -0
  506. package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.js.map +1 -0
  507. package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.scss.js +7 -0
  508. package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.scss.js.map +1 -0
  509. package/build/esm/components/MobileHeader/FooterItem/FooterItem.js +25 -0
  510. package/build/esm/components/MobileHeader/FooterItem/FooterItem.js.map +1 -0
  511. package/build/esm/components/MobileHeader/FooterItem/FooterItem.scss.js +7 -0
  512. package/build/esm/components/MobileHeader/FooterItem/FooterItem.scss.js.map +1 -0
  513. package/build/esm/components/MobileHeader/MobileHeader.js +146 -0
  514. package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -0
  515. package/build/esm/components/MobileHeader/MobileHeader.scss.js +7 -0
  516. package/build/esm/components/MobileHeader/MobileHeader.scss.js.map +1 -0
  517. package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js +26 -0
  518. package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +1 -0
  519. package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.scss.js +7 -0
  520. package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.scss.js.map +1 -0
  521. package/build/esm/components/MobileHeader/constants.js +14 -0
  522. package/build/esm/components/MobileHeader/constants.js.map +1 -0
  523. package/build/esm/components/MobileHeader/i18n/en.json.js +11 -0
  524. package/build/esm/components/MobileHeader/i18n/en.json.js.map +1 -0
  525. package/build/esm/components/MobileHeader/i18n/index.js +10 -0
  526. package/build/esm/components/MobileHeader/i18n/index.js.map +1 -0
  527. package/build/esm/components/MobileHeader/i18n/ru.json.js +11 -0
  528. package/build/esm/components/MobileHeader/i18n/ru.json.js.map +1 -0
  529. package/build/esm/components/MobileHeader/index.js +5 -0
  530. package/build/esm/components/MobileHeader/index.js.map +1 -0
  531. package/build/esm/components/MobileHeader/utils.js +20 -0
  532. package/build/esm/components/MobileHeader/utils.js.map +1 -0
  533. package/build/esm/components/MobileLogo/MobileLogo.js +30 -0
  534. package/build/esm/components/MobileLogo/MobileLogo.js.map +1 -0
  535. package/build/esm/components/MobileLogo/MobileLogo.scss.js +7 -0
  536. package/build/esm/components/MobileLogo/MobileLogo.scss.js.map +1 -0
  537. package/build/esm/components/Settings/Selection/context.js +22 -0
  538. package/build/esm/components/Settings/Selection/context.js.map +1 -0
  539. package/build/esm/components/Settings/Selection/utils.js +20 -0
  540. package/build/esm/components/Settings/Selection/utils.js.map +1 -0
  541. package/build/esm/components/Settings/Settings.js +189 -0
  542. package/build/esm/components/Settings/Settings.js.map +1 -0
  543. package/build/esm/components/Settings/Settings.scss.js +7 -0
  544. package/build/esm/components/Settings/Settings.scss.js.map +1 -0
  545. package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js +79 -0
  546. package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -0
  547. package/build/esm/components/Settings/SettingsMenu/SettingsMenu.scss.js +7 -0
  548. package/build/esm/components/Settings/SettingsMenu/SettingsMenu.scss.js.map +1 -0
  549. package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js +35 -0
  550. package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js.map +1 -0
  551. package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.scss.js +7 -0
  552. package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.scss.js.map +1 -0
  553. package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js +23 -0
  554. package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -0
  555. package/build/esm/components/Settings/collect-settings.js +144 -0
  556. package/build/esm/components/Settings/collect-settings.js.map +1 -0
  557. package/build/esm/components/Settings/helpers.js +33 -0
  558. package/build/esm/components/Settings/helpers.js.map +1 -0
  559. package/build/esm/components/Settings/i18n/en.json.js +11 -0
  560. package/build/esm/components/Settings/i18n/en.json.js.map +1 -0
  561. package/build/esm/components/Settings/i18n/index.js +10 -0
  562. package/build/esm/components/Settings/i18n/index.js.map +1 -0
  563. package/build/esm/components/Settings/i18n/ru.json.js +11 -0
  564. package/build/esm/components/Settings/i18n/ru.json.js.map +1 -0
  565. package/build/esm/components/Settings/index.js +3 -0
  566. package/build/esm/components/Settings/index.js.map +1 -0
  567. package/build/esm/components/Title/Title.js +18 -0
  568. package/build/esm/components/Title/Title.js.map +1 -0
  569. package/build/esm/components/Title/Title.scss.js +7 -0
  570. package/build/esm/components/Title/Title.scss.js.map +1 -0
  571. package/build/esm/components/Title/i18n/en.json.js +7 -0
  572. package/build/esm/components/Title/i18n/en.json.js.map +1 -0
  573. package/build/esm/components/Title/i18n/index.js +10 -0
  574. package/build/esm/components/Title/i18n/index.js.map +1 -0
  575. package/build/esm/components/Title/i18n/ru.json.js +7 -0
  576. package/build/esm/components/Title/i18n/ru.json.js.map +1 -0
  577. package/build/esm/components/Title/index.js +2 -0
  578. package/build/esm/components/Title/index.js.map +1 -0
  579. package/build/esm/components/TopAlert/TopAlert.js +31 -0
  580. package/build/esm/components/TopAlert/TopAlert.js.map +1 -0
  581. package/build/esm/components/TopAlert/TopAlert.scss.js +7 -0
  582. package/build/esm/components/TopAlert/TopAlert.scss.js.map +1 -0
  583. package/build/esm/components/TopAlert/index.js +2 -0
  584. package/build/esm/components/TopAlert/index.js.map +1 -0
  585. package/build/esm/components/TopAlert/useTopAlertHeight.js +35 -0
  586. package/build/esm/components/TopAlert/useTopAlertHeight.js.map +1 -0
  587. package/build/esm/components/constants.js +8 -0
  588. package/build/esm/components/constants.js.map +1 -0
  589. package/build/esm/{cn-CgiqTV3v.js → components/utils/cn.js} +2 -2
  590. package/build/esm/components/utils/cn.js.map +1 -0
  591. package/build/esm/hooks/useForwardRef.js +19 -0
  592. package/build/esm/hooks/useForwardRef.js.map +1 -0
  593. package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +64 -0
  594. package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -0
  595. package/build/esm/index.js +20 -5
  596. package/build/esm/index.js.map +1 -1
  597. package/build/esm/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  598. package/build/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  599. package/build/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +8 -0
  600. package/build/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -0
  601. package/build/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
  602. package/build/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  603. package/build/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
  604. package/build/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
  605. package/build/esm/node_modules/dom-helpers/esm/addClass.js +15 -0
  606. package/build/esm/node_modules/dom-helpers/esm/addClass.js.map +1 -0
  607. package/build/esm/node_modules/dom-helpers/esm/hasClass.js +13 -0
  608. package/build/esm/node_modules/dom-helpers/esm/hasClass.js.map +1 -0
  609. package/build/esm/node_modules/dom-helpers/esm/removeClass.js +23 -0
  610. package/build/esm/node_modules/dom-helpers/esm/removeClass.js.map +1 -0
  611. package/build/esm/node_modules/lodash/_Symbol.js +19 -0
  612. package/build/esm/node_modules/lodash/_Symbol.js.map +1 -0
  613. package/build/esm/node_modules/lodash/_baseGetTag.js +43 -0
  614. package/build/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
  615. package/build/esm/node_modules/lodash/_baseTrim.js +32 -0
  616. package/build/esm/node_modules/lodash/_baseTrim.js.map +1 -0
  617. package/build/esm/node_modules/lodash/_freeGlobal.js +18 -0
  618. package/build/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
  619. package/build/esm/node_modules/lodash/_getRawTag.js +59 -0
  620. package/build/esm/node_modules/lodash/_getRawTag.js.map +1 -0
  621. package/build/esm/node_modules/lodash/_objectToString.js +34 -0
  622. package/build/esm/node_modules/lodash/_objectToString.js.map +1 -0
  623. package/build/esm/node_modules/lodash/_root.js +22 -0
  624. package/build/esm/node_modules/lodash/_root.js.map +1 -0
  625. package/build/esm/node_modules/lodash/_trimmedEndIndex.js +31 -0
  626. package/build/esm/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  627. package/build/esm/node_modules/lodash/debounce.js +206 -0
  628. package/build/esm/node_modules/lodash/debounce.js.map +1 -0
  629. package/build/esm/node_modules/lodash/identity.js +33 -0
  630. package/build/esm/node_modules/lodash/identity.js.map +1 -0
  631. package/build/esm/node_modules/lodash/isObject.js +43 -0
  632. package/build/esm/node_modules/lodash/isObject.js.map +1 -0
  633. package/build/esm/node_modules/lodash/isObjectLike.js +41 -0
  634. package/build/esm/node_modules/lodash/isObjectLike.js.map +1 -0
  635. package/build/esm/node_modules/lodash/isSymbol.js +43 -0
  636. package/build/esm/node_modules/lodash/isSymbol.js.map +1 -0
  637. package/build/esm/node_modules/lodash/now.js +36 -0
  638. package/build/esm/node_modules/lodash/now.js.map +1 -0
  639. package/build/esm/node_modules/lodash/toNumber.js +79 -0
  640. package/build/esm/node_modules/lodash/toNumber.js.map +1 -0
  641. package/build/esm/node_modules/object-assign/index.js +100 -0
  642. package/build/esm/node_modules/object-assign/index.js.map +1 -0
  643. package/build/esm/node_modules/prop-types/checkPropTypes.js +116 -0
  644. package/build/esm/node_modules/prop-types/checkPropTypes.js.map +1 -0
  645. package/build/esm/node_modules/prop-types/factoryWithThrowingShims.js +75 -0
  646. package/build/esm/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  647. package/build/esm/node_modules/prop-types/factoryWithTypeCheckers.js +626 -0
  648. package/build/esm/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  649. package/build/esm/node_modules/prop-types/index.js +34 -0
  650. package/build/esm/node_modules/prop-types/index.js.map +1 -0
  651. package/build/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js +22 -0
  652. package/build/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  653. package/build/esm/node_modules/prop-types/lib/has.js +12 -0
  654. package/build/esm/node_modules/prop-types/lib/has.js.map +1 -0
  655. package/build/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +191 -0
  656. package/build/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  657. package/build/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +27 -0
  658. package/build/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  659. package/build/esm/node_modules/prop-types/node_modules/react-is/index.js +20 -0
  660. package/build/esm/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  661. package/build/esm/node_modules/react-transition-group/esm/CSSTransition.js +414 -0
  662. package/build/esm/node_modules/react-transition-group/esm/CSSTransition.js.map +1 -0
  663. package/build/esm/node_modules/react-transition-group/esm/Transition.js +628 -0
  664. package/build/esm/node_modules/react-transition-group/esm/Transition.js.map +1 -0
  665. package/build/esm/node_modules/react-transition-group/esm/TransitionGroupContext.js +6 -0
  666. package/build/esm/node_modules/react-transition-group/esm/TransitionGroupContext.js.map +1 -0
  667. package/build/esm/node_modules/react-transition-group/esm/config.js +6 -0
  668. package/build/esm/node_modules/react-transition-group/esm/config.js.map +1 -0
  669. package/build/esm/node_modules/react-transition-group/esm/utils/PropTypes.js +22 -0
  670. package/build/esm/node_modules/react-transition-group/esm/utils/PropTypes.js.map +1 -0
  671. package/build/esm/node_modules/react-transition-group/esm/utils/reflow.js +6 -0
  672. package/build/esm/node_modules/react-transition-group/esm/utils/reflow.js.map +1 -0
  673. package/build/esm/node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js +383 -0
  674. package/build/esm/node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js.map +1 -0
  675. package/build/esm/{style-inject.es-Bff-fD1R.js → node_modules/style-inject/dist/style-inject.es.js} +2 -2
  676. package/build/esm/{style-inject.es-Bff-fD1R.js.map → node_modules/style-inject/dist/style-inject.es.js.map} +1 -1
  677. package/build/esm/{tslib.es6-BCqiemNI.js → node_modules/tslib/tslib.es6.js} +2 -2
  678. package/build/esm/node_modules/tslib/tslib.es6.js.map +1 -0
  679. package/package.json +1 -1
  680. package/build/cjs/ActionBar-_qjZ9IMA.js +0 -59
  681. package/build/cjs/ActionBar-_qjZ9IMA.js.map +0 -1
  682. package/build/cjs/AsideFallback.js.map +0 -1
  683. package/build/cjs/AsideHeader.js +0 -33
  684. package/build/cjs/AsideHeader.js.map +0 -1
  685. package/build/cjs/AsideHeaderContext.js.map +0 -1
  686. package/build/cjs/Content-Dy2XkiRi.js.map +0 -1
  687. package/build/cjs/Drawer.js +0 -2493
  688. package/build/cjs/Drawer.js.map +0 -1
  689. package/build/cjs/FooterItem-CLk0aHrc.js +0 -332
  690. package/build/cjs/FooterItem-CLk0aHrc.js.map +0 -1
  691. package/build/cjs/FooterItem.js +0 -26
  692. package/build/cjs/FooterItem.js.map +0 -1
  693. package/build/cjs/HotkeysPanel-C436myZY.js +0 -63
  694. package/build/cjs/HotkeysPanel-C436myZY.js.map +0 -1
  695. package/build/cjs/Item-CLHysLDd.js +0 -328
  696. package/build/cjs/Item-CLHysLDd.js.map +0 -1
  697. package/build/cjs/PageLayout.js.map +0 -1
  698. package/build/cjs/PageLayoutAside-SMHlPBAO.js +0 -979
  699. package/build/cjs/PageLayoutAside-SMHlPBAO.js.map +0 -1
  700. package/build/cjs/PageLayoutAside.js +0 -24
  701. package/build/cjs/PageLayoutAside.js.map +0 -1
  702. package/build/cjs/Settings-x0a3P0Vr.js +0 -586
  703. package/build/cjs/Settings-x0a3P0Vr.js.map +0 -1
  704. package/build/cjs/Title-CzxcSMoP.js +0 -36
  705. package/build/cjs/Title-CzxcSMoP.js.map +0 -1
  706. package/build/cjs/_commonjsHelpers-BJu3ubxk.js.map +0 -1
  707. package/build/cjs/cn-DSlPZbcs.js.map +0 -1
  708. package/build/cjs/constants-B0DLAQY9.js.map +0 -1
  709. package/build/cjs/debounce-RFF04eVR.js +0 -660
  710. package/build/cjs/debounce-RFF04eVR.js.map +0 -1
  711. package/build/cjs/divider-collapsed-BLSp99lJ.js.map +0 -1
  712. package/build/cjs/index-B6c8DVdr.js +0 -68
  713. package/build/cjs/index-B6c8DVdr.js.map +0 -1
  714. package/build/cjs/index2.js +0 -15
  715. package/build/cjs/index3.js +0 -17
  716. package/build/cjs/index4.js +0 -21
  717. package/build/cjs/index4.js.map +0 -1
  718. package/build/cjs/index5.js +0 -22
  719. package/build/cjs/index5.js.map +0 -1
  720. package/build/cjs/index6.js +0 -194
  721. package/build/cjs/index6.js.map +0 -1
  722. package/build/cjs/tslib.es6-D25eJ2i9.js.map +0 -1
  723. package/build/cjs/utils-BrRoop7o.js +0 -8
  724. package/build/cjs/utils-BrRoop7o.js.map +0 -1
  725. package/build/esm/ActionBar-BD_roj92.js +0 -57
  726. package/build/esm/ActionBar-BD_roj92.js.map +0 -1
  727. package/build/esm/AsideFallback.js.map +0 -1
  728. package/build/esm/AsideHeader.js +0 -31
  729. package/build/esm/AsideHeader.js.map +0 -1
  730. package/build/esm/AsideHeaderContext.js.map +0 -1
  731. package/build/esm/Content-c3e3OunO.js.map +0 -1
  732. package/build/esm/Drawer.js +0 -2472
  733. package/build/esm/Drawer.js.map +0 -1
  734. package/build/esm/FooterItem-DuFjLZPI.js +0 -326
  735. package/build/esm/FooterItem-DuFjLZPI.js.map +0 -1
  736. package/build/esm/FooterItem.js +0 -24
  737. package/build/esm/FooterItem.js.map +0 -1
  738. package/build/esm/HotkeysPanel-BWL1Xkqi.js +0 -61
  739. package/build/esm/HotkeysPanel-BWL1Xkqi.js.map +0 -1
  740. package/build/esm/Item-BU0M-jfC.js +0 -318
  741. package/build/esm/Item-BU0M-jfC.js.map +0 -1
  742. package/build/esm/PageLayout.js.map +0 -1
  743. package/build/esm/PageLayoutAside-Bd3aJNrH.js +0 -958
  744. package/build/esm/PageLayoutAside-Bd3aJNrH.js.map +0 -1
  745. package/build/esm/PageLayoutAside.js +0 -18
  746. package/build/esm/PageLayoutAside.js.map +0 -1
  747. package/build/esm/Settings-BC6Kmplf.js +0 -564
  748. package/build/esm/Settings-BC6Kmplf.js.map +0 -1
  749. package/build/esm/Title-CRlzgg4r.js +0 -34
  750. package/build/esm/Title-CRlzgg4r.js.map +0 -1
  751. package/build/esm/_commonjsHelpers-BFTU3MAI.js.map +0 -1
  752. package/build/esm/cn-CgiqTV3v.js.map +0 -1
  753. package/build/esm/constants-ChYDZ5F2.js +0 -8
  754. package/build/esm/constants-ChYDZ5F2.js.map +0 -1
  755. package/build/esm/debounce-DW3XyyUs.js +0 -658
  756. package/build/esm/debounce-DW3XyyUs.js.map +0 -1
  757. package/build/esm/divider-collapsed-BgKmR8h9.js.map +0 -1
  758. package/build/esm/index-BLdwsphX.js +0 -66
  759. package/build/esm/index-BLdwsphX.js.map +0 -1
  760. package/build/esm/index2.js +0 -9
  761. package/build/esm/index3.js +0 -11
  762. package/build/esm/index4.js +0 -13
  763. package/build/esm/index4.js.map +0 -1
  764. package/build/esm/index5.js +0 -13
  765. package/build/esm/index5.js.map +0 -1
  766. package/build/esm/index6.js +0 -171
  767. package/build/esm/index6.js.map +0 -1
  768. package/build/esm/tslib.es6-BCqiemNI.js.map +0 -1
  769. package/build/esm/utils-D0s6YtvW.js +0 -6
  770. package/build/esm/utils-D0s6YtvW.js.map +0 -1
  771. /package/build/cjs/{AsideHeaderContext.js → components/AsideHeader/AsideHeaderContext.js} +0 -0
  772. /package/build/esm/{AsideHeaderContext.js → components/AsideHeader/AsideHeaderContext.js} +0 -0
@@ -0,0 +1,26 @@
1
+ import React__default from 'react';
2
+
3
+ const multipleTooltipContextDefaults = {
4
+ active: false,
5
+ activeIndex: undefined,
6
+ hideCollapseItemTooltip: false,
7
+ lastClickedItemIndex: undefined,
8
+ setValue: () => { },
9
+ };
10
+ const MultipleTooltipContext = React__default.createContext(multipleTooltipContextDefaults);
11
+ class MultipleTooltipProvider extends React__default.PureComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.state = Object.assign({}, multipleTooltipContextDefaults);
15
+ this.setValue = (value) => {
16
+ this.setState(Object.assign({}, value));
17
+ };
18
+ }
19
+ render() {
20
+ const { children } = this.props;
21
+ return (React__default.createElement(MultipleTooltipContext.Provider, { value: Object.assign(Object.assign({}, this.state), { setValue: this.setValue }) }, children));
22
+ }
23
+ }
24
+
25
+ export { MultipleTooltipContext, MultipleTooltipProvider };
26
+ //# sourceMappingURL=MultipleTooltipContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipleTooltipContext.js","sources":["../../../../../../src/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.tsx"],"sourcesContent":["import React from 'react';\n\ninterface MultipleTooltipContextProps {\n active: boolean;\n activeIndex: number | undefined;\n hideCollapseItemTooltip: boolean;\n lastClickedItemIndex: number | undefined;\n setValue<K extends keyof Omit<MultipleTooltipContextProps, 'setValue'>>(\n value:\n | Pick<Omit<MultipleTooltipContextProps, 'setValue'>, K>\n | Omit<MultipleTooltipContextProps, 'setValue'>,\n ): void;\n}\n\nconst multipleTooltipContextDefaults = {\n active: false,\n activeIndex: undefined,\n hideCollapseItemTooltip: false,\n lastClickedItemIndex: undefined,\n setValue: () => {},\n};\n\nexport const MultipleTooltipContext = React.createContext<MultipleTooltipContextProps>(\n multipleTooltipContextDefaults,\n);\n\ntype MultipleTooltipProviderState = Omit<MultipleTooltipContextProps, 'setValue'>;\n\nexport class MultipleTooltipProvider extends React.PureComponent<\n {children: React.ReactNode},\n MultipleTooltipProviderState\n> {\n state = {\n ...multipleTooltipContextDefaults,\n };\n\n setValue: MultipleTooltipContextProps['setValue'] = (value) => {\n this.setState({...value});\n };\n\n render() {\n const {children} = this.props;\n\n return (\n <MultipleTooltipContext.Provider value={{...this.state, setValue: this.setValue}}>\n {children}\n </MultipleTooltipContext.Provider>\n );\n }\n}\n"],"names":["React"],"mappings":";;AAcA,MAAM,8BAA8B,GAAG;AACnC,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,QAAQ,EAAE,MAAK,GAAG;CACrB;AAEY,MAAA,sBAAsB,GAAGA,cAAK,CAAC,aAAa,CACrD,8BAA8B;AAKrB,MAAA,uBAAwB,SAAQA,cAAK,CAAC,aAGlD,CAAA;AAHD,IAAA,WAAA,GAAA;;QAII,IAAK,CAAA,KAAA,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACE,8BAA8B,CACnC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAA4C,CAAC,KAAK,KAAI;AAC1D,YAAA,IAAI,CAAC,QAAQ,CAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,EAAE;AAC7B,SAAC;;IAED,MAAM,GAAA;AACF,QAAA,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,KAAK;QAE7B,QACIA,6BAAC,sBAAsB,CAAC,QAAQ,EAAC,EAAA,KAAK,kCAAM,IAAI,CAAC,KAAK,CAAE,EAAA,EAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAC1E,CAAA,EAAA,EAAA,QAAQ,CACqB;;AAG7C;;;;"}
@@ -0,0 +1,7 @@
1
+ const ITEM_TYPE_REGULAR = 'regular';
2
+ const COLLAPSE_ITEM_ID = 'collapse-item-id';
3
+ const POPUP_PLACEMENT = ['right-start', 'right-end', 'right'];
4
+ const POPUP_ITEM_HEIGHT = 28;
5
+
6
+ export { COLLAPSE_ITEM_ID, ITEM_TYPE_REGULAR, POPUP_ITEM_HEIGHT, POPUP_PLACEMENT };
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../../src/components/CompositeBar/constants.ts"],"sourcesContent":["import {PopupPlacement} from '@gravity-ui/uikit';\n\nexport const ITEM_TYPE_REGULAR = 'regular';\nexport const COLLAPSE_ITEM_ID = 'collapse-item-id';\n\nexport const POPUP_PLACEMENT: PopupPlacement = ['right-start', 'right-end', 'right'];\nexport const POPUP_ITEM_HEIGHT = 28;\n"],"names":[],"mappings":"AAEO,MAAM,iBAAiB,GAAG;AAC1B,MAAM,gBAAgB,GAAG;AAEnB,MAAA,eAAe,GAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO;AAC5E,MAAM,iBAAiB,GAAG;;;;"}
@@ -0,0 +1,98 @@
1
+ import { Ellipsis } from '@gravity-ui/icons';
2
+ import { ITEM_HEIGHT } from '../constants.js';
3
+ import { COLLAPSE_ITEM_ID } from './constants.js';
4
+
5
+ function getItemHeight(item) {
6
+ if (!isMenuItem(item)) {
7
+ return ITEM_HEIGHT;
8
+ }
9
+ switch (item.type) {
10
+ case 'action':
11
+ return 50;
12
+ case 'divider':
13
+ return 15;
14
+ default:
15
+ return ITEM_HEIGHT;
16
+ }
17
+ }
18
+ function getItemsHeight(items) {
19
+ return items.reduce((sum, item) => sum + getItemHeight(item), 0);
20
+ }
21
+ function getSelectedItemIndex(items) {
22
+ const index = items.findIndex(({ current }) => Boolean(current));
23
+ return index === -1 ? undefined : index;
24
+ }
25
+ function getPinnedItems(items) {
26
+ const pinnedItems = [];
27
+ for (const item of items) {
28
+ if (item.pinned) {
29
+ pinnedItems.push(item);
30
+ }
31
+ else if (item.type === 'divider') {
32
+ if (pinnedItems.length > 0 && pinnedItems[pinnedItems.length - 1].type !== 'divider') {
33
+ pinnedItems.push(item);
34
+ }
35
+ }
36
+ }
37
+ return pinnedItems;
38
+ }
39
+ function getItemsMinHeight(items) {
40
+ const pinnedItems = getPinnedItems(items);
41
+ const afterMoreButtonItems = items.filter((item) => item.afterMoreButton);
42
+ return (getItemsHeight(pinnedItems) +
43
+ getItemsHeight(afterMoreButtonItems) +
44
+ (pinnedItems.length === items.length ? 0 : ITEM_HEIGHT));
45
+ }
46
+ function getMoreButtonItem(menuMoreTitle) {
47
+ return {
48
+ id: COLLAPSE_ITEM_ID,
49
+ title: menuMoreTitle,
50
+ icon: Ellipsis,
51
+ iconSize: 18,
52
+ };
53
+ }
54
+ function getAutosizeListItems(items, height, collapseItem) {
55
+ var _a, _b, _c;
56
+ const afterMoreButtonItems = items.filter((item) => item.afterMoreButton);
57
+ const regularItems = items.filter((item) => !item.afterMoreButton);
58
+ const listItems = [...regularItems, ...afterMoreButtonItems];
59
+ const allItemsHeight = getItemsHeight(listItems);
60
+ if (allItemsHeight <= height) {
61
+ return { listItems, collapseItems: [] };
62
+ }
63
+ const collapseItemHeight = getItemHeight(collapseItem);
64
+ listItems.splice(regularItems.length, 0, collapseItem);
65
+ const collapseItems = [];
66
+ let listHeight = allItemsHeight + collapseItemHeight;
67
+ let index = listItems.length;
68
+ while (listHeight > height) {
69
+ if (index === 0) {
70
+ break;
71
+ }
72
+ index--;
73
+ const item = listItems[index];
74
+ if (item.pinned || item.id === COLLAPSE_ITEM_ID || item.afterMoreButton) {
75
+ continue;
76
+ }
77
+ if (item.type === 'divider') {
78
+ if (index + 1 < listItems.length && ((_a = listItems[index + 1]) === null || _a === undefined ? undefined : _a.type) === 'divider') {
79
+ listHeight -= getItemHeight(item);
80
+ listItems.splice(index, 1);
81
+ }
82
+ continue;
83
+ }
84
+ listHeight -= getItemHeight(item);
85
+ collapseItems.unshift(...listItems.splice(index, 1));
86
+ }
87
+ if (((_b = listItems[index]) === null || _b === undefined ? undefined : _b.type) === 'divider' &&
88
+ (index === 0 || ((_c = listItems[index - 1]) === null || _c === undefined ? undefined : _c.type) === 'divider')) {
89
+ listItems.splice(index, 1);
90
+ }
91
+ return { listItems, collapseItems };
92
+ }
93
+ function isMenuItem(item) {
94
+ return (item === null || item === undefined ? undefined : item.id) !== undefined;
95
+ }
96
+
97
+ export { getAutosizeListItems, getItemHeight, getItemsHeight, getItemsMinHeight, getMoreButtonItem, getPinnedItems, getSelectedItemIndex, isMenuItem };
98
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/components/CompositeBar/utils.ts"],"sourcesContent":["import {Ellipsis} from '@gravity-ui/icons';\n\nimport {CompositeBarItem} from '../CompositeBar/CompositeBar';\nimport {ITEM_HEIGHT} from '../constants';\n\nimport {MenuItem} from './../types';\nimport {COLLAPSE_ITEM_ID} from './constants';\n\nexport function getItemHeight(item: CompositeBarItem) {\n if (!isMenuItem(item)) {\n return ITEM_HEIGHT;\n }\n\n switch (item.type) {\n case 'action':\n return 50;\n case 'divider':\n return 15;\n\n default:\n return ITEM_HEIGHT;\n }\n}\n\nexport function getItemsHeight<T extends CompositeBarItem>(items: T[]) {\n return items.reduce((sum, item) => sum + getItemHeight(item), 0);\n}\n\nexport function getSelectedItemIndex(items: MenuItem[]) {\n const index = items.findIndex(({current}) => Boolean(current));\n return index === -1 ? undefined : index;\n}\n\nexport function getPinnedItems(items: MenuItem[]) {\n const pinnedItems: MenuItem[] = [];\n for (const item of items) {\n if (item.pinned) {\n pinnedItems.push(item);\n } else if (item.type === 'divider') {\n if (pinnedItems.length > 0 && pinnedItems[pinnedItems.length - 1].type !== 'divider') {\n pinnedItems.push(item);\n }\n }\n }\n return pinnedItems;\n}\n\nexport function getItemsMinHeight(items: MenuItem[]) {\n const pinnedItems = getPinnedItems(items);\n const afterMoreButtonItems = items.filter((item) => item.afterMoreButton);\n\n return (\n getItemsHeight(pinnedItems) +\n getItemsHeight(afterMoreButtonItems) +\n (pinnedItems.length === items.length ? 0 : ITEM_HEIGHT)\n );\n}\n\nexport function getMoreButtonItem(menuMoreTitle?: string): MenuItem {\n return {\n id: COLLAPSE_ITEM_ID,\n title: menuMoreTitle,\n icon: Ellipsis,\n iconSize: 18,\n };\n}\n\nexport function getAutosizeListItems(\n items: MenuItem[],\n height: number,\n collapseItem: MenuItem,\n): {\n listItems: MenuItem[];\n collapseItems: MenuItem[];\n} {\n const afterMoreButtonItems = items.filter((item) => item.afterMoreButton);\n const regularItems = items.filter((item) => !item.afterMoreButton);\n const listItems = [...regularItems, ...afterMoreButtonItems];\n\n const allItemsHeight = getItemsHeight(listItems);\n if (allItemsHeight <= height) {\n return {listItems, collapseItems: []};\n }\n\n const collapseItemHeight = getItemHeight(collapseItem);\n\n listItems.splice(regularItems.length, 0, collapseItem);\n const collapseItems: MenuItem[] = [];\n\n let listHeight = allItemsHeight + collapseItemHeight;\n let index = listItems.length;\n while (listHeight > height) {\n if (index === 0) {\n break;\n }\n index--;\n\n const item = listItems[index];\n if (item.pinned || item.id === COLLAPSE_ITEM_ID || item.afterMoreButton) {\n continue;\n }\n if (item.type === 'divider') {\n if (index + 1 < listItems.length && listItems[index + 1]?.type === 'divider') {\n listHeight -= getItemHeight(item);\n listItems.splice(index, 1);\n }\n continue;\n }\n listHeight -= getItemHeight(item);\n collapseItems.unshift(...listItems.splice(index, 1));\n }\n if (\n listItems[index]?.type === 'divider' &&\n (index === 0 || listItems[index - 1]?.type === 'divider')\n ) {\n listItems.splice(index, 1);\n }\n\n return {listItems, collapseItems};\n}\n\nexport function isMenuItem(item: CompositeBarItem): item is MenuItem {\n return (item as MenuItem)?.id !== undefined;\n}\n"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ className, cssSizeVariableName = '--gn-aside-header-size', renderContent, childr
10
10
  return (React__default.createElement("div", { className: className, style: Object.assign({}, { [cssSizeVariableName]: `${size}px` }) }, typeof renderContent === 'function' ? (React__default.createElement(RenderContent, { size: size, renderContent: renderContent })) : (children)));
11
11
  };
12
12
 
13
- export { Content as C };
14
- //# sourceMappingURL=Content-c3e3OunO.js.map
13
+ export { Content };
14
+ //# sourceMappingURL=Content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Content.js","sources":["../../../../../src/components/Content/Content.tsx"],"sourcesContent":["/* Used by renderContent AsideHeader prop */\n\nimport React from 'react';\n\nexport type RenderContentType = (data: {size: number}) => React.ReactNode;\n\nexport interface ContentProps {\n size: number;\n className?: string;\n cssSizeVariableName?: string;\n renderContent?: RenderContentType;\n children?: React.ReactNode;\n}\n\ninterface RenderContentProps {\n renderContent: RenderContentType;\n size: number;\n}\n\nconst RenderContent: React.FC<RenderContentProps> = React.memo(({renderContent, size}) => {\n return <React.Fragment>{renderContent({size})}</React.Fragment>;\n});\n\nRenderContent.displayName = 'RenderContent';\n\nexport const Content: React.FC<ContentProps> = ({\n size, // TODO: move to context when MobileHeader will support it\n className,\n cssSizeVariableName = '--gn-aside-header-size',\n renderContent,\n children,\n}) => {\n return (\n <div\n className={className}\n style={{...({[cssSizeVariableName]: `${size}px`} as React.CSSProperties)}}\n >\n {typeof renderContent === 'function' ? (\n <RenderContent size={size} renderContent={renderContent} />\n ) : (\n children\n )}\n </div>\n );\n};\n"],"names":["React"],"mappings":";;AAAA;AAmBA,MAAM,aAAa,GAAiCA,cAAK,CAAC,IAAI,CAAC,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,KAAI;AACrF,IAAA,OAAOA,cAAC,CAAA,aAAA,CAAAA,cAAK,CAAC,QAAQ,EAAE,IAAA,EAAA,aAAa,CAAC,EAAC,IAAI,EAAC,CAAC,CAAkB;AACnE,CAAC,CAAC;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe;MAE9B,OAAO,GAA2B,CAAC,EAC5C,IAAI;AACJ,SAAS,EACT,mBAAmB,GAAG,wBAAwB,EAC9C,aAAa,EACb,QAAQ,GACX,KAAI;IACD,QACIA,sCACI,SAAS,EAAE,SAAS,EACpB,KAAK,oBAAO,EAAC,CAAC,mBAAmB,GAAG,GAAG,IAAI,CAAA,EAAA,CAAI,EAAyB,CAEvE,EAAA,EAAA,OAAO,aAAa,KAAK,UAAU,IAChCA,6BAAC,aAAa,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAI,CAAA,KAE3D,QAAQ,CACX,CACC;AAEd;;;;"}
@@ -0,0 +1,80 @@
1
+ import React__default from 'react';
2
+ import { useForkRef, Portal } from '@gravity-ui/uikit';
3
+ import { block } from '../utils/cn.js';
4
+ import { useResizableDrawerItem } from './utils.js';
5
+ import './Drawer.scss.js';
6
+ import CSSTransition from '../../node_modules/react-transition-group/esm/CSSTransition.js';
7
+ import Transition from '../../node_modules/react-transition-group/esm/Transition.js';
8
+
9
+ const b = block('drawer');
10
+ const TIMEOUT = 300;
11
+ const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
12
+ const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResizeStart, onResize, keepMounted = false, } = props;
13
+ const [isInitialRender, setInitialRender] = React__default.useState(true);
14
+ const itemRef = React__default.useRef(null);
15
+ const handleRef = useForkRef(ref, itemRef);
16
+ const cssDirection = direction === 'left' ? undefined : direction;
17
+ const { resizedWidth, resizerHandlers } = useResizableDrawerItem({
18
+ direction,
19
+ width,
20
+ minResizeWidth,
21
+ maxResizeWidth,
22
+ onResizeStart,
23
+ onResize,
24
+ });
25
+ React__default.useEffect(() => {
26
+ setInitialRender(true);
27
+ }, [direction]);
28
+ const resizerElement = resizable ? (React__default.createElement("div", Object.assign({ className: b('resizer', { direction }) }, resizerHandlers),
29
+ React__default.createElement("div", { className: b('resizer-handle') }))) : null;
30
+ return (React__default.createElement(CSSTransition, { in: visible, timeout: TIMEOUT, mountOnEnter: !keepMounted, unmountOnExit: !keepMounted, classNames: b('item-transition', { direction: cssDirection }), nodeRef: itemRef, onEnter: () => setInitialRender(false), onExit: () => setInitialRender(false) },
31
+ React__default.createElement("div", { ref: handleRef, className: b('item', { direction: cssDirection, hidden: isInitialRender && !visible }, [className]), style: { width: resizable ? `${resizedWidth}px` : undefined } },
32
+ resizerElement, children !== null && children !== undefined ? children : content)));
33
+ });
34
+ const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEscape, hideVeil, disablePortal = true, keepMounted = false, }) => {
35
+ let someItemVisible = false;
36
+ React__default.Children.forEach(children, (child) => {
37
+ if (React__default.isValidElement(child) && child.type === DrawerItem) {
38
+ const childVisible = Boolean(child.props.visible);
39
+ if (childVisible) {
40
+ someItemVisible = true;
41
+ }
42
+ }
43
+ });
44
+ React__default.useEffect(() => {
45
+ function onKeyDown(event) {
46
+ if (event.key === 'Escape') {
47
+ onEscape === null || onEscape === undefined ? undefined : onEscape();
48
+ }
49
+ }
50
+ if (someItemVisible) {
51
+ window.addEventListener('keydown', onKeyDown);
52
+ }
53
+ return () => {
54
+ window.removeEventListener('keydown', onKeyDown);
55
+ };
56
+ }, [onEscape, someItemVisible]);
57
+ const containerRef = React__default.useRef(null);
58
+ const veilRef = React__default.useRef(null);
59
+ const drawer = (React__default.createElement(Transition, { in: someItemVisible, timeout: { enter: 0, exit: TIMEOUT }, mountOnEnter: !keepMounted, unmountOnExit: !keepMounted, nodeRef: containerRef }, (state) => {
60
+ const childrenVisible = someItemVisible && state === 'entered';
61
+ return (React__default.createElement("div", { ref: containerRef, className: b({ hideVeil }, className), style: style },
62
+ React__default.createElement(CSSTransition, { in: childrenVisible, timeout: TIMEOUT, unmountOnExit: true, classNames: b('veil-transition'), nodeRef: veilRef },
63
+ React__default.createElement("div", { ref: veilRef, className: b('veil', { hidden: hideVeil }, veilClassName), onClick: onVeilClick })),
64
+ React__default.Children.map(children, (child) => {
65
+ if (React__default.isValidElement(child) &&
66
+ child.type === DrawerItem) {
67
+ const childVisible = Boolean(child.props.visible);
68
+ return React__default.cloneElement(child, Object.assign(Object.assign({ keepMounted }, child.props), { visible: childVisible && childrenVisible }));
69
+ }
70
+ return child;
71
+ })));
72
+ }));
73
+ if (disablePortal) {
74
+ return drawer;
75
+ }
76
+ return React__default.createElement(Portal, null, drawer);
77
+ };
78
+
79
+ export { Drawer, DrawerItem };
80
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sources":["../../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React from 'react';\n\nimport {Portal, useForkRef} from '@gravity-ui/uikit';\nimport {CSSTransition, Transition} from 'react-transition-group';\n\nimport {block} from '../utils/cn';\n\nimport {type DrawerDirection, useResizableDrawerItem} from './utils';\n\nimport './Drawer.scss';\n\nconst b = block('drawer');\nconst TIMEOUT = 300;\n\nexport interface DrawerItemProps {\n /** Unique identifier for the drawer item. */\n id: string;\n\n /**\n * Content to be displayed within the drawer item.\n * @deprecated Use `children` instead.\n */\n content?: React.ReactNode;\n\n /** Content to be displayed within the drawer item, preferable over the deprecated `content`. */\n children?: React.ReactNode;\n\n /** Determines whether the drawer item is visible or hidden. */\n visible: boolean;\n\n /** Specifies the direction from which the drawer should slide in, `left` by default.\n * @default left\n */\n direction?: DrawerDirection;\n\n /** Additional custom class name applied to the drawer item. */\n className?: string;\n\n /** Determines whether the drawer item can be resized */\n resizable?: boolean;\n\n /**\n * The width of the resizable drawer item.\n * If not provided, the width will be stored internally.\n */\n width?: number;\n\n /** Called at the start of resizing. */\n onResizeStart?: VoidFunction;\n\n /**\n * Called at the end of resizing. Can be used to save the new width.\n * @param width The new width of the drawer item\n */\n onResize?: (width: number) => void;\n\n /** The minimum width of the resizable drawer item */\n minResizeWidth?: number;\n\n /** The maximum width of the resizable drawer item */\n maxResizeWidth?: number;\n\n /**\n * Keep child components mounted when closed, prioritized over Drawer.keepMounted property\n * @default false\n * */\n keepMounted?: boolean;\n}\n\nexport const DrawerItem = React.forwardRef<HTMLDivElement, DrawerItemProps>(\n function DrawerItem(props, ref) {\n const {\n visible,\n content,\n children,\n direction = 'left',\n className,\n resizable,\n width,\n minResizeWidth,\n maxResizeWidth,\n onResizeStart,\n onResize,\n keepMounted = false,\n } = props;\n\n const [isInitialRender, setInitialRender] = React.useState(true);\n const itemRef = React.useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(ref, itemRef);\n\n const cssDirection = direction === 'left' ? undefined : direction;\n\n const {resizedWidth, resizerHandlers} = useResizableDrawerItem({\n direction,\n width,\n minResizeWidth,\n maxResizeWidth,\n onResizeStart,\n onResize,\n });\n\n React.useEffect(() => {\n setInitialRender(true);\n }, [direction]);\n\n const resizerElement = resizable ? (\n <div className={b('resizer', {direction})} {...resizerHandlers}>\n <div className={b('resizer-handle')} />\n </div>\n ) : null;\n\n return (\n <CSSTransition\n in={visible}\n timeout={TIMEOUT}\n mountOnEnter={!keepMounted}\n unmountOnExit={!keepMounted}\n classNames={b('item-transition', {direction: cssDirection})}\n nodeRef={itemRef}\n onEnter={() => setInitialRender(false)}\n onExit={() => setInitialRender(false)}\n >\n <div\n ref={handleRef}\n className={b(\n 'item',\n {direction: cssDirection, hidden: isInitialRender && !visible},\n [className],\n )}\n style={{width: resizable ? `${resizedWidth}px` : undefined}}\n >\n {resizerElement}\n {children ?? content}\n </div>\n </CSSTransition>\n );\n },\n);\n\ntype DrawerChild = React.ReactElement<DrawerItemProps>;\n\nexport interface DrawerProps {\n /** Child components to be rendered within the drawer. This can be a single child or an array of children. */\n children: DrawerChild | DrawerChild[];\n\n /** Optional additional class names to style the drawer component. */\n className?: string;\n\n /** Optional inline styles to be applied to the drawer component. */\n style?: React.CSSProperties;\n\n /** Optional additional class names to style the background veil element. */\n veilClassName?: string;\n\n /** Optional callback function that is called when the veil (overlay) is clicked. */\n onVeilClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n\n /** Optional callback function that is called when the escape key is pressed, if the drawer is open. */\n onEscape?: () => void;\n\n /** Optional flag to hide the background darkening */\n hideVeil?: boolean;\n\n /** Optional flag to not use `Portal` for drawer */\n disablePortal?: boolean;\n\n /**\n * Keep child components mounted when closed\n * @default false\n * */\n keepMounted?: boolean;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n className,\n veilClassName,\n children,\n style,\n onVeilClick,\n onEscape,\n hideVeil,\n disablePortal = true,\n keepMounted = false,\n}) => {\n let someItemVisible = false;\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<DrawerItemProps>(child) && child.type === DrawerItem) {\n const childVisible = Boolean(child.props.visible);\n if (childVisible) {\n someItemVisible = true;\n }\n }\n });\n\n React.useEffect(() => {\n function onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n onEscape?.();\n }\n }\n if (someItemVisible) {\n window.addEventListener('keydown', onKeyDown);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onEscape, someItemVisible]);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const veilRef = React.useRef<HTMLDivElement>(null);\n\n const drawer = (\n <Transition\n in={someItemVisible}\n timeout={{enter: 0, exit: TIMEOUT}}\n mountOnEnter={!keepMounted}\n unmountOnExit={!keepMounted}\n nodeRef={containerRef}\n >\n {(state) => {\n const childrenVisible = someItemVisible && state === 'entered';\n return (\n <div ref={containerRef} className={b({hideVeil}, className)} style={style}>\n <CSSTransition\n in={childrenVisible}\n timeout={TIMEOUT}\n unmountOnExit\n classNames={b('veil-transition')}\n nodeRef={veilRef}\n >\n <div\n ref={veilRef}\n className={b('veil', {hidden: hideVeil}, veilClassName)}\n onClick={onVeilClick}\n />\n </CSSTransition>\n {React.Children.map(children, (child) => {\n if (\n React.isValidElement<DrawerItemProps>(child) &&\n child.type === DrawerItem\n ) {\n const childVisible = Boolean(child.props.visible);\n return React.cloneElement(child, {\n keepMounted,\n ...child.props,\n visible: childVisible && childrenVisible,\n });\n }\n return child;\n })}\n </div>\n );\n }}\n </Transition>\n );\n\n if (disablePortal) {\n return drawer;\n }\n\n return <Portal>{drawer}</Portal>;\n};\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import styleInject from '../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".gn-drawer{--_--item-shadow-default:0 1px 5px 0 var(--g-color-sfx-shadow);--_--item-position:fixed;--_--resizer-width:8px;--_--resizer-color:var(--g-color-base-generic);--_--resizer-handle-color:var(--g-color-line-generic);--_--resizer-handle-color-hover:var(--g-color-line-generic-hover);--_--resizer-z-index:100;--_--veil-background-color:var(--g-color-sfx-veil);pointer-events:none}.gn-drawer_hideVeil{--_--item-shadow:var(--gn-drawer-item-shadow,var(--_--item-shadow-default))}.gn-drawer__item{background-color:var(--g-color-base-background);bottom:0;box-shadow:var(--_--item-shadow,none);height:100%;left:var(--gn-aside-header-size);pointer-events:auto;position:var(--gn-drawer-item-position,var(--_--item-position));top:0;will-change:transform;z-index:var(--gn-drawer-item-z-index)}.gn-drawer__item_direction_right{left:auto;right:0}.gn-drawer__item-transition-enter{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-enter{transform:translate(100%)}.gn-drawer__item-transition-enter-active,.gn-drawer__item-transition_direction_right-enter-active{transform:translate(0);transition:transform .3s}.gn-drawer__item-transition-enter-done,.gn-drawer__item-transition_direction_right-enter-done{filter:blur(0);transform:translateZ(0)}.gn-drawer__item-transition-exit,.gn-drawer__item-transition_direction_right-exit{transform:translate(0)}.gn-drawer__item-transition-exit-active,.gn-drawer__item-transition_direction_right-exit-active{transition:transform .3s}.gn-drawer__item-transition-exit-active{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-exit-active{transform:translate(100%)}.gn-drawer__item-transition-exit-done,.gn-drawer__item-transition_direction_right-exit-done,.gn-drawer__item_hidden{visibility:hidden}.gn-drawer__veil{background-color:var(--gn-drawer-veil-background-color,var(--_--veil-background-color));inset:0;pointer-events:auto;position:absolute;z-index:var(--gn-drawer-veil-z-index)}.gn-drawer__veil_hidden{display:none}.gn-drawer__veil-transition-enter{opacity:0}.gn-drawer__veil-transition-enter-active{opacity:1;transition:opacity .3s}.gn-drawer__veil-transition-exit{opacity:1}.gn-drawer__veil-transition-exit-active{opacity:0;transition:opacity .3s}.gn-drawer__veil-transition-exit-done{visibility:hidden}.gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color,var(--_--resizer-handle-color));border-radius:2px;height:28px;width:2px}.gn-drawer__resizer{align-items:center;background:var(--gn-drawer-item-resizer-color,var(--_--resizer-color));cursor:col-resize;display:flex;flex-direction:column;height:100%;justify-content:center;position:absolute;top:0;width:var(--gn-drawer-item-resizer-width,var(--_--resizer-width));z-index:var(--gn-drawer-item-resizer-z-index,var(--_--resizer-z-index))}.gn-drawer__resizer_direction_right{left:0}.gn-drawer__resizer_direction_left{right:0}.gn-drawer__resizer:hover .gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color-hover,var(--_--resizer-handle-color-hover))}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=Drawer.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,84 @@
1
+ import * as React from 'react';
2
+
3
+ const DRAWER_ITEM_MIN_RESIZE_WIDTH = 200;
4
+ const DRAWER_ITEM_MAX_RESIZE_WIDTH = 800;
5
+ const DRAWER_ITEM_INITIAL_RESIZE_WIDTH = 400;
6
+ function getEventClientX(e) {
7
+ var _a, _b;
8
+ return 'touches' in e ? ((_b = (_a = e.touches[0]) === null || _a === undefined ? undefined : _a.clientX) !== null && _b !== undefined ? _b : 0) : e.clientX;
9
+ }
10
+ function useResizeHandlers({ onStart, onMove, onEnd }) {
11
+ const initialXPosition = React.useRef(0);
12
+ const currentXPosition = React.useRef(0);
13
+ const handleMove = React.useCallback((e) => {
14
+ const currentX = getEventClientX(e);
15
+ if (currentXPosition.current === currentX) {
16
+ return;
17
+ }
18
+ currentXPosition.current = currentX;
19
+ const delta = initialXPosition.current - currentX;
20
+ onMove(delta);
21
+ }, [onMove]);
22
+ const handleEnd = React.useCallback((e) => {
23
+ window.removeEventListener('mousemove', handleMove);
24
+ window.removeEventListener('touchmove', handleMove);
25
+ document.body.style.removeProperty('user-select');
26
+ document.body.style.removeProperty('-webkit-user-select');
27
+ document.body.style.removeProperty('cursor');
28
+ const currentX = getEventClientX(e);
29
+ const delta = initialXPosition.current - currentX;
30
+ onEnd(delta);
31
+ }, [handleMove, onEnd]);
32
+ const handleStart = React.useCallback((e) => {
33
+ const currentX = getEventClientX(e);
34
+ initialXPosition.current = currentX;
35
+ currentXPosition.current = currentX;
36
+ window.addEventListener('mouseup', handleEnd, { once: true });
37
+ window.addEventListener('touchend', handleEnd, { once: true });
38
+ window.addEventListener('touchcancel', handleEnd, { once: true });
39
+ window.addEventListener('mousemove', handleMove);
40
+ window.addEventListener('touchmove', handleMove);
41
+ document.body.style.setProperty('user-select', 'none');
42
+ document.body.style.setProperty('-webkit-user-select', 'none');
43
+ document.body.style.setProperty('cursor', 'col-resize');
44
+ onStart();
45
+ }, [handleEnd, handleMove, onStart]);
46
+ return {
47
+ onMouseDown: handleStart,
48
+ onTouchStart: handleStart,
49
+ };
50
+ }
51
+ function useResizableDrawerItem(params) {
52
+ const { direction, width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, } = params;
53
+ const [isResizing, setIsResizing] = React.useState(false);
54
+ const [resizeDelta, setResizeDelta] = React.useState(0);
55
+ const [internalWidth, setInternalWidth] = React.useState(width !== null && width !== undefined ? width : DRAWER_ITEM_INITIAL_RESIZE_WIDTH);
56
+ const getClampedWidth = React.useCallback((width) => Math.min(Math.max(width, minResizeWidth), maxResizeWidth), [minResizeWidth, maxResizeWidth]);
57
+ const getResizedWidth = React.useCallback((delta) => {
58
+ const signedDelta = direction === 'right' ? delta : -delta;
59
+ const newWidth = (width !== null && width !== undefined ? width : internalWidth) + signedDelta;
60
+ return getClampedWidth(newWidth);
61
+ }, [width, internalWidth, direction, getClampedWidth]);
62
+ const onStart = React.useCallback(() => {
63
+ setIsResizing(true);
64
+ setResizeDelta(0);
65
+ onResizeStart === null || onResizeStart === undefined ? undefined : onResizeStart();
66
+ }, [onResizeStart]);
67
+ const onMove = React.useCallback((delta) => {
68
+ setResizeDelta(delta);
69
+ }, []);
70
+ const onEnd = React.useCallback((delta) => {
71
+ const newWidth = getResizedWidth(delta);
72
+ setIsResizing(false);
73
+ setInternalWidth(newWidth);
74
+ onResize === null || onResize === undefined ? undefined : onResize(newWidth);
75
+ }, [getResizedWidth, onResize]);
76
+ const displayWidth = isResizing
77
+ ? getResizedWidth(resizeDelta)
78
+ : getClampedWidth(width !== null && width !== undefined ? width : internalWidth);
79
+ const handlers = useResizeHandlers({ onStart, onMove, onEnd });
80
+ return { resizedWidth: displayWidth, resizerHandlers: handlers };
81
+ }
82
+
83
+ export { DRAWER_ITEM_INITIAL_RESIZE_WIDTH, DRAWER_ITEM_MAX_RESIZE_WIDTH, DRAWER_ITEM_MIN_RESIZE_WIDTH, useResizableDrawerItem, useResizeHandlers };
84
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/components/Drawer/utils.ts"],"sourcesContent":["import * as React from 'react';\n\nexport const DRAWER_ITEM_MIN_RESIZE_WIDTH = 200;\nexport const DRAWER_ITEM_MAX_RESIZE_WIDTH = 800;\nexport const DRAWER_ITEM_INITIAL_RESIZE_WIDTH = 400;\n\nexport type DrawerDirection = 'right' | 'left';\nexport type OnResizeHandler = (width: number) => void;\n\nfunction getEventClientX(e: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent) {\n return 'touches' in e ? (e.touches[0]?.clientX ?? 0) : e.clientX;\n}\n\nexport interface UseResizeHandlersParams {\n onStart: () => void;\n onMove: (delta: number) => void;\n onEnd: (delta: number) => void;\n}\n\nexport function useResizeHandlers({onStart, onMove, onEnd}: UseResizeHandlersParams) {\n const initialXPosition = React.useRef(0);\n const currentXPosition = React.useRef(0);\n\n const handleMove = React.useCallback(\n (e: MouseEvent | TouchEvent) => {\n const currentX = getEventClientX(e);\n\n if (currentXPosition.current === currentX) {\n return;\n }\n\n currentXPosition.current = currentX;\n\n const delta = initialXPosition.current - currentX;\n\n onMove(delta);\n },\n [onMove],\n );\n\n const handleEnd = React.useCallback(\n (e: MouseEvent | TouchEvent) => {\n window.removeEventListener('mousemove', handleMove);\n window.removeEventListener('touchmove', handleMove);\n\n document.body.style.removeProperty('user-select');\n document.body.style.removeProperty('-webkit-user-select');\n document.body.style.removeProperty('cursor');\n\n const currentX = getEventClientX(e);\n const delta = initialXPosition.current - currentX;\n\n onEnd(delta);\n },\n [handleMove, onEnd],\n );\n\n const handleStart = React.useCallback(\n (e: React.MouseEvent | React.TouchEvent) => {\n const currentX = getEventClientX(e);\n\n initialXPosition.current = currentX;\n currentXPosition.current = currentX;\n\n window.addEventListener('mouseup', handleEnd, {once: true});\n window.addEventListener('touchend', handleEnd, {once: true});\n window.addEventListener('touchcancel', handleEnd, {once: true});\n\n window.addEventListener('mousemove', handleMove);\n window.addEventListener('touchmove', handleMove);\n\n document.body.style.setProperty('user-select', 'none');\n document.body.style.setProperty('-webkit-user-select', 'none');\n document.body.style.setProperty('cursor', 'col-resize');\n\n onStart();\n },\n [handleEnd, handleMove, onStart],\n );\n\n return {\n onMouseDown: handleStart,\n onTouchStart: handleStart,\n };\n}\n\nexport interface UseResizableDrawerItemParams {\n direction?: DrawerDirection;\n width?: number;\n minResizeWidth?: number;\n maxResizeWidth?: number;\n onResizeStart?: VoidFunction;\n onResize?: OnResizeHandler;\n}\n\nexport function useResizableDrawerItem(params: UseResizableDrawerItemParams) {\n const {\n direction,\n width,\n minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH,\n maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH,\n onResizeStart,\n onResize,\n } = params;\n\n const [isResizing, setIsResizing] = React.useState(false);\n const [resizeDelta, setResizeDelta] = React.useState(0);\n const [internalWidth, setInternalWidth] = React.useState(\n width ?? DRAWER_ITEM_INITIAL_RESIZE_WIDTH,\n );\n\n const getClampedWidth = React.useCallback(\n (width: number) => Math.min(Math.max(width, minResizeWidth), maxResizeWidth),\n [minResizeWidth, maxResizeWidth],\n );\n\n const getResizedWidth = React.useCallback(\n (delta: number) => {\n const signedDelta = direction === 'right' ? delta : -delta;\n const newWidth = (width ?? internalWidth) + signedDelta;\n return getClampedWidth(newWidth);\n },\n [width, internalWidth, direction, getClampedWidth],\n );\n\n const onStart = React.useCallback(() => {\n setIsResizing(true);\n setResizeDelta(0);\n onResizeStart?.();\n }, [onResizeStart]);\n\n const onMove = React.useCallback((delta: number) => {\n setResizeDelta(delta);\n }, []);\n\n const onEnd = React.useCallback(\n (delta: number) => {\n const newWidth = getResizedWidth(delta);\n setIsResizing(false);\n setInternalWidth(newWidth);\n onResize?.(newWidth);\n },\n [getResizedWidth, onResize],\n );\n\n const displayWidth = isResizing\n ? getResizedWidth(resizeDelta)\n : getClampedWidth(width ?? internalWidth);\n\n const handlers = useResizeHandlers({onStart, onMove, onEnd});\n\n return {resizedWidth: displayWidth, resizerHandlers: handlers};\n}\n"],"names":[],"mappings":";;AAEO,MAAM,4BAA4B,GAAG;AACrC,MAAM,4BAA4B,GAAG;AACrC,MAAM,gCAAgC,GAAG;AAKhD,SAAS,eAAe,CAAC,CAAgE,EAAA;;IACrF,OAAO,SAAS,IAAI,CAAC,IAAI,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,SAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,EAAA,GAAI,CAAC,IAAI,CAAC,CAAC,OAAO;AACpE;AAQM,SAAU,iBAAiB,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAA0B,EAAA;IAC/E,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAChC,CAAC,CAA0B,KAAI;AAC3B,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;AAEnC,QAAA,IAAI,gBAAgB,CAAC,OAAO,KAAK,QAAQ,EAAE;YACvC;;AAGJ,QAAA,gBAAgB,CAAC,OAAO,GAAG,QAAQ;AAEnC,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,GAAG,QAAQ;QAEjD,MAAM,CAAC,KAAK,CAAC;AACjB,KAAC,EACD,CAAC,MAAM,CAAC,CACX;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,CAA0B,KAAI;AAC3B,QAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC;AACnD,QAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC;QAEnD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAE5C,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,GAAG,QAAQ;QAEjD,KAAK,CAAC,KAAK,CAAC;AAChB,KAAC,EACD,CAAC,UAAU,EAAE,KAAK,CAAC,CACtB;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAAsC,KAAI;AACvC,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;AAEnC,QAAA,gBAAgB,CAAC,OAAO,GAAG,QAAQ;AACnC,QAAA,gBAAgB,CAAC,OAAO,GAAG,QAAQ;AAEnC,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AAC3D,QAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AAC5D,QAAA,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AAE/D,QAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC;AAChD,QAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC;QAEhD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC;AAEvD,QAAA,OAAO,EAAE;KACZ,EACD,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CACnC;IAED,OAAO;AACH,QAAA,WAAW,EAAE,WAAW;AACxB,QAAA,YAAY,EAAE,WAAW;KAC5B;AACL;AAWM,SAAU,sBAAsB,CAAC,MAAoC,EAAA;AACvE,IAAA,MAAM,EACF,SAAS,EACT,KAAK,EACL,cAAc,GAAG,4BAA4B,EAC7C,cAAc,GAAG,4BAA4B,EAC7C,aAAa,EACb,QAAQ,GACX,GAAG,MAAM;AAEV,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,KAAK,aAAL,KAAK,KAAA,SAAA,GAAL,KAAK,GAAI,gCAAgC,CAC5C;AAED,IAAA,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAAa,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC,EAC5E,CAAC,cAAc,EAAE,cAAc,CAAC,CACnC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAAa,KAAI;AACd,QAAA,MAAM,WAAW,GAAG,SAAS,KAAK,OAAO,GAAG,KAAK,GAAG,CAAC,KAAK;AAC1D,QAAA,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,SAAA,GAAA,KAAK,GAAI,aAAa,IAAI,WAAW;AACvD,QAAA,OAAO,eAAe,CAAC,QAAQ,CAAC;KACnC,EACD,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CACrD;AAED,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;QACnC,aAAa,CAAC,IAAI,CAAC;QACnB,cAAc,CAAC,CAAC,CAAC;AACjB,QAAA,aAAa,KAAb,IAAA,IAAA,aAAa,KAAb,SAAA,GAAA,SAAA,GAAA,aAAa,EAAI;AACrB,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAa,KAAI;QAC/C,cAAc,CAAC,KAAK,CAAC;KACxB,EAAE,EAAE,CAAC;IAEN,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAC3B,CAAC,KAAa,KAAI;AACd,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC;QACpB,gBAAgB,CAAC,QAAQ,CAAC;AAC1B,QAAA,QAAQ,aAAR,QAAQ,KAAA,SAAA,GAAA,SAAA,GAAR,QAAQ,CAAG,QAAQ,CAAC;AACxB,KAAC,EACD,CAAC,eAAe,EAAE,QAAQ,CAAC,CAC9B;IAED,MAAM,YAAY,GAAG;AACjB,UAAE,eAAe,CAAC,WAAW;UAC3B,eAAe,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,SAAA,GAAL,KAAK,GAAI,aAAa,CAAC;AAE7C,IAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;IAE5D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAC;AAClE;;;;"}
@@ -0,0 +1,14 @@
1
+ import { __rest } from '../../../node_modules/tslib/tslib.es6.js';
2
+ import React__default from 'react';
3
+ import { Menu } from '@gravity-ui/uikit';
4
+ import { block } from '../../utils/cn.js';
5
+ import './MenuItem.scss.js';
6
+
7
+ const b = block('footer-menu-item');
8
+ const MenuItem = (_a) => {
9
+ var { text, className } = _a, menuItemProps = __rest(_a, ["text", "className"]);
10
+ return (React__default.createElement(Menu.Item, Object.assign({ className: b(null, className) }, menuItemProps), text));
11
+ };
12
+
13
+ export { MenuItem };
14
+ //# sourceMappingURL=MenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.js","sources":["../../../../../../src/components/Footer/MenuItem/MenuItem.tsx"],"sourcesContent":["import React from 'react';\nimport type {FC} from 'react';\n\nimport {Menu} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\nimport {FooterMenuItem} from '../types';\n\nimport './MenuItem.scss';\n\nconst b = block('footer-menu-item');\n\nexport type MenuItemProps = FooterMenuItem;\n\nexport const MenuItem: FC<MenuItemProps> = ({text, className, ...menuItemProps}) => {\n return (\n <Menu.Item className={b(null, className)} {...menuItemProps}>\n {text}\n </Menu.Item>\n );\n};\n"],"names":["React"],"mappings":";;;;;;AAUA,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC;AAItB,MAAA,QAAQ,GAAsB,CAAC,EAAmC,KAAI;QAAvC,EAAC,IAAI,EAAE,SAAS,EAAA,GAAA,EAAmB,EAAd,aAAa,GAAA,MAAA,CAAA,EAAA,EAAlC,qBAAmC,CAAD;IAC1E,QACIA,6BAAC,IAAI,CAAC,IAAI,EAAC,MAAA,CAAA,MAAA,CAAA,EAAA,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAM,EAAA,aAAa,GACtD,IAAI,CACG;AAEpB;;;;"}
@@ -0,0 +1,7 @@
1
+ import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".gn-footer-menu-item{align-items:center;align-self:stretch;display:flex;height:100%;justify-content:center}.gn-footer-menu-item .g-menu__item-content{color:var(--g-color-text-secondary);font-family:var(--g-text-body-font-family);font-size:var(--g-text-body-1-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-1-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gn-footer-menu-item[class]:hover{background-color:inherit}.gn-footer-menu-item[class]:hover[href] .g-menu__item-content{color:var(--g-color-text-link-hover)}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=MenuItem.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,38 @@
1
+ import React__default, { useRef, useMemo } from 'react';
2
+ import { Menu, DropdownMenu } from '@gravity-ui/uikit';
3
+ import { useOverflowingHorizontalListItems } from '../../../hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js';
4
+ import { Logo } from '../../Logo/Logo.js';
5
+ import { block } from '../../utils/cn.js';
6
+ import { MenuItem } from '../MenuItem/MenuItem.js';
7
+ import { moreItemsPopupProps } from './constants/moreItemsPopupProps.js';
8
+ import './Footer.scss.js';
9
+
10
+ const b = block('footer');
11
+ const Footer = ({ className, menuItems: providedMenuItems, withDivider, moreButtonTitle, onMoreButtonClick, view = 'normal', logo, logoWrapperClassName, copyright, }) => {
12
+ var _a;
13
+ const menuContainerRef = useRef(null);
14
+ const menuItems = view === 'clear' ? undefined : providedMenuItems;
15
+ const { visibleItems, hiddenItems, measured } = useOverflowingHorizontalListItems({
16
+ containerRef: menuContainerRef,
17
+ items: menuItems,
18
+ itemSelector: `.${b('menu-item')}`,
19
+ moreButtonWidth: 28,
20
+ });
21
+ const moreButtonProps = useMemo(() => ({
22
+ title: moreButtonTitle,
23
+ }), [moreButtonTitle]);
24
+ const dropdownMenuItems = useMemo(() => hiddenItems.map((item) => (Object.assign(Object.assign({}, item), { action: item.onClick }))), [hiddenItems]);
25
+ const shouldRenderLogo = view !== 'clear' && Boolean(logo);
26
+ const shouldRenderMenu = ((_a = menuItems === null || menuItems === undefined ? undefined : menuItems.length) !== null && _a !== undefined ? _a : 0) > 0;
27
+ return (React__default.createElement("footer", { className: b({ desktop: true, 'with-divider': withDivider, view }, className) },
28
+ shouldRenderMenu && (React__default.createElement("div", { className: b('menu', { measured }), ref: menuContainerRef },
29
+ visibleItems.length > 0 && (React__default.createElement(Menu, { className: b('list') }, visibleItems.map((item, index) => (React__default.createElement(MenuItem, Object.assign({ key: index }, item, { className: b('menu-item', item.className) })))))),
30
+ dropdownMenuItems.length > 0 && (React__default.createElement(DropdownMenu, { items: dropdownMenuItems, switcherWrapperClassName: b('more-button'), popupProps: moreItemsPopupProps, defaultSwitcherProps: moreButtonProps, onSwitcherClick: onMoreButtonClick })))),
31
+ React__default.createElement("div", { className: b('right') },
32
+ React__default.createElement("small", { className: b('copyright', { small: !(menuItems === null || menuItems === undefined ? undefined : menuItems.length) }) }, copyright),
33
+ shouldRenderLogo && (React__default.createElement("div", { className: logoWrapperClassName },
34
+ React__default.createElement(Logo, Object.assign({}, logo)))))));
35
+ };
36
+
37
+ export { Footer };
38
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/Footer/desktop/Footer.tsx"],"sourcesContent":["import React, {useMemo, useRef} from 'react';\nimport type {FC} from 'react';\n\nimport {DropdownMenu, Menu} from '@gravity-ui/uikit';\nimport type {DropdownMenuItem} from '@gravity-ui/uikit';\n\nimport {useOverflowingHorizontalListItems} from '../../../hooks/useOverflowingHorizontalListItems';\nimport {Logo} from '../../Logo';\nimport {block} from '../../utils/cn';\nimport {MenuItem} from '../MenuItem/MenuItem';\nimport {FooterProps} from '../types';\n\nimport {moreItemsPopupProps} from './constants/moreItemsPopupProps';\n\nimport './Footer.scss';\n\nconst b = block('footer');\n\nexport const Footer: FC<FooterProps> = ({\n className,\n menuItems: providedMenuItems,\n withDivider,\n moreButtonTitle,\n onMoreButtonClick,\n view = 'normal',\n logo,\n logoWrapperClassName,\n copyright,\n}) => {\n const menuContainerRef = useRef<HTMLDivElement>(null);\n\n const menuItems = view === 'clear' ? undefined : providedMenuItems;\n\n const {visibleItems, hiddenItems, measured} = useOverflowingHorizontalListItems({\n containerRef: menuContainerRef,\n items: menuItems,\n itemSelector: `.${b('menu-item')}`,\n moreButtonWidth: 28,\n });\n\n const moreButtonProps = useMemo(\n () => ({\n title: moreButtonTitle,\n }),\n [moreButtonTitle],\n );\n\n const dropdownMenuItems = useMemo(\n () =>\n hiddenItems.map(\n (item) =>\n ({\n ...item,\n action: item.onClick,\n }) as DropdownMenuItem,\n ),\n [hiddenItems],\n );\n\n const shouldRenderLogo = view !== 'clear' && Boolean(logo);\n const shouldRenderMenu = (menuItems?.length ?? 0) > 0;\n\n return (\n <footer className={b({desktop: true, 'with-divider': withDivider, view}, className)}>\n {shouldRenderMenu && (\n <div className={b('menu', {measured})} ref={menuContainerRef}>\n {visibleItems.length > 0 && (\n <Menu className={b('list')}>\n {visibleItems.map((item, index) => (\n <MenuItem\n key={index}\n {...item}\n className={b('menu-item', item.className)}\n />\n ))}\n </Menu>\n )}\n {dropdownMenuItems.length > 0 && (\n <DropdownMenu\n items={dropdownMenuItems}\n switcherWrapperClassName={b('more-button')}\n popupProps={moreItemsPopupProps}\n defaultSwitcherProps={moreButtonProps}\n onSwitcherClick={onMoreButtonClick}\n />\n )}\n </div>\n )}\n <div className={b('right')}>\n <small className={b('copyright', {small: !menuItems?.length})}>{copyright}</small>\n {shouldRenderLogo && (\n <div className={logoWrapperClassName}>\n <Logo {...logo!} />\n </div>\n )}\n </div>\n </footer>\n );\n};\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".gn-footer_desktop{align-items:center;background:var(--g-color-base-background);display:flex;gap:var(--g-spacing-6);height:40px;justify-content:flex-end;padding:0 var(--g-spacing-6) 0 var(--g-spacing-3)}.gn-footer_desktop .gn-footer__menu{align-items:center;align-self:stretch;display:flex;flex:1;min-width:0;visibility:hidden}.gn-footer_desktop .gn-footer__menu_measured{visibility:visible}.gn-footer_desktop .gn-footer__list[class]{background-color:inherit;display:flex;height:100%;padding:0}.gn-footer_desktop .gn-footer__more-button svg{color:var(--g-color-text-secondary)}.gn-footer_desktop .gn-footer__right{align-items:center;display:flex;gap:var(--g-spacing-5)}.gn-footer_desktop .gn-footer__copyright{color:var(--g-color-text-secondary);font-family:var(--g-text-body-font-family);font-size:var(--g-text-body-1-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-1-line-height);white-space:nowrap}.gn-footer_desktop .gn-footer__copyright_small{font-family:var(--g-text-caption-font-family);font-size:var(--g-text-caption-2-font-size);font-weight:var(--g-text-caption-font-weight);line-height:var(--g-text-caption-2-line-height)}.gn-footer_with-divider{border-top:1px solid var(--g-color-line-generic)}.gn-footer_view_clear{background:transparent;z-index:-1}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=Footer.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,6 @@
1
+ const moreItemsPopupProps = {
2
+ placement: 'top-start',
3
+ };
4
+
5
+ export { moreItemsPopupProps };
6
+ //# sourceMappingURL=moreItemsPopupProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moreItemsPopupProps.js","sources":["../../../../../../../src/components/Footer/desktop/constants/moreItemsPopupProps.ts"],"sourcesContent":["import {PopupProps} from '@gravity-ui/uikit';\n\nexport const moreItemsPopupProps: PopupProps = {\n placement: 'top-start',\n};\n"],"names":[],"mappings":"AAEa,MAAA,mBAAmB,GAAe;AAC3C,IAAA,SAAS,EAAE,WAAW;;;;;"}
@@ -0,0 +1,45 @@
1
+ import React__default, { useState, useRef, useCallback } from 'react';
2
+ import { Ellipsis } from '@gravity-ui/icons';
3
+ import { Button, Icon, Sheet, Menu } from '@gravity-ui/uikit';
4
+ import { useOverflowingHorizontalListItems } from '../../../hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js';
5
+ import { Logo } from '../../Logo/Logo.js';
6
+ import { block } from '../../utils/cn.js';
7
+ import { MenuItem } from '../MenuItem/MenuItem.js';
8
+ import './Footer.scss.js';
9
+
10
+ const b = block('footer');
11
+ const modalId = 'footer-more-items';
12
+ const MobileFooter = ({ className, menuItems: providedMenuItems, withDivider, moreButtonTitle, onMoreButtonClick, view = 'normal', logo, logoWrapperClassName, copyright, }) => {
13
+ const [moreItemsMenuVisible, setMoreItemsMenuVisible] = useState(false);
14
+ const menuContainerRef = useRef(null);
15
+ const handleOpenMoreItemsMenu = useCallback((event) => {
16
+ setMoreItemsMenuVisible(true);
17
+ onMoreButtonClick === null || onMoreButtonClick === undefined ? undefined : onMoreButtonClick(event);
18
+ }, [onMoreButtonClick]);
19
+ const handleCloseMoreItemsMenu = useCallback(() => {
20
+ setMoreItemsMenuVisible(false);
21
+ }, []);
22
+ const menuItems = view === 'clear' ? undefined : providedMenuItems;
23
+ const { visibleItems, hiddenItems, measured } = useOverflowingHorizontalListItems({
24
+ containerRef: menuContainerRef,
25
+ items: menuItems,
26
+ itemSelector: `.${b('menu-item')}`,
27
+ moreButtonWidth: 28,
28
+ });
29
+ const renderMenu = (items) => (React__default.createElement(Menu, { className: b('list') }, items.map((item, index) => (React__default.createElement(MenuItem, Object.assign({ key: index }, item, { className: b('menu-item', item.className) }))))));
30
+ const shouldRenderLogo = view !== 'clear' && Boolean(logo);
31
+ return (React__default.createElement("footer", { className: b({ mobile: true, 'with-divider': withDivider, view }, className) },
32
+ React__default.createElement("div", { className: b('menu', { measured }), ref: menuContainerRef },
33
+ visibleItems.length > 0 && renderMenu(visibleItems),
34
+ hiddenItems.length > 0 && (React__default.createElement(React__default.Fragment, null,
35
+ React__default.createElement(Button, { view: "flat-secondary", size: "l", onClick: handleOpenMoreItemsMenu, title: moreButtonTitle },
36
+ React__default.createElement(Icon, { data: Ellipsis, size: 16 })),
37
+ React__default.createElement(Sheet, { id: modalId, visible: moreItemsMenuVisible, className: b('modal'), contentClassName: b('modal-content'), onClose: handleCloseMoreItemsMenu }, renderMenu(hiddenItems))))),
38
+ React__default.createElement("div", { className: b('bottom-row') },
39
+ React__default.createElement("small", { className: b('copyright') }, copyright),
40
+ shouldRenderLogo && (React__default.createElement("div", { className: logoWrapperClassName },
41
+ React__default.createElement(Logo, Object.assign({}, logo)))))));
42
+ };
43
+
44
+ export { MobileFooter };
45
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/Footer/mobile/Footer.tsx"],"sourcesContent":["import React, {useCallback, useRef, useState} from 'react';\nimport type {FC} from 'react';\n\nimport {Ellipsis} from '@gravity-ui/icons';\nimport {Button, Icon, Menu, Sheet} from '@gravity-ui/uikit';\n\nimport {useOverflowingHorizontalListItems} from '../../../hooks/useOverflowingHorizontalListItems';\nimport {Logo} from '../../Logo';\nimport {block} from '../../utils/cn';\nimport {MenuItem} from '../MenuItem/MenuItem';\nimport {FooterMenuItem, FooterProps} from '../types';\n\nimport './Footer.scss';\n\nconst b = block('footer');\n\nconst modalId = 'footer-more-items';\n\nexport const MobileFooter: FC<FooterProps> = ({\n className,\n menuItems: providedMenuItems,\n withDivider,\n moreButtonTitle,\n onMoreButtonClick,\n view = 'normal',\n logo,\n logoWrapperClassName,\n copyright,\n}) => {\n const [moreItemsMenuVisible, setMoreItemsMenuVisible] = useState(false);\n const menuContainerRef = useRef<HTMLDivElement>(null);\n\n const handleOpenMoreItemsMenu = useCallback(\n (event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setMoreItemsMenuVisible(true);\n onMoreButtonClick?.(event);\n },\n [onMoreButtonClick],\n );\n\n const handleCloseMoreItemsMenu = useCallback(() => {\n setMoreItemsMenuVisible(false);\n }, []);\n\n const menuItems = view === 'clear' ? undefined : providedMenuItems;\n\n const {visibleItems, hiddenItems, measured} = useOverflowingHorizontalListItems({\n containerRef: menuContainerRef,\n items: menuItems,\n itemSelector: `.${b('menu-item')}`,\n moreButtonWidth: 28,\n });\n\n const renderMenu = (items: FooterMenuItem[]) => (\n <Menu className={b('list')}>\n {items.map((item, index) => (\n <MenuItem key={index} {...item} className={b('menu-item', item.className)} />\n ))}\n </Menu>\n );\n\n const shouldRenderLogo = view !== 'clear' && Boolean(logo);\n\n return (\n <footer className={b({mobile: true, 'with-divider': withDivider, view}, className)}>\n <div className={b('menu', {measured})} ref={menuContainerRef}>\n {visibleItems.length > 0 && renderMenu(visibleItems)}\n {hiddenItems.length > 0 && (\n <>\n <Button\n view=\"flat-secondary\"\n size=\"l\"\n onClick={handleOpenMoreItemsMenu}\n title={moreButtonTitle}\n >\n <Icon data={Ellipsis} size={16} />\n </Button>\n <Sheet\n id={modalId}\n visible={moreItemsMenuVisible}\n className={b('modal')}\n contentClassName={b('modal-content')}\n onClose={handleCloseMoreItemsMenu}\n >\n {renderMenu(hiddenItems)}\n </Sheet>\n </>\n )}\n </div>\n <div className={b('bottom-row')}>\n <small className={b('copyright')}>{copyright}</small>\n {shouldRenderLogo && (\n <div className={logoWrapperClassName}>\n <Logo {...logo!} />\n </div>\n )}\n </div>\n </footer>\n );\n};\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".gn-footer_mobile{background:var(--g-color-base-background);display:flex;flex-direction:column;padding:var(--g-spacing-1) var(--g-spacing-6) var(--g-spacing-3) var(--g-spacing-3)}.gn-footer_mobile .gn-footer_with-divider{border-top:1px solid var(--g-color-line-generic)}.gn-footer_mobile .gn-footer__menu{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--g-spacing-1);visibility:hidden}.gn-footer_mobile .gn-footer__menu_measured{visibility:visible}.gn-footer_mobile .gn-footer__list[class]{background-color:inherit;display:flex;padding:0}.gn-footer_mobile .gn-footer__menu-item{box-sizing:border-box;padding:var(--g-spacing-2) var(--g-spacing-3)}.gn-footer_mobile .gn-footer__bottom-row{align-items:center;display:flex;justify-content:space-between}.gn-footer_mobile .gn-footer__copyright{color:var(--g-color-text-secondary);font-family:var(--g-text-caption-font-family);font-size:var(--g-text-caption-2-font-size);font-weight:var(--g-text-caption-font-weight);line-height:var(--g-text-caption-2-line-height);padding:0 var(--g-spacing-3);white-space:nowrap}.gn-footer__modal .gn-footer__menu-item{color:var(--g-color-text-primary);font-family:var(--g-text-body-font-family);font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);height:48px;line-height:var(--g-text-body-2-line-height)}.gn-footer_view_clear{background:transparent;z-index:-1}.gn-footer_view_clear .gn-footer__bottom-row{justify-content:flex-end}";
4
+ styleInject(css_248z);
5
+
6
+ export { css_248z as default };
7
+ //# sourceMappingURL=Footer.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}