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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/README.md +1 -1
  2. package/build/cjs/{ActionBar-3c6cdf57.js → ActionBar-_qjZ9IMA.js} +10 -14
  3. package/build/cjs/{ActionBar-3c6cdf57.js.map → ActionBar-_qjZ9IMA.js.map} +1 -1
  4. package/build/cjs/AsideFallback.js +10 -16
  5. package/build/cjs/AsideFallback.js.map +1 -1
  6. package/build/cjs/AsideHeader.js +15 -20
  7. package/build/cjs/AsideHeader.js.map +1 -1
  8. package/build/cjs/AsideHeaderContext.js +4 -10
  9. package/build/cjs/AsideHeaderContext.js.map +1 -1
  10. package/build/cjs/Content-Dy2XkiRi.js +16 -0
  11. package/build/cjs/{Content-64d5738a.js.map → Content-Dy2XkiRi.js.map} +1 -1
  12. package/build/cjs/Drawer.js +120 -824
  13. package/build/cjs/Drawer.js.map +1 -1
  14. package/build/cjs/{FooterItem-de603636.js → FooterItem-CLk0aHrc.js} +77 -81
  15. package/build/cjs/FooterItem-CLk0aHrc.js.map +1 -0
  16. package/build/cjs/FooterItem.js +8 -13
  17. package/build/cjs/FooterItem.js.map +1 -1
  18. package/build/cjs/{HotkeysPanel-1ed9fc32.js → HotkeysPanel-C436myZY.js} +13 -17
  19. package/build/cjs/HotkeysPanel-C436myZY.js.map +1 -0
  20. package/build/cjs/Item-CLHysLDd.js +328 -0
  21. package/build/cjs/Item-CLHysLDd.js.map +1 -0
  22. package/build/cjs/PageLayout.js +13 -19
  23. package/build/cjs/PageLayout.js.map +1 -1
  24. package/build/cjs/{PageLayoutAside-30f2015c.js → PageLayoutAside-SMHlPBAO.js} +109 -138
  25. package/build/cjs/PageLayoutAside-SMHlPBAO.js.map +1 -0
  26. package/build/cjs/PageLayoutAside.js +10 -11
  27. package/build/cjs/PageLayoutAside.js.map +1 -1
  28. package/build/cjs/{Settings-8dc2a8ee.js → Settings-x0a3P0Vr.js} +112 -105
  29. package/build/cjs/Settings-x0a3P0Vr.js.map +1 -0
  30. package/build/cjs/{Title-54580605.js → Title-CzxcSMoP.js} +7 -13
  31. package/build/cjs/Title-CzxcSMoP.js.map +1 -0
  32. package/build/cjs/_commonjsHelpers-BJu3ubxk.js +11 -0
  33. package/build/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
  34. package/build/cjs/{cn-9933321a.js → cn-DSlPZbcs.js} +1 -1
  35. package/build/cjs/{cn-9933321a.js.map → cn-DSlPZbcs.js.map} +1 -1
  36. package/build/cjs/components/ActionBar/ActionBar.d.ts +3 -3
  37. package/build/cjs/components/ActionBar/__stories__/ActionBar.stories.d.ts +17 -0
  38. package/build/cjs/components/ActionBar/__stories__/ActionBarShowcase.d.ts +2 -0
  39. package/build/cjs/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +2 -0
  40. package/build/cjs/components/ActionBar/__tests__/helpersPlaywright.d.ts +1 -1
  41. package/build/cjs/components/ActionBar/types.d.ts +1 -1
  42. package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +5 -1
  43. package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +1 -1
  44. package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +18 -0
  45. package/build/cjs/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +14 -0
  46. package/build/cjs/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +3 -0
  47. package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +6 -0
  48. package/build/cjs/components/AsideHeader/__tests__/helpersPlaywright.d.ts +1 -1
  49. package/build/cjs/components/AsideHeader/components/index.d.ts +0 -1
  50. package/build/cjs/components/AsideHeader/i18n/index.d.ts +5 -1
  51. package/build/cjs/components/AsideHeader/types.d.ts +3 -4
  52. package/build/cjs/components/CompositeBar/CompositeBar.d.ts +1 -1
  53. package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +1 -1
  54. package/build/cjs/components/CompositeBar/Item/Item.d.ts +15 -2
  55. package/build/cjs/components/Drawer/Drawer.d.ts +0 -5
  56. package/build/cjs/components/Drawer/__stories__/DisablePortal.d.ts +3 -0
  57. package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +7 -0
  58. package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +3 -0
  59. package/build/cjs/components/Drawer/__stories__/HideVeil.d.ts +3 -0
  60. package/build/cjs/components/Drawer/__stories__/ResizableItem.d.ts +3 -0
  61. package/build/cjs/components/Drawer/__stories__/moc.d.ts +2 -0
  62. package/build/cjs/components/Drawer/__tests__/helpersPlaywright.d.ts +1 -1
  63. package/build/cjs/components/Drawer/utils.d.ts +2 -2
  64. package/build/cjs/components/Footer/desktop/__stories__/Footer.stories.d.ts +8 -0
  65. package/build/cjs/components/Footer/desktop/__stories__/FooterShowcase.d.ts +4 -0
  66. package/build/cjs/components/Footer/desktop/__stories__/moc.d.ts +3 -0
  67. package/build/cjs/components/Footer/desktop/__tests__/helpersPlaywright.d.ts +1 -1
  68. package/build/cjs/components/Footer/mobile/__stories__/MobileFooter.stories.d.ts +8 -0
  69. package/build/cjs/components/Footer/mobile/__stories__/MobileFooterShowcase.d.ts +4 -0
  70. package/build/cjs/components/Footer/mobile/__stories__/moc.d.ts +3 -0
  71. package/build/cjs/components/Footer/mobile/__tests__/helpersPlaywright.d.ts +1 -1
  72. package/build/cjs/components/FooterItem/__stories__/FooterItem.stories.d.ts +6 -0
  73. package/build/cjs/components/FooterItem/__tests__/helpersPlaywright.d.ts +1 -1
  74. package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +1 -3
  75. package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +5 -0
  76. package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +6 -0
  77. package/build/cjs/components/HotkeysPanel/__stories__/moc.d.ts +2 -0
  78. package/build/cjs/components/HotkeysPanel/__tests__/helpersPlaywright.d.ts +1 -1
  79. package/build/cjs/components/Logo/Logo.d.ts +1 -1
  80. package/build/cjs/components/Logo/__stories__/Logo.stories.d.ts +6 -0
  81. package/build/cjs/components/Logo/__tests__/helpersPlaywright.d.ts +1 -1
  82. package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +6 -0
  83. package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +2 -0
  84. package/build/cjs/components/MobileHeader/BurgerMenu/__tests__/helpersPlaywright.d.ts +1 -1
  85. package/build/cjs/components/MobileHeader/MobileHeader.d.ts +2 -1
  86. package/build/cjs/components/MobileHeader/OverlapPanel/__stories__/OverlapPanel.stories.d.ts +6 -0
  87. package/build/cjs/components/MobileHeader/OverlapPanel/__stories__/moc.d.ts +2 -0
  88. package/build/cjs/components/MobileHeader/OverlapPanel/__tests__/helpersPlaywright.d.ts +1 -1
  89. package/build/cjs/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +4 -0
  90. package/build/cjs/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +3 -0
  91. package/build/cjs/components/MobileHeader/__stories__/moc.d.ts +1 -0
  92. package/build/cjs/components/MobileHeader/__tests__/helpersPlaywright.d.ts +1 -1
  93. package/build/cjs/components/MobileHeader/i18n/index.d.ts +5 -1
  94. package/build/cjs/components/MobileHeader/types.d.ts +0 -1
  95. package/build/cjs/components/MobileLogo/__stories__/MobileLogo.stories.d.ts +6 -0
  96. package/build/cjs/components/MobileLogo/__tests__/helpersPlaywright.d.ts +1 -1
  97. package/build/cjs/components/Settings/Settings.d.ts +1 -3
  98. package/build/cjs/components/Settings/__stories__/Settings.stories.d.ts +5 -0
  99. package/build/cjs/components/Settings/__stories__/SettingsDemo.d.ts +14 -0
  100. package/build/cjs/components/Settings/__stories__/SettingsMobileDemo.d.ts +8 -0
  101. package/build/cjs/components/Settings/__tests__/helpersPlaywright.d.ts +1 -1
  102. package/build/cjs/components/Settings/collect-settings.d.ts +0 -2
  103. package/build/cjs/components/Settings/i18n/index.d.ts +5 -1
  104. package/build/cjs/components/Title/i18n/index.d.ts +5 -1
  105. package/build/cjs/components/TopAlert/TopAlert.d.ts +10 -0
  106. package/build/cjs/components/TopAlert/index.d.ts +1 -0
  107. package/build/cjs/components/TopAlert/useTopAlertHeight.d.ts +10 -0
  108. package/build/cjs/components/types.d.ts +9 -5
  109. package/build/cjs/{constants-d81c3867.js → constants-B0DLAQY9.js} +1 -1
  110. package/build/{esm/constants-b1604ff5.js.map → cjs/constants-B0DLAQY9.js.map} +1 -1
  111. package/build/cjs/debounce-RFF04eVR.js +660 -0
  112. package/build/{esm/debounce-64cd2b4c.js.map → cjs/debounce-RFF04eVR.js.map} +1 -1
  113. package/build/cjs/{divider-collapsed-b743122e.js → divider-collapsed-BLSp99lJ.js} +7 -9
  114. package/build/cjs/divider-collapsed-BLSp99lJ.js.map +1 -0
  115. package/build/cjs/hooks/useForwardRef.d.ts +1 -1
  116. package/build/cjs/index-B6c8DVdr.js +68 -0
  117. package/build/cjs/index-B6c8DVdr.js.map +1 -0
  118. package/build/cjs/index.js +4 -191
  119. package/build/cjs/index.js.map +1 -1
  120. package/build/cjs/index2.js +7 -6
  121. package/build/cjs/index2.js.map +1 -1
  122. package/build/cjs/index3.js +8 -8
  123. package/build/cjs/index4.js +12 -9
  124. package/build/cjs/index4.js.map +1 -1
  125. package/build/cjs/index5.js +12 -12
  126. package/build/cjs/index6.js +186 -15
  127. package/build/cjs/index6.js.map +1 -1
  128. package/build/cjs/{style-inject.es-dcee06b6.js → style-inject.es-CsU6UJbw.js} +2 -2
  129. package/build/cjs/style-inject.es-CsU6UJbw.js.map +1 -0
  130. package/build/cjs/{tslib.es6-705c6589.js → tslib.es6-D25eJ2i9.js} +33 -31
  131. package/build/cjs/tslib.es6-D25eJ2i9.js.map +1 -0
  132. package/build/cjs/utils-BrRoop7o.js +8 -0
  133. package/build/cjs/{utils-db3e03c2.js.map → utils-BrRoop7o.js.map} +1 -1
  134. package/build/esm/{ActionBar-834b178a.js → ActionBar-BD_roj92.js} +5 -5
  135. package/build/esm/{ActionBar-834b178a.js.map → ActionBar-BD_roj92.js.map} +1 -1
  136. package/build/esm/AsideFallback.js +5 -5
  137. package/build/esm/AsideFallback.js.map +1 -1
  138. package/build/esm/AsideHeader.js +11 -10
  139. package/build/esm/AsideHeader.js.map +1 -1
  140. package/build/esm/AsideHeaderContext.js.map +1 -1
  141. package/build/esm/{Content-f94ba85d.js → Content-c3e3OunO.js} +1 -1
  142. package/build/esm/{Content-f94ba85d.js.map → Content-c3e3OunO.js.map} +1 -1
  143. package/build/esm/Drawer.js +88 -785
  144. package/build/esm/Drawer.js.map +1 -1
  145. package/build/esm/{FooterItem-3cc816a3.js → FooterItem-DuFjLZPI.js} +44 -44
  146. package/build/esm/FooterItem-DuFjLZPI.js.map +1 -0
  147. package/build/esm/FooterItem.js +7 -6
  148. package/build/esm/FooterItem.js.map +1 -1
  149. package/build/esm/{HotkeysPanel-0576deee.js → HotkeysPanel-BWL1Xkqi.js} +6 -6
  150. package/build/esm/HotkeysPanel-BWL1Xkqi.js.map +1 -0
  151. package/build/esm/Item-BU0M-jfC.js +318 -0
  152. package/build/esm/Item-BU0M-jfC.js.map +1 -0
  153. package/build/esm/PageLayout.js +8 -8
  154. package/build/esm/PageLayout.js.map +1 -1
  155. package/build/esm/{PageLayoutAside-5d010e96.js → PageLayoutAside-Bd3aJNrH.js} +52 -77
  156. package/build/esm/PageLayoutAside-Bd3aJNrH.js.map +1 -0
  157. package/build/esm/PageLayoutAside.js +10 -9
  158. package/build/esm/PageLayoutAside.js.map +1 -1
  159. package/build/esm/{Settings-e660a4c5.js → Settings-BC6Kmplf.js} +40 -29
  160. package/build/esm/Settings-BC6Kmplf.js.map +1 -0
  161. package/build/esm/{Title-03b4255a.js → Title-CRlzgg4r.js} +4 -6
  162. package/build/esm/Title-CRlzgg4r.js.map +1 -0
  163. package/build/esm/_commonjsHelpers-BFTU3MAI.js +8 -0
  164. package/build/esm/_commonjsHelpers-BFTU3MAI.js.map +1 -0
  165. package/build/esm/{cn-ffe5e9f5.js → cn-CgiqTV3v.js} +1 -1
  166. package/build/esm/{cn-ffe5e9f5.js.map → cn-CgiqTV3v.js.map} +1 -1
  167. package/build/esm/components/ActionBar/ActionBar.d.ts +3 -3
  168. package/build/esm/components/ActionBar/__stories__/ActionBar.stories.d.ts +17 -0
  169. package/build/esm/components/ActionBar/__stories__/ActionBarShowcase.d.ts +2 -0
  170. package/build/esm/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +2 -0
  171. package/build/esm/components/ActionBar/__tests__/helpersPlaywright.d.ts +1 -1
  172. package/build/esm/components/ActionBar/types.d.ts +1 -1
  173. package/build/esm/components/AllPagesPanel/i18n/index.d.ts +5 -1
  174. package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +1 -1
  175. package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +18 -0
  176. package/build/esm/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +14 -0
  177. package/build/esm/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +3 -0
  178. package/build/esm/components/AsideHeader/__stories__/moc.d.ts +6 -0
  179. package/build/esm/components/AsideHeader/__tests__/helpersPlaywright.d.ts +1 -1
  180. package/build/esm/components/AsideHeader/components/index.d.ts +0 -1
  181. package/build/esm/components/AsideHeader/i18n/index.d.ts +5 -1
  182. package/build/esm/components/AsideHeader/types.d.ts +3 -4
  183. package/build/esm/components/CompositeBar/CompositeBar.d.ts +1 -1
  184. package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +1 -1
  185. package/build/esm/components/CompositeBar/Item/Item.d.ts +15 -2
  186. package/build/esm/components/Drawer/Drawer.d.ts +0 -5
  187. package/build/esm/components/Drawer/__stories__/DisablePortal.d.ts +3 -0
  188. package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +7 -0
  189. package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +3 -0
  190. package/build/esm/components/Drawer/__stories__/HideVeil.d.ts +3 -0
  191. package/build/esm/components/Drawer/__stories__/ResizableItem.d.ts +3 -0
  192. package/build/esm/components/Drawer/__stories__/moc.d.ts +2 -0
  193. package/build/esm/components/Drawer/__tests__/helpersPlaywright.d.ts +1 -1
  194. package/build/esm/components/Drawer/utils.d.ts +2 -2
  195. package/build/esm/components/Footer/desktop/__stories__/Footer.stories.d.ts +8 -0
  196. package/build/esm/components/Footer/desktop/__stories__/FooterShowcase.d.ts +4 -0
  197. package/build/esm/components/Footer/desktop/__stories__/moc.d.ts +3 -0
  198. package/build/esm/components/Footer/desktop/__tests__/helpersPlaywright.d.ts +1 -1
  199. package/build/esm/components/Footer/mobile/__stories__/MobileFooter.stories.d.ts +8 -0
  200. package/build/esm/components/Footer/mobile/__stories__/MobileFooterShowcase.d.ts +4 -0
  201. package/build/esm/components/Footer/mobile/__stories__/moc.d.ts +3 -0
  202. package/build/esm/components/Footer/mobile/__tests__/helpersPlaywright.d.ts +1 -1
  203. package/build/esm/components/FooterItem/__stories__/FooterItem.stories.d.ts +6 -0
  204. package/build/esm/components/FooterItem/__tests__/helpersPlaywright.d.ts +1 -1
  205. package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +1 -3
  206. package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +5 -0
  207. package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +6 -0
  208. package/build/esm/components/HotkeysPanel/__stories__/moc.d.ts +2 -0
  209. package/build/esm/components/HotkeysPanel/__tests__/helpersPlaywright.d.ts +1 -1
  210. package/build/esm/components/Logo/Logo.d.ts +1 -1
  211. package/build/esm/components/Logo/__stories__/Logo.stories.d.ts +6 -0
  212. package/build/esm/components/Logo/__tests__/helpersPlaywright.d.ts +1 -1
  213. package/build/esm/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +6 -0
  214. package/build/esm/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +2 -0
  215. package/build/esm/components/MobileHeader/BurgerMenu/__tests__/helpersPlaywright.d.ts +1 -1
  216. package/build/esm/components/MobileHeader/MobileHeader.d.ts +2 -1
  217. package/build/esm/components/MobileHeader/OverlapPanel/__stories__/OverlapPanel.stories.d.ts +6 -0
  218. package/build/esm/components/MobileHeader/OverlapPanel/__stories__/moc.d.ts +2 -0
  219. package/build/esm/components/MobileHeader/OverlapPanel/__tests__/helpersPlaywright.d.ts +1 -1
  220. package/build/esm/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +4 -0
  221. package/build/esm/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +3 -0
  222. package/build/esm/components/MobileHeader/__stories__/moc.d.ts +1 -0
  223. package/build/esm/components/MobileHeader/__tests__/helpersPlaywright.d.ts +1 -1
  224. package/build/esm/components/MobileHeader/i18n/index.d.ts +5 -1
  225. package/build/esm/components/MobileHeader/types.d.ts +0 -1
  226. package/build/esm/components/MobileLogo/__stories__/MobileLogo.stories.d.ts +6 -0
  227. package/build/esm/components/MobileLogo/__tests__/helpersPlaywright.d.ts +1 -1
  228. package/build/esm/components/Settings/Settings.d.ts +1 -3
  229. package/build/esm/components/Settings/__stories__/Settings.stories.d.ts +5 -0
  230. package/build/esm/components/Settings/__stories__/SettingsDemo.d.ts +14 -0
  231. package/build/esm/components/Settings/__stories__/SettingsMobileDemo.d.ts +8 -0
  232. package/build/esm/components/Settings/__tests__/helpersPlaywright.d.ts +1 -1
  233. package/build/esm/components/Settings/collect-settings.d.ts +0 -2
  234. package/build/esm/components/Settings/i18n/index.d.ts +5 -1
  235. package/build/esm/components/Title/i18n/index.d.ts +5 -1
  236. package/build/esm/components/TopAlert/TopAlert.d.ts +10 -0
  237. package/build/esm/components/TopAlert/index.d.ts +1 -0
  238. package/build/esm/components/TopAlert/useTopAlertHeight.d.ts +10 -0
  239. package/build/esm/components/types.d.ts +9 -5
  240. package/build/esm/{constants-b1604ff5.js → constants-ChYDZ5F2.js} +2 -2
  241. package/build/{cjs/constants-d81c3867.js.map → esm/constants-ChYDZ5F2.js.map} +1 -1
  242. package/build/esm/debounce-DW3XyyUs.js +658 -0
  243. package/build/{cjs/debounce-8772fd80.js.map → esm/debounce-DW3XyyUs.js.map} +1 -1
  244. package/build/esm/{divider-collapsed-a0ef54c3.js → divider-collapsed-BgKmR8h9.js} +4 -5
  245. package/build/esm/divider-collapsed-BgKmR8h9.js.map +1 -0
  246. package/build/esm/hooks/useForwardRef.d.ts +1 -1
  247. package/build/esm/index-BLdwsphX.js +66 -0
  248. package/build/esm/index-BLdwsphX.js.map +1 -0
  249. package/build/esm/index.js +4 -168
  250. package/build/esm/index.js.map +1 -1
  251. package/build/esm/index2.js +6 -3
  252. package/build/esm/index2.js.map +1 -1
  253. package/build/esm/index3.js +7 -5
  254. package/build/esm/index3.js.map +1 -1
  255. package/build/esm/index4.js +9 -6
  256. package/build/esm/index4.js.map +1 -1
  257. package/build/esm/index5.js +8 -7
  258. package/build/esm/index5.js.map +1 -1
  259. package/build/esm/index6.js +168 -9
  260. package/build/esm/index6.js.map +1 -1
  261. package/build/esm/{style-inject.es-1f59c1d0.js → style-inject.es-Bff-fD1R.js} +2 -2
  262. package/build/esm/style-inject.es-Bff-fD1R.js.map +1 -0
  263. package/build/esm/{tslib.es6-3cd4e99f.js → tslib.es6-BCqiemNI.js} +33 -31
  264. package/build/esm/tslib.es6-BCqiemNI.js.map +1 -0
  265. package/build/esm/utils-D0s6YtvW.js +6 -0
  266. package/build/esm/{utils-117463a5.js.map → utils-D0s6YtvW.js.map} +1 -1
  267. package/package.json +48 -45
  268. package/build/cjs/Content-64d5738a.js +0 -20
  269. package/build/cjs/FooterItem-de603636.js.map +0 -1
  270. package/build/cjs/HotkeysPanel-1ed9fc32.js.map +0 -1
  271. package/build/cjs/Item-ff6bc440.js +0 -303
  272. package/build/cjs/Item-ff6bc440.js.map +0 -1
  273. package/build/cjs/PageLayoutAside-30f2015c.js.map +0 -1
  274. package/build/cjs/Settings-8dc2a8ee.js.map +0 -1
  275. package/build/cjs/Title-54580605.js.map +0 -1
  276. package/build/cjs/TopPanel-c6b83157.js +0 -82
  277. package/build/cjs/TopPanel-c6b83157.js.map +0 -1
  278. package/build/cjs/components/AsideHeader/components/TopPanel.d.ts +0 -7
  279. package/build/cjs/components/AsideHeader/useAsideHeaderTopPanel.d.ts +0 -10
  280. package/build/cjs/debounce-8772fd80.js +0 -545
  281. package/build/cjs/divider-collapsed-b743122e.js.map +0 -1
  282. package/build/cjs/style-inject.es-dcee06b6.js.map +0 -1
  283. package/build/cjs/tslib.es6-705c6589.js.map +0 -1
  284. package/build/cjs/utils-db3e03c2.js +0 -8
  285. package/build/esm/FooterItem-3cc816a3.js.map +0 -1
  286. package/build/esm/HotkeysPanel-0576deee.js.map +0 -1
  287. package/build/esm/Item-55899ec8.js +0 -289
  288. package/build/esm/Item-55899ec8.js.map +0 -1
  289. package/build/esm/PageLayoutAside-5d010e96.js.map +0 -1
  290. package/build/esm/Settings-e660a4c5.js.map +0 -1
  291. package/build/esm/Title-03b4255a.js.map +0 -1
  292. package/build/esm/TopPanel-cd270f27.js +0 -76
  293. package/build/esm/TopPanel-cd270f27.js.map +0 -1
  294. package/build/esm/components/AsideHeader/components/TopPanel.d.ts +0 -7
  295. package/build/esm/components/AsideHeader/useAsideHeaderTopPanel.d.ts +0 -10
  296. package/build/esm/debounce-64cd2b4c.js +0 -543
  297. package/build/esm/divider-collapsed-a0ef54c3.js.map +0 -1
  298. package/build/esm/style-inject.es-1f59c1d0.js.map +0 -1
  299. package/build/esm/tslib.es6-3cd4e99f.js.map +0 -1
  300. package/build/esm/utils-117463a5.js +0 -6
@@ -1,12 +1,13 @@
1
- import { _ as __rest } from './tslib.es6-3cd4e99f.js';
1
+ import { _ as __rest } from './tslib.es6-BCqiemNI.js';
2
2
  import * as React from 'react';
3
3
  import React__default from 'react';
4
4
  import { Icon, Tabs, TextInput, Loader, Flex } from '@gravity-ui/uikit';
5
- import { b as block, N as NAMESPACE } from './cn-ffe5e9f5.js';
6
- import { s as styleInject } from './style-inject.es-1f59c1d0.js';
7
- import { d as debounce_1 } from './debounce-64cd2b4c.js';
5
+ import { g as getDefaultExportFromCjs } from './_commonjsHelpers-BFTU3MAI.js';
6
+ import { T as Title } from './Title-CRlzgg4r.js';
7
+ import { b as block, N as NAMESPACE } from './cn-CgiqTV3v.js';
8
+ import { s as styleInject } from './style-inject.es-Bff-fD1R.js';
9
+ import { d as debounceFn } from './debounce-DW3XyyUs.js';
8
10
  import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
9
- import { T as Title } from './Title-03b4255a.js';
10
11
 
11
12
  function useStableCallback(func) {
12
13
  const funcRef = React.useRef();
@@ -64,7 +65,7 @@ function getSettingsFromChildrenRecursive(children, basepath = '', filterRe) {
64
65
  if (process.env.NODE_ENV === 'development') {
65
66
  invariant(!hasItems, 'Setting menu must not mix groups and pages on one level');
66
67
  }
67
- const pageId = `${basepath}/${(_a = element.props.id) !== null && _a !== void 0 ? _a : element.props.groupTitle}`;
68
+ const pageId = `${basepath}/${(_a = element.props.id) !== null && _a !== undefined ? _a : element.props.groupTitle}`;
68
69
  hasGroup = true;
69
70
  const { menu: menuFragment, pages: pagesFragment } = getSettingsFromChildrenRecursive(element.props.children, pageId, filterRe);
70
71
  if (process.env.NODE_ENV === 'development') {
@@ -80,7 +81,7 @@ function getSettingsFromChildrenRecursive(children, basepath = '', filterRe) {
80
81
  }
81
82
  else {
82
83
  hasItems = true;
83
- const pageId = `${basepath}/${(_b = element.props.id) !== null && _b !== void 0 ? _b : element.props.title}`;
84
+ const pageId = `${basepath}/${(_b = element.props.id) !== null && _b !== undefined ? _b : element.props.title}`;
84
85
  if (process.env.NODE_ENV === 'development') {
85
86
  invariant(Boolean(element.props.title), 'Component must include title prop');
86
87
  invariant(!hasGroup, 'Setting menu must not mix groups and pages on one level');
@@ -114,14 +115,13 @@ function getSettingsPageFromChildren(children, filterRe) {
114
115
  page.hidden = hidden && page.hidden;
115
116
  }
116
117
  else {
117
- const { withBadge, showTitle = true } = element.props;
118
+ const { withBadge } = element.props;
118
119
  const { items, hidden } = getSettingsItemsFromChildren(element.props.children, filterRe);
119
120
  page.withBadge = withBadge || page.withBadge;
120
121
  page.hidden = hidden && page.hidden;
121
122
  page.sections.push(Object.assign(Object.assign({}, element.props), { withBadge,
122
123
  items,
123
- hidden,
124
- showTitle }));
124
+ hidden }));
125
125
  }
126
126
  });
127
127
  return page;
@@ -211,11 +211,22 @@ function useSettingsSelectionContext() {
211
211
  * // => true
212
212
  */
213
213
 
214
- function identity(value) {
215
- return value;
214
+ var identity_1;
215
+ var hasRequiredIdentity;
216
+
217
+ function requireIdentity () {
218
+ if (hasRequiredIdentity) return identity_1;
219
+ hasRequiredIdentity = 1;
220
+ function identity(value) {
221
+ return value;
222
+ }
223
+
224
+ identity_1 = identity;
225
+ return identity_1;
216
226
  }
217
227
 
218
- var identity_1 = identity;
228
+ var identityExports = requireIdentity();
229
+ var identity = /*@__PURE__*/getDefaultExportFromCjs(identityExports);
219
230
 
220
231
  function isSectionSelected(selected, pageId, section) {
221
232
  var _a;
@@ -225,7 +236,7 @@ function isSectionSelected(selected, pageId, section) {
225
236
  else if (selected.section.id && selected.section.id === section.id) {
226
237
  return true;
227
238
  }
228
- else if (((_a = selected.page) === null || _a === void 0 ? void 0 : _a.id) === pageId &&
239
+ else if (((_a = selected.page) === null || _a === undefined ? undefined : _a.id) === pageId &&
229
240
  selected.section.title &&
230
241
  selected.section.title === section.title) {
231
242
  return true;
@@ -306,7 +317,7 @@ function focusNext(container, focused, direction) {
306
317
  currentIndex = Array.prototype.findIndex.call(elements, (element) => element.getAttribute('data-id') === focused);
307
318
  }
308
319
  currentIndex = (elements.length + currentIndex + direction) % elements.length;
309
- return (_a = elements[currentIndex].getAttribute('data-id')) !== null && _a !== void 0 ? _a : undefined;
320
+ return (_a = elements[currentIndex].getAttribute('data-id')) !== null && _a !== undefined ? _a : undefined;
310
321
  }
311
322
 
312
323
  var css_248z$1 = ".gn-settings-menu-mobile.g-tabs_direction_horizontal{-ms-overflow-style:none;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:none;scrollbar-width:none}.gn-settings-menu-mobile.g-tabs_direction_horizontal::-webkit-scrollbar{display:none}.gn-settings-menu-mobile__item_badge{position:relative}.gn-settings-menu-mobile__item_badge:after{background-color:var(--g-color-text-danger);border-radius:50%;content:\"\";display:block;height:6px;position:absolute;right:-8px;top:11px;width:6px}";
@@ -363,8 +374,8 @@ var i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}${COMPONENT}`);
363
374
 
364
375
  const b$1 = block('settings-search');
365
376
  function SettingsSearch({ className, initialValue, onChange, debounce = 200, inputRef, inputSize, placeholder, autoFocus = true, }) {
366
- const [value, setValue] = React__default.useState(initialValue !== null && initialValue !== void 0 ? initialValue : '');
367
- const onChangeDebounced = useStableCallback(debounce_1(onChange, debounce));
377
+ const [value, setValue] = React__default.useState(initialValue !== null && initialValue !== undefined ? initialValue : '');
378
+ const onChangeDebounced = useStableCallback(debounceFn(onChange, debounce));
368
379
  const handleUpdate = useStableCallback((updated) => {
369
380
  setValue(updated);
370
381
  onChangeDebounced(updated);
@@ -375,7 +386,7 @@ function SettingsSearch({ className, initialValue, onChange, debounce = 200, inp
375
386
  } })));
376
387
  }
377
388
 
378
- var css_248z = ".gn-settings{display:grid;grid-template-columns:216px 1fr;height:100%;width:834px}.gn-settings_view_mobile{display:block;height:calc(80vh - 56px);overflow-x:hidden;width:auto}@supports (height:90dvh){.gn-settings_view_mobile{height:calc(90dvh - 56px)}}.gn-settings_view_mobile.gn-settings_loading{text-align:center}.gn-settings_view_mobile .gn-settings__loader{margin-top:20px}.gn-settings_view_mobile .gn-settings__search{margin:4px 0 16px;padding:0 20px}.gn-settings_view_mobile .gn-settings__page{overflow-y:visible}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:first-child{margin-left:20px}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:last-child{margin-right:20px}.gn-settings_view_mobile .gn-settings__section-heading{font-size:var(--g-text-subheader-3-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-3-line-height)}.gn-settings_view_mobile .gn-settings__section-subheader{color:var(--g-color-text-secondary)}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings-subheader{margin-top:8px}.gn-settings_view_mobile .gn-settings__section-item{margin-top:0}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings__section-item,.gn-settings_view_mobile .gn-settings__section-subheader+.gn-settings__section-item{margin-top:30px}.gn-settings_view_mobile .gn-settings__section-item+.gn-settings__section-item{margin-top:22px}.gn-settings_view_mobile .gn-settings__item:not(.gn-settings_view_mobile .gn-settings__item_mode_row){gap:8px;grid-template-columns:1fr}.gn-settings_view_mobile .gn-settings__item-heading{font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-2-line-height)}.gn-settings_view_mobile .gn-settings__item-description{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)}.gn-settings_view_mobile .gn-settings__item_mode_row{grid-template-columns:1fr auto}.gn-settings_view_mobile .gn-settings__item_mode_row .gn-settings__item-heading{padding-right:20px}.gn-settings_view_mobile .gn-settings__item-content{width:100%}.gn-settings_view_mobile .gn-settings__not-found{color:var(--g-color-text-hint);font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);justify-items:start;line-height:var(--g-text-body-2-line-height);margin:20px 0 0 20px}.gn-settings_loading{grid-template-columns:auto}.gn-settings__loader{place-self:center}.gn-settings__not-found{display:grid;height:100%;place-items:center}.gn-settings__menu{border-right:1px solid var(--g-color-line-generic)}.gn-settings__heading{font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:20px 20px 0}.gn-settings__search{margin:0 20px 16px}.gn-settings__page{overflow-y:auto}.gn-settings__content{padding:20px}.gn-settings__section-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__section-heading:hover .gn-settings__section-right-adornment_hidden{opacity:1}.gn-settings__section-heading{font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:0}.gn-settings__section-item{margin-top:24px}.gn-settings__section+.gn-settings__section{margin-top:32px}.gn-settings__section_only-child:only-child .gn-settings__section-item:first-of-type{margin-top:0}.gn-settings__section_only-child:only-child .gn-settings__section-heading{display:none}.gn-settings__item{display:grid;grid-template-columns:216px 1fr;justify-items:start}.gn-settings__item_align_top{align-items:start}.gn-settings__item_align_center{align-items:center}.gn-settings__item-title_badge{position:relative}.gn-settings__item-title_badge:after{background-color:var(--g-color-text-danger);border-radius:50%;content:\"\";display:block;height:6px;position:absolute;right:-8px;top:1px;width:6px}.gn-settings__item-description{color:var(--g-color-text-secondary);display:block;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);margin-top:2px;padding-right:20px}.gn-settings__item-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__item:hover .gn-settings__item-right-adornment_hidden{opacity:1}.gn-settings__item_selected,.gn-settings__section_selected{background:var(--g-color-base-selection);border-radius:8px;margin-left:-8px;padding:8px}.gn-settings__found{background:var(--g-color-base-selection);font-weight:var(--g-text-accent-font-weight)}";
389
+ var css_248z = ".gn-settings{display:grid;grid-template-columns:216px 1fr;height:100%;width:834px}.gn-settings_view_mobile{display:block;height:calc(80vh - 56px);overflow-x:hidden;width:auto}@supports (height:90dvh){.gn-settings_view_mobile{height:calc(90dvh - 56px)}}.gn-settings_view_mobile.gn-settings_loading{text-align:center}.gn-settings_view_mobile .gn-settings__loader{margin-top:20px}.gn-settings_view_mobile .gn-settings__search{margin:4px 0 16px;padding:0 20px}.gn-settings_view_mobile .gn-settings__page{overflow-y:visible}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:first-child{margin-left:20px}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:last-child{margin-right:20px}.gn-settings_view_mobile .gn-settings__section-heading{font-family:var(--g-text-subheader-font-family);font-size:var(--g-text-subheader-3-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-3-line-height)}.gn-settings_view_mobile .gn-settings__section-subheader{color:var(--g-color-text-secondary)}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings-subheader{margin-top:8px}.gn-settings_view_mobile .gn-settings__section-item{margin-top:0}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings__section-item,.gn-settings_view_mobile .gn-settings__section-subheader+.gn-settings__section-item{margin-top:30px}.gn-settings_view_mobile .gn-settings__section-item+.gn-settings__section-item{margin-top:22px}.gn-settings_view_mobile .gn-settings__item:not(.gn-settings_view_mobile .gn-settings__item_mode_row){gap:8px;grid-template-columns:1fr}.gn-settings_view_mobile .gn-settings__item-heading{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);line-height:var(--g-text-body-2-line-height)}.gn-settings_view_mobile .gn-settings__item-description{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)}.gn-settings_view_mobile .gn-settings__item_mode_row{grid-template-columns:1fr auto}.gn-settings_view_mobile .gn-settings__item_mode_row .gn-settings__item-heading{padding-right:20px}.gn-settings_view_mobile .gn-settings__item-content{width:100%}.gn-settings_view_mobile .gn-settings__not-found{color:var(--g-color-text-hint);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);justify-items:start;line-height:var(--g-text-body-2-line-height);margin:20px 0 0 20px}.gn-settings_loading{grid-template-columns:auto}.gn-settings__loader{place-self:center}.gn-settings__not-found{display:grid;height:100%;place-items:center}.gn-settings__menu{border-right:1px solid var(--g-color-line-generic)}.gn-settings__heading{font-family:var(--g-text-subheader-font-family);font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:20px 20px 0}.gn-settings__search{margin:0 20px 16px}.gn-settings__page{overflow-y:auto}.gn-settings__content{padding:20px}.gn-settings__section-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__section-heading:hover .gn-settings__section-right-adornment_hidden{opacity:1}.gn-settings__section-heading{font-family:var(--g-text-subheader-font-family);font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:0}.gn-settings__section-item{margin-top:24px}.gn-settings__section+.gn-settings__section{margin-top:32px}.gn-settings__section:only-child .gn-settings__section-item:first-of-type{margin-top:0}.gn-settings__section:only-child .gn-settings__section-heading{display:none}.gn-settings__item{display:grid;grid-template-columns:216px 1fr;justify-items:start}.gn-settings__item_align_top{align-items:start}.gn-settings__item_align_center{align-items:center}.gn-settings__item-title_badge{position:relative}.gn-settings__item-title_badge:after{background-color:var(--g-color-text-danger);border-radius:50%;content:\"\";display:block;height:6px;position:absolute;right:-8px;top:1px;width:6px}.gn-settings__item-description{color:var(--g-color-text-secondary);display:block;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);margin-top:2px;padding-right:20px}.gn-settings__item-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__item:hover .gn-settings__item-right-adornment_hidden{opacity:1}.gn-settings__item_selected,.gn-settings__section_selected{background:var(--g-color-base-selection);border-radius:8px;margin-left:-8px;padding:8px}.gn-settings__found{background:var(--g-color-base-selection);font-weight:var(--g-text-accent-font-weight)}";
379
390
  styleInject(css_248z);
380
391
 
381
392
  const b = block('settings');
@@ -404,7 +415,7 @@ const getPageTitleById = (menu, activePage) => {
404
415
  function SettingsContent({ initialPage, initialSearch, selection, children, renderNotFound, title = i18n('label_title'), filterPlaceholder = i18n('label_filter-placeholder'), emptyPlaceholder = i18n('label_empty-placeholder'), view, onPageChange, onClose, }) {
405
416
  var _a, _b;
406
417
  const { renderSectionRightAdornment, showRightAdornmentOnHover } = useSettingsContext();
407
- const [search, setSearch] = React__default.useState(initialSearch !== null && initialSearch !== void 0 ? initialSearch : '');
418
+ const [search, setSearch] = React__default.useState(initialSearch !== null && initialSearch !== undefined ? initialSearch : '');
408
419
  const { menu, pages } = getSettingsFromChildren(children, search);
409
420
  const selected = useSettingsSelectionProviderValue(pages, selection);
410
421
  const pageKeys = Object.keys(pages);
@@ -416,12 +427,12 @@ function SettingsContent({ initialPage, initialSearch, selection, children, rend
416
427
  const isMobile = view === 'mobile';
417
428
  React__default.useEffect(() => {
418
429
  var _a;
419
- (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.clearFocus();
430
+ (_a = menuRef.current) === null || _a === undefined ? undefined : _a.clearFocus();
420
431
  }, [search]);
421
432
  React__default.useEffect(() => {
422
433
  const handler = () => {
423
434
  var _a;
424
- (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.clearFocus();
435
+ (_a = menuRef.current) === null || _a === undefined ? undefined : _a.clearFocus();
425
436
  };
426
437
  window.addEventListener('click', handler);
427
438
  return () => {
@@ -429,13 +440,13 @@ function SettingsContent({ initialPage, initialSearch, selection, children, rend
429
440
  };
430
441
  }, []);
431
442
  let activePage = selectedPage;
432
- if (!activePage || ((_a = pages[activePage]) === null || _a === void 0 ? void 0 : _a.hidden)) {
433
- activePage = (_b = Object.values(pages).find(({ hidden }) => !hidden)) === null || _b === void 0 ? void 0 : _b.id;
443
+ if (!activePage || ((_a = pages[activePage]) === null || _a === undefined ? undefined : _a.hidden)) {
444
+ activePage = (_b = Object.values(pages).find(({ hidden }) => !hidden)) === null || _b === undefined ? undefined : _b.id;
434
445
  }
435
446
  const handlePageChange = (newPage) => {
436
447
  setCurrentPage((prevPage) => {
437
448
  if (prevPage !== newPage) {
438
- onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange(newPage);
449
+ onPageChange === null || onPageChange === undefined ? undefined : onPageChange(newPage);
439
450
  }
440
451
  return newPage;
441
452
  });
@@ -452,7 +463,7 @@ function SettingsContent({ initialPage, initialSearch, selection, children, rend
452
463
  }, [selectionInitialPage]);
453
464
  React__default.useEffect(() => {
454
465
  var _a;
455
- if ((_a = selected.selectedRef) === null || _a === void 0 ? void 0 : _a.current) {
466
+ if ((_a = selected.selectedRef) === null || _a === undefined ? undefined : _a.current) {
456
467
  selected.selectedRef.current.scrollIntoView();
457
468
  }
458
469
  }, [selected.selectedRef]);
@@ -461,8 +472,8 @@ function SettingsContent({ initialPage, initialSearch, selection, children, rend
461
472
  };
462
473
  const renderSection = (page, section) => {
463
474
  const isSelected = isSectionSelected(selected, page, section);
464
- return (React__default.createElement("div", { key: section.title, className: b('section', { selected: isSelected, 'only-child': section.onlyChild }), ref: isSelected ? selected.selectedRef : undefined },
465
- section.showTitle && (React__default.createElement("h3", { className: b('section-heading') }, renderSectionRightAdornment ? (React__default.createElement(Flex, { gap: 2, alignItems: 'center' },
475
+ return (React__default.createElement("div", { key: section.title, className: b('section', { selected: isSelected }), ref: isSelected ? selected.selectedRef : undefined },
476
+ section.title && (React__default.createElement("h3", { className: b('section-heading') }, renderSectionRightAdornment ? (React__default.createElement(Flex, { gap: 2, alignItems: 'center' },
466
477
  section.title,
467
478
  React__default.createElement("div", { className: b('section-right-adornment', {
468
479
  hidden: showRightAdornmentOnHover,
@@ -510,7 +521,7 @@ Settings.Section = function SettingsSection({ children }) {
510
521
  return React__default.createElement(React__default.Fragment, null, children);
511
522
  };
512
523
  Settings.Item = function SettingsItem(setting) {
513
- const { id, labelId, highlightedTitle, children, align = 'center', withBadge, renderTitleComponent = identity_1, mode, description, } = setting;
524
+ const { id, labelId, highlightedTitle, children, align = 'center', withBadge, renderTitleComponent = identity, mode, description, } = setting;
514
525
  const selected = useSettingsSelectionContext();
515
526
  const isSettingSelected = selected.setting && selected.setting.id === id;
516
527
  const { renderRightAdornment, showRightAdornmentOnHover } = useSettingsContext();
@@ -550,4 +561,4 @@ function prepareTitle(string, search) {
550
561
  }
551
562
 
552
563
  export { Settings as S, useSettingsContext as a, useSettingsSelectionContext as u };
553
- //# sourceMappingURL=Settings-e660a4c5.js.map
564
+ //# sourceMappingURL=Settings-BC6Kmplf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings-BC6Kmplf.js","sources":["../../../src/components/Settings/helpers.ts","../../../src/components/Settings/collect-settings.ts","../../../src/components/Settings/Selection/context.ts","../../node_modules/lodash/identity.js","../../../src/components/Settings/Selection/utils.ts","../../../src/components/Settings/SettingsMenu/SettingsMenu.tsx","../../../src/components/Settings/SettingsMenuMobile/SettingsMenuMobile.tsx","../../../src/components/Settings/i18n/index.ts","../../../src/components/Settings/SettingsSearch/SettingsSearch.tsx","../../../src/components/Settings/Settings.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype AnyFunc = (...args: any[]) => any;\n\nexport function useStableCallback<T extends AnyFunc>(\n func: T,\n): (...args: Parameters<T>) => ReturnType<T> | undefined {\n const funcRef = React.useRef<T>();\n\n React.useEffect(() => {\n funcRef.current = func;\n return () => {\n funcRef.current = undefined;\n };\n }, [func]);\n\n return React.useCallback((...args: Parameters<T>) => {\n if (typeof funcRef.current === 'function') {\n return funcRef.current(...args);\n }\n return undefined;\n }, []);\n}\n\nexport function useCurrent<T>(value: T) {\n const ref = React.useRef(value);\n ref.current = value;\n return React.useCallback(() => ref.current, []);\n}\n\nexport function invariant(cond: boolean, message: string): void {\n if (!cond) {\n throw new Error(message);\n }\n}\n\nexport function escapeStringForRegExp(input: string) {\n return input.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n","import React from 'react';\n\nimport {IconProps} from '@gravity-ui/uikit';\n\nimport {SettingsSelection} from './Selection/types';\nimport {escapeStringForRegExp, invariant} from './helpers';\n\nexport type SettingsMenu = (SettingsMenuGroup | SettingsMenuItem)[];\n\ninterface SettingsMenuGroup {\n groupTitle: string;\n items: SettingsMenuItem[];\n}\n\ninterface SettingsMenuItem {\n id: string;\n title: string;\n icon?: IconProps;\n withBadge?: boolean;\n disabled?: boolean;\n}\n\nexport interface SettingsPage {\n id: string;\n sections: SettingsPageSection[];\n hidden?: boolean;\n withBadge?: boolean;\n}\n\nexport interface SettingsPageSection {\n id?: string;\n title: string;\n header?: React.ReactNode;\n items: SettingsItem[];\n hidden?: boolean;\n withBadge?: boolean;\n}\n\nexport interface SettingsItem {\n id?: string;\n title: string;\n element: React.ReactElement;\n hidden: boolean;\n titleComponent?: React.ReactNode;\n renderTitleComponent?: (highlightedTitle: React.ReactNode | null) => React.ReactNode;\n}\n\nexport interface SelectedSettingsPart {\n page?: SettingsPage;\n section?: SettingsPageSection;\n setting?: SettingsItem;\n}\n\ninterface SettingsDescription {\n menu: SettingsMenu;\n pages: Record<string, SettingsPage>;\n}\nexport function getSettingsFromChildren(\n children: React.ReactNode,\n searchText = '',\n): SettingsDescription {\n // 'abc def fg' -> abc.*?cde.*?fg\n const preparedFilter = escapeStringForRegExp(searchText).replace(/\\s+/g, '.*?');\n const filterRe = new RegExp(preparedFilter, 'i');\n\n return getSettingsFromChildrenRecursive(children, '', filterRe);\n}\n\nfunction getSettingsFromChildrenRecursive(\n children: React.ReactNode,\n basepath = '',\n filterRe: RegExp,\n): SettingsDescription {\n const menu: SettingsMenu = [];\n const pages: Record<string, SettingsPage> = {};\n let hasGroup = false;\n let hasItems = false;\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements.\n return;\n }\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n const {menu: menuFragment, pages: pagesFragment} = getSettingsFromChildrenRecursive(\n element.props.children,\n basepath,\n filterRe,\n );\n menu.push(...menuFragment);\n Object.assign(pages, pagesFragment);\n } else if (element.props.groupTitle) {\n if (process.env.NODE_ENV === 'development') {\n invariant(!hasItems, 'Setting menu must not mix groups and pages on one level');\n }\n\n const pageId = `${basepath}/${element.props.id ?? element.props.groupTitle}`;\n hasGroup = true;\n\n const {menu: menuFragment, pages: pagesFragment} = getSettingsFromChildrenRecursive(\n element.props.children,\n pageId,\n filterRe,\n );\n\n if (process.env.NODE_ENV === 'development') {\n const hasInnerGroup = menuFragment.some((item) => 'groupTitle' in item);\n invariant(\n !hasInnerGroup,\n `Group ${element.props.groupTitle} should not include groups`,\n );\n }\n\n menu.push({\n groupTitle: element.props.groupTitle,\n // @ts-ignore\n items: menuFragment,\n });\n Object.assign(pages, pagesFragment);\n } else {\n hasItems = true;\n const pageId = `${basepath}/${element.props.id ?? element.props.title}`;\n\n if (process.env.NODE_ENV === 'development') {\n invariant(Boolean(element.props.title), 'Component must include title prop');\n invariant(!hasGroup, 'Setting menu must not mix groups and pages on one level');\n invariant(!pages[pageId], `Setting menu page id must be uniq (${pageId})`);\n }\n\n pages[pageId] = getSettingsPageFromChildren(element.props.children, filterRe);\n pages[pageId].id = pageId;\n menu.push({\n id: pageId,\n title: element.props.title,\n icon: element.props.icon,\n withBadge: pages[pageId].withBadge,\n disabled: pages[pageId].hidden,\n });\n }\n });\n return {menu, pages};\n}\n\nfunction getSettingsPageFromChildren(children: React.ReactNode, filterRe: RegExp): SettingsPage {\n const page: SettingsPage = {id: '', sections: [], hidden: true};\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements.\n return;\n }\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n const {sections, withBadge, hidden} = getSettingsPageFromChildren(\n element.props.children,\n filterRe,\n );\n page.sections.push(...sections);\n page.withBadge = withBadge || page.withBadge;\n page.hidden = hidden && page.hidden;\n } else {\n const {withBadge} = element.props;\n const {items, hidden} = getSettingsItemsFromChildren(element.props.children, filterRe);\n page.withBadge = withBadge || page.withBadge;\n page.hidden = hidden && page.hidden;\n page.sections.push({\n ...element.props,\n withBadge,\n items,\n hidden,\n });\n }\n });\n return page;\n}\n\nfunction getSettingsItemsFromChildren(children: React.ReactNode, filterRe: RegExp) {\n let hidden = true;\n const items: SettingsItem[] = [];\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements.\n return;\n }\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n const fragmentItems = getSettingsItemsFromChildren(element.props.children, filterRe);\n items.push(...fragmentItems.items);\n hidden = hidden && fragmentItems.hidden;\n } else {\n const item: SettingsItem = {\n ...element.props,\n element,\n hidden: !filterRe.test(element.props.title),\n };\n items.push(item);\n hidden = hidden && item.hidden;\n }\n });\n return {items, hidden};\n}\n\nexport function getSelectedSettingsPart(\n pages: Record<string, SettingsPage>,\n selection: SettingsSelection,\n): SelectedSettingsPart {\n if (!selection.settingId && !selection.section && !selection.page) {\n return {};\n }\n\n for (const page of Object.values(pages)) {\n if (!selection.settingId && !selection.section) {\n if (selection.page !== page.id) continue;\n\n return {page};\n }\n\n for (const section of page.sections) {\n if (selection.settingId) {\n for (const setting of section.items) {\n if (setting.id === selection.settingId) {\n return {page, section, setting};\n }\n }\n } else if (\n selection.section &&\n ('id' in selection.section\n ? selection.section.id === section.id\n : selection.section.title === section.title)\n ) {\n return {page, section};\n }\n }\n }\n\n return {};\n}\n","import React from 'react';\n\nimport {SelectedSettingsPart, SettingsPage, getSelectedSettingsPart} from '../collect-settings';\n\nimport {SettingsSelection} from './types';\n\ninterface ContextValue extends SelectedSettingsPart {\n selectedRef?: React.RefObject<HTMLDivElement>;\n}\n\nconst defaultValue: ContextValue = {};\n\nconst context = React.createContext(defaultValue);\ncontext.displayName = 'SettingsSelectionContext';\n\nexport function useSettingsSelectionProviderValue(\n pages: Record<string, SettingsPage>,\n selection: SettingsSelection | undefined,\n): ContextValue {\n const selectedRef = React.useRef<HTMLDivElement>(null);\n\n const contextValue: ContextValue = React.useMemo(() => {\n if (!selection) return {selectedRef};\n\n return {selectedRef, ...getSelectedSettingsPart(pages, selection)};\n }, [pages, selection]);\n\n return contextValue;\n}\n\nexport const SettingsSelectionContextProvider = context.Provider;\n\nexport function useSettingsSelectionContext(): ContextValue {\n return React.useContext(context);\n}\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","import {SelectedSettingsPart, SettingsPageSection} from '../collect-settings';\n\nexport function isSectionSelected(\n selected: SelectedSettingsPart,\n pageId: string,\n section: SettingsPageSection,\n) {\n if (!selected.section || selected.setting) {\n return false;\n } else if (selected.section.id && selected.section.id === section.id) {\n return true;\n } else if (\n selected.page?.id === pageId &&\n selected.section.title &&\n selected.section.title === section.title\n ) {\n return true;\n } else {\n return false;\n }\n}\n","import React from 'react';\n\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\nimport {useCurrent, useStableCallback} from '../helpers';\nimport {Item, SettingsMenuProps} from '../types';\n\nimport './SettingsMenu.scss';\n\nconst b = block('settings-menu');\n\nexport interface SettingsMenuInstance {\n handleKeyDown(event: React.KeyboardEvent): boolean;\n clearFocus(): void;\n}\n\nexport const SettingsMenu = React.forwardRef<SettingsMenuInstance, SettingsMenuProps>(\n // eslint-disable-next-line prefer-arrow-callback\n function SettingsMenu({items, onChange, activeItemId}, ref) {\n const [focusItemId, setFocusId] = React.useState<string>();\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleChange = useStableCallback(onChange);\n const getFocused = useCurrent(focusItemId);\n\n React.useImperativeHandle(\n ref,\n () => ({\n handleKeyDown(event) {\n if (!containerRef.current) {\n return false;\n }\n const focused = getFocused();\n if (focused && event.key === 'Enter') {\n handleChange(focused);\n return true;\n } else if (event.key === 'ArrowDown') {\n setFocusId(focusNext(containerRef.current, focused, 1));\n return true;\n } else if (event.key === 'ArrowUp') {\n setFocusId(focusNext(containerRef.current, focused, -1));\n return true;\n }\n return false;\n },\n clearFocus() {\n setFocusId(undefined);\n },\n }),\n [getFocused, handleChange],\n );\n\n return (\n <div ref={containerRef} className={b()}>\n {items.map((firstLevelItem) => {\n if ('groupTitle' in firstLevelItem) {\n return (\n <div key={firstLevelItem.groupTitle} className={b('group')}>\n <span className={b('group-heading')}>\n {firstLevelItem.groupTitle}\n </span>\n {firstLevelItem.items.map((item) => {\n return renderMenuItem(\n item,\n onChange,\n activeItemId,\n focusItemId,\n );\n })}\n </div>\n );\n }\n return renderMenuItem(firstLevelItem, onChange, activeItemId, focusItemId);\n })}\n </div>\n );\n },\n);\n\nfunction renderMenuItem(\n item: Item,\n onChange: (id: string) => void,\n activeItemId: string | undefined,\n focusItemId: string | undefined,\n) {\n return (\n <span\n key={item.title}\n className={b('item', {\n selected: activeItemId === item.id,\n disabled: item.disabled,\n focused: focusItemId === item.id,\n badge: item.withBadge,\n })}\n onClick={() => {\n if (!item.disabled) {\n onChange(item.id);\n }\n }}\n data-id={item.id}\n >\n {item.icon ? <Icon size={16} {...item.icon} className={b('item-icon')} /> : undefined}\n <span>{item.title}</span>\n </span>\n );\n}\n\nfunction focusNext(container: HTMLElement, focused: string | undefined, direction: number) {\n const elements = container.querySelectorAll(`.${b('item')}:not(.${b('item')}_disabled)`);\n if (elements.length === 0) {\n return undefined;\n }\n\n let currentIndex = direction > 0 ? -1 : 0;\n if (focused) {\n currentIndex = Array.prototype.findIndex.call(\n elements,\n (element) => element.getAttribute('data-id') === focused,\n );\n }\n\n currentIndex = (elements.length + currentIndex + direction) % elements.length;\n return elements[currentIndex].getAttribute('data-id') ?? undefined;\n}\n","import React from 'react';\n\nimport {Tabs, TabsItemProps} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\nimport {SettingsMenuProps} from '../types';\n\nimport './SettingsMenuMobile.scss';\n\nconst b = block('settings-menu-mobile');\n\nexport const SettingsMenuMobile = ({\n items,\n onChange,\n activeItemId,\n className,\n}: SettingsMenuProps) => {\n const ref = React.useRef<HTMLDivElement>(null);\n\n const tabItems = React.useMemo(() => {\n const tabItems: TabsItemProps[] = [];\n\n items.forEach((firstLevelItem) => {\n if ('groupTitle' in firstLevelItem) {\n tabItems.push(\n ...firstLevelItem.items.map(({id, title, disabled, withBadge}) => ({\n id,\n title,\n disabled,\n className: b('item', {badge: withBadge}),\n })),\n );\n } else {\n const {id, title, disabled, withBadge} = firstLevelItem;\n tabItems.push({id, title, disabled, className: b('item', {badge: withBadge})});\n }\n });\n return tabItems;\n }, [items]);\n\n const handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n e.stopPropagation();\n };\n\n return (\n <div ref={ref} onTouchMove={handleTouchMove}>\n <Tabs\n items={tabItems}\n className={b(null, className)}\n size=\"l\"\n activeTab={activeItemId}\n onSelectTab={onChange}\n />\n </div>\n );\n};\n","import {addComponentKeysets} from '@gravity-ui/uikit/i18n';\n\nimport {NAMESPACE} from '../../utils/cn';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nconst COMPONENT = 'Settings';\nexport default addComponentKeysets({en, ru}, `${NAMESPACE}${COMPONENT}`);\n","import React from 'react';\n\nimport {TextInput, TextInputSize} from '@gravity-ui/uikit';\nimport debounceFn from 'lodash/debounce';\n\nimport {block} from '../../utils/cn';\nimport {useStableCallback} from '../helpers';\nimport i18n from '../i18n';\n\nconst b = block('settings-search');\n\ninterface SettingsSearchProps {\n className?: string;\n initialValue?: string;\n onChange: (search: string) => void;\n debounce?: number;\n inputRef?: React.Ref<HTMLInputElement>;\n inputSize?: TextInputSize;\n placeholder?: string;\n autoFocus?: boolean;\n}\n\nexport function SettingsSearch({\n className,\n initialValue,\n onChange,\n debounce = 200,\n inputRef,\n inputSize,\n placeholder,\n autoFocus = true,\n}: SettingsSearchProps) {\n const [value, setValue] = React.useState(initialValue ?? '');\n\n const onChangeDebounced = useStableCallback(debounceFn(onChange, debounce));\n const handleUpdate = useStableCallback((updated: string) => {\n setValue(updated);\n onChangeDebounced(updated);\n });\n\n return (\n <div className={b(null, className)}>\n <TextInput\n value={value}\n controlRef={inputRef}\n hasClear\n autoFocus={autoFocus}\n size={inputSize}\n placeholder={placeholder}\n onUpdate={handleUpdate}\n controlProps={{\n 'aria-label': i18n('label_search'),\n }}\n />\n </div>\n );\n}\n","import React from 'react';\n\nimport {Flex, IconProps, Loader} from '@gravity-ui/uikit';\nimport identity from 'lodash/identity';\n\nimport {Title} from '../Title';\nimport {block} from '../utils/cn';\n\nimport {SettingsSelection} from './Selection';\nimport {\n SettingsSelectionContextProvider,\n useSettingsSelectionContext,\n useSettingsSelectionProviderValue,\n} from './Selection/context';\nimport {isSectionSelected} from './Selection/utils';\nimport {SettingsMenu, SettingsMenuInstance} from './SettingsMenu/SettingsMenu';\nimport {SettingsMenuMobile} from './SettingsMenuMobile/SettingsMenuMobile';\nimport {SettingsSearch} from './SettingsSearch/SettingsSearch';\nimport type {\n SettingsItem,\n SettingsMenu as SettingsMenuType,\n SettingsPageSection,\n} from './collect-settings';\nimport {getSettingsFromChildren} from './collect-settings';\nimport {escapeStringForRegExp} from './helpers';\nimport i18n from './i18n';\n\nimport './Settings.scss';\n\nconst b = block('settings');\n\nexport interface SettingsProps {\n children: React.ReactNode;\n title?: string;\n filterPlaceholder?: string;\n emptyPlaceholder?: string;\n initialPage?: string;\n initialSearch?: string;\n selection?: SettingsSelection;\n onPageChange?: (page: string | undefined) => void;\n renderNotFound?: () => React.ReactNode;\n renderLoading?: () => React.ReactNode;\n loading?: boolean;\n view?: 'normal' | 'mobile';\n onClose?: () => void;\n renderRightAdornment?: (item: SettingsItemProps) => React.ReactNode;\n renderSectionRightAdornment?: (section: SettingsPageSection) => React.ReactNode;\n showRightAdornmentOnHover?: boolean;\n}\n\nexport interface SettingsGroupProps {\n id?: string;\n groupTitle: string;\n children: React.ReactNode;\n}\n\nexport interface SettingsPageProps {\n id?: string;\n title?: string;\n icon?: IconProps;\n children: React.ReactNode;\n}\n\nexport interface SettingsSectionProps {\n id?: string;\n title: string;\n header?: React.ReactNode;\n children: React.ReactNode;\n withBadge?: boolean;\n}\n\nexport interface SettingsItemProps {\n id?: string;\n labelId?: string;\n title: string;\n highlightedTitle?: React.ReactNode | null;\n renderTitleComponent?: (highlightedTitle: React.ReactNode | null) => React.ReactNode;\n align?: 'top' | 'center';\n children: React.ReactNode;\n withBadge?: boolean;\n mode?: 'row';\n description?: React.ReactNode;\n}\n\nexport interface SettingsContextType\n extends Pick<\n SettingsProps,\n 'renderRightAdornment' | 'renderSectionRightAdornment' | 'showRightAdornmentOnHover'\n > {}\n\nconst SettingsContext = React.createContext<SettingsContextType>({});\n\nexport const useSettingsContext = () => React.useContext(SettingsContext);\n\nexport function Settings({\n loading,\n renderLoading,\n children,\n view = 'normal',\n renderRightAdornment,\n renderSectionRightAdornment,\n showRightAdornmentOnHover = true,\n ...props\n}: SettingsProps) {\n if (loading) {\n return (\n <div className={b({loading: true, view})}>\n {typeof renderLoading === 'function' ? (\n renderLoading()\n ) : (\n <Loader className={b('loader')} size=\"m\" />\n )}\n </div>\n );\n }\n\n return (\n <SettingsContext.Provider\n value={{renderRightAdornment, renderSectionRightAdornment, showRightAdornmentOnHover}}\n >\n <SettingsContent view={view} {...props}>\n {children}\n </SettingsContent>\n </SettingsContext.Provider>\n );\n}\n\nconst getPageTitleById = (menu: SettingsMenuType, activePage: string) => {\n for (const firstLevel of menu) {\n if ('groupTitle' in firstLevel) {\n for (const secondLevel of firstLevel.items)\n if (secondLevel.id === activePage) return secondLevel.title;\n } else if (firstLevel.id === activePage) return firstLevel.title;\n }\n\n return '';\n};\n\ntype SettingsContentProps = Omit<SettingsProps, 'loading' | 'renderLoading'>;\nfunction SettingsContent({\n initialPage,\n initialSearch,\n selection,\n children,\n renderNotFound,\n title = i18n('label_title'),\n filterPlaceholder = i18n('label_filter-placeholder'),\n emptyPlaceholder = i18n('label_empty-placeholder'),\n view,\n onPageChange,\n onClose,\n}: SettingsContentProps) {\n const {renderSectionRightAdornment, showRightAdornmentOnHover} = useSettingsContext();\n\n const [search, setSearch] = React.useState(initialSearch ?? '');\n const {menu, pages} = getSettingsFromChildren(children, search);\n\n const selected = useSettingsSelectionProviderValue(pages, selection);\n\n const pageKeys = Object.keys(pages);\n const selectionInitialPage =\n selected.page && pageKeys.includes(selected.page.id) ? selected.page.id : undefined;\n const [selectedPage, setCurrentPage] = React.useState<string | undefined>(\n selectionInitialPage ||\n (initialPage && pageKeys.includes(initialPage) ? initialPage : undefined),\n );\n const searchInputRef = React.useRef<HTMLInputElement>(null);\n const menuRef = React.useRef<SettingsMenuInstance>(null);\n const isMobile = view === 'mobile';\n\n React.useEffect(() => {\n menuRef.current?.clearFocus();\n }, [search]);\n\n React.useEffect(() => {\n const handler = () => {\n menuRef.current?.clearFocus();\n };\n window.addEventListener('click', handler);\n return () => {\n window.removeEventListener('click', handler);\n };\n }, []);\n\n let activePage = selectedPage;\n if (!activePage || pages[activePage]?.hidden) {\n activePage = Object.values(pages).find(({hidden}) => !hidden)?.id;\n }\n\n const handlePageChange = (newPage: string | undefined) => {\n setCurrentPage((prevPage) => {\n if (prevPage !== newPage) {\n onPageChange?.(newPage);\n }\n return newPage;\n });\n };\n\n React.useEffect(() => {\n if (activePage !== selectedPage) {\n handlePageChange(activePage);\n }\n });\n\n React.useEffect(() => {\n if (!selectionInitialPage) return;\n setCurrentPage(selectionInitialPage);\n }, [selectionInitialPage]);\n\n React.useEffect(() => {\n if (selected.selectedRef?.current) {\n selected.selectedRef.current.scrollIntoView();\n }\n }, [selected.selectedRef]);\n\n const renderSetting = ({title: settingTitle, element}: SettingsItem) => {\n return (\n <div key={settingTitle} className={b('section-item')}>\n {React.cloneElement(element, {\n ...element.props,\n highlightedTitle:\n search && settingTitle ? prepareTitle(settingTitle, search) : settingTitle,\n })}\n </div>\n );\n };\n\n const renderSection = (page: string, section: SettingsPageSection) => {\n const isSelected = isSectionSelected(selected, page, section);\n\n return (\n <div\n key={section.title}\n className={b('section', {selected: isSelected})}\n ref={isSelected ? selected.selectedRef : undefined}\n >\n {section.title && (\n <h3 className={b('section-heading')}>\n {renderSectionRightAdornment ? (\n <Flex gap={2} alignItems={'center'}>\n {section.title}\n <div\n className={b('section-right-adornment', {\n hidden: showRightAdornmentOnHover,\n })}\n >\n {renderSectionRightAdornment(section)}\n </div>\n </Flex>\n ) : (\n section.title\n )}\n </h3>\n )}\n\n {section.header &&\n (isMobile ? (\n <div className={b('section-subheader')}>{section.header}</div>\n ) : (\n section.header\n ))}\n\n {section.items.map((setting) => (setting.hidden ? null : renderSetting(setting)))}\n </div>\n );\n };\n\n const renderPageContent = (page: string | undefined) => {\n if (!page) {\n return typeof renderNotFound === 'function' ? (\n renderNotFound()\n ) : (\n <div className={b('not-found')}>{emptyPlaceholder}</div>\n );\n }\n\n const filteredSections = pages[page].sections.filter((section) => !section.hidden);\n\n return (\n <React.Fragment>\n {!isMobile && (\n <Title hasSeparator onClose={onClose}>\n {getPageTitleById(menu, page)}\n </Title>\n )}\n\n <div className={b('content')}>\n {filteredSections.map((section) => renderSection(page, section))}\n </div>\n </React.Fragment>\n );\n };\n\n return (\n <SettingsSelectionContextProvider value={selected}>\n <div className={b({view})}>\n {isMobile ? (\n <React.Fragment>\n <SettingsSearch\n inputRef={searchInputRef}\n className={b('search')}\n initialValue={initialSearch}\n onChange={setSearch}\n autoFocus={false}\n inputSize={'xl'}\n />\n <SettingsMenuMobile\n items={menu}\n onChange={handlePageChange}\n activeItemId={activePage}\n className={b('tabs')}\n />\n </React.Fragment>\n ) : (\n <div\n className={b('menu')}\n onClick={() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }}\n onKeyDown={(event) => {\n if (menuRef.current) {\n if (menuRef.current.handleKeyDown(event)) {\n event.preventDefault();\n }\n }\n }}\n >\n <Title>{title}</Title>\n <SettingsSearch\n inputRef={searchInputRef}\n className={b('search')}\n initialValue={initialSearch}\n onChange={setSearch}\n placeholder={filterPlaceholder}\n autoFocus\n />\n <SettingsMenu\n ref={menuRef}\n items={menu}\n onChange={handlePageChange}\n activeItemId={activePage}\n />\n </div>\n )}\n <div className={b('page')}>{renderPageContent(activePage)}</div>\n </div>\n </SettingsSelectionContextProvider>\n );\n}\n\nSettings.Group = function SettingsGroup({children}: SettingsGroupProps) {\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nSettings.Page = function SettingsPage({children}: SettingsPageProps) {\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nSettings.Section = function SettingsSection({children}: SettingsSectionProps) {\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nSettings.Item = function SettingsItem(setting: SettingsItemProps) {\n const {\n id,\n labelId,\n highlightedTitle,\n children,\n align = 'center',\n withBadge,\n renderTitleComponent = identity,\n mode,\n description,\n } = setting;\n\n const selected = useSettingsSelectionContext();\n const isSettingSelected = selected.setting && selected.setting.id === id;\n\n const {renderRightAdornment, showRightAdornmentOnHover} = useSettingsContext();\n const titleNode = (\n <span className={b('item-title', {badge: withBadge})}>\n {renderTitleComponent(highlightedTitle)}\n </span>\n );\n return (\n <div\n className={b('item', {align, mode, selected: isSettingSelected})}\n ref={isSettingSelected ? selected.selectedRef : undefined}\n >\n <label className={b('item-heading')} id={labelId}>\n {renderRightAdornment ? (\n <Flex className={b('item-title-wrapper')} gap={3}>\n {titleNode}\n <div\n className={b('item-right-adornment', {\n hidden: showRightAdornmentOnHover,\n })}\n >\n {renderRightAdornment(setting)}\n </div>\n </Flex>\n ) : (\n titleNode\n )}\n {description ? <span className={b('item-description')}>{description}</span> : null}\n </label>\n <div className={b('item-content')}>{children}</div>\n </div>\n );\n};\n\nfunction prepareTitle(string: string, search: string) {\n let temp = string.slice(0);\n const title: React.ReactNode[] = [];\n const parts = escapeStringForRegExp(search).split(' ').filter(Boolean);\n let key = 0;\n for (const part of parts) {\n const regex = new RegExp(part, 'ig');\n const match = regex.exec(temp);\n if (match) {\n const m = match[0];\n const i = match.index;\n if (i > 0) {\n title.push(temp.slice(0, i));\n }\n title.push(\n <strong key={key++} className={b('found')}>\n {m}\n </strong>,\n );\n temp = temp.slice(i + m.length);\n }\n }\n if (temp) {\n title.push(temp);\n }\n return title;\n}\n"],"names":["React","b"],"mappings":"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","x_google_ignoreList":[3]}
@@ -1,9 +1,9 @@
1
1
  import React__default from 'react';
2
2
  import { Xmark } from '@gravity-ui/icons';
3
3
  import { Text, Button, Icon } from '@gravity-ui/uikit';
4
- import { N as NAMESPACE, b as block } from './cn-ffe5e9f5.js';
4
+ import { N as NAMESPACE, b as block } from './cn-CgiqTV3v.js';
5
5
  import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
6
- import { s as styleInject } from './style-inject.es-1f59c1d0.js';
6
+ import { s as styleInject } from './style-inject.es-Bff-fD1R.js';
7
7
 
8
8
  var button_close$1 = "Close";
9
9
  var en = {
@@ -25,12 +25,10 @@ const b = block('title');
25
25
  const Title = ({ children, closeIconSize = 23, hasSeparator, closeTitle = i18n('button_close'), onClose, }) => {
26
26
  return (React__default.createElement("div", { className: b({ separator: hasSeparator }) },
27
27
  React__default.createElement(Text, { className: b('text'), as: 'h3', variant: 'subheader-3' }, children),
28
- onClose && (React__default.createElement(Button, { onClick: onClose, view: "flat", size: "l", extraProps: {
29
- 'aria-label': closeTitle,
30
- } },
28
+ onClose && (React__default.createElement(Button, { onClick: onClose, view: "flat", size: "l", "aria-label": closeTitle },
31
29
  React__default.createElement(Icon, { data: Xmark, size: closeIconSize })))));
32
30
  };
33
31
  Title.displayName = 'Title';
34
32
 
35
33
  export { Title as T };
36
- //# sourceMappingURL=Title-03b4255a.js.map
34
+ //# sourceMappingURL=Title-CRlzgg4r.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Title-CRlzgg4r.js","sources":["../../../src/components/Title/i18n/index.ts","../../../src/components/Title/Title.tsx"],"sourcesContent":["import {addComponentKeysets} from '@gravity-ui/uikit/i18n';\n\nimport {NAMESPACE} from '../../utils/cn';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nconst COMPONENT = 'Title';\nexport default addComponentKeysets({en, ru}, `${NAMESPACE}${COMPONENT}`);\n","import React from 'react';\n\nimport {Xmark} from '@gravity-ui/icons';\nimport {Button, Icon, Text} from '@gravity-ui/uikit';\n\nimport {block} from '../utils/cn';\n\nimport i18n from './i18n';\n\nimport './Title.scss';\n\nconst b = block('title');\n\ninterface TitleProps {\n hasSeparator?: boolean;\n closeTitle?: string;\n closeIconSize?: number;\n onClose?: () => void;\n}\nexport const Title: React.FC<React.PropsWithChildren<TitleProps>> = ({\n children,\n closeIconSize = 23,\n hasSeparator,\n closeTitle = i18n('button_close'),\n onClose,\n}) => {\n return (\n <div className={b({separator: hasSeparator})}>\n <Text className={b('text')} as={'h3'} variant={'subheader-3'}>\n {children}\n </Text>\n {onClose && (\n <Button onClick={onClose} view=\"flat\" size=\"l\" aria-label={closeTitle}>\n <Icon data={Xmark} size={closeIconSize} />\n </Button>\n )}\n </div>\n );\n};\n\nTitle.displayName = 'Title';\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;AAOA,MAAM,SAAS,GAAG,OAAO;AACzB,WAAe,mBAAmB,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC;;;;;ACGxE,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AAQX,MAAA,KAAK,GAAkD,CAAC,EACjE,QAAQ,EACR,aAAa,GAAG,EAAE,EAClB,YAAY,EACZ,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,EACjC,OAAO,GACV,KAAI;IACD,QACIA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAC,CAAC,EAAC,SAAS,EAAE,YAAY,EAAC,CAAC,EAAA;AACxC,QAAAA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAA,EACvD,QAAQ,CACN;AACN,QAAA,OAAO,KACJA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,GAAG,gBAAa,UAAU,EAAA;AACjE,YAAAA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAI,CAAA,CACrC,CACZ,CACC;AAEd;AAEA,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
@@ -0,0 +1,8 @@
1
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
+
3
+ function getDefaultExportFromCjs (x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
+ }
6
+
7
+ export { commonjsGlobal as c, getDefaultExportFromCjs as g };
8
+ //# sourceMappingURL=_commonjsHelpers-BFTU3MAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-BFTU3MAI.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -5,4 +5,4 @@ withNaming({ e: '__', m: '_' });
5
5
  const block = withNaming({ n: NAMESPACE, e: '__', m: '_' });
6
6
 
7
7
  export { NAMESPACE as N, block as b };
8
- //# sourceMappingURL=cn-ffe5e9f5.js.map
8
+ //# sourceMappingURL=cn-CgiqTV3v.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn-ffe5e9f5.js","sources":["../../../src/components/utils/cn.ts"],"sourcesContent":["import {withNaming} from '@bem-react/classname';\n\nexport type CnMods = Record<string, string | boolean | undefined>;\n\nexport const NAMESPACE = 'gn-';\n\nexport const cn = withNaming({e: '__', m: '_'});\nexport const block = withNaming({n: NAMESPACE, e: '__', m: '_'});\n\nexport type CnBlock = ReturnType<typeof cn>;\n"],"names":[],"mappings":";;AAIO,MAAM,SAAS,GAAG,MAAM;AAEb,UAAU,CAAC,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC,EAAE;MACnC,KAAK,GAAG,UAAU,CAAC,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC;;;;"}
1
+ {"version":3,"file":"cn-CgiqTV3v.js","sources":["../../../src/components/utils/cn.ts"],"sourcesContent":["import {withNaming} from '@bem-react/classname';\n\nexport type CnMods = Record<string, string | boolean | undefined>;\n\nexport const NAMESPACE = 'gn-';\n\nexport const cn = withNaming({e: '__', m: '_'});\nexport const block = withNaming({n: NAMESPACE, e: '__', m: '_'});\n\nexport type CnBlock = ReturnType<typeof cn>;\n"],"names":[],"mappings":";;AAIO,MAAM,SAAS,GAAG;AAEP,UAAU,CAAC,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC;MACjC,KAAK,GAAG,UAAU,CAAC,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC;;;;"}
@@ -9,15 +9,15 @@ declare const PublicActionBar: {
9
9
  displayName: string;
10
10
  } & {
11
11
  Section: {
12
- ({ children, type }: import("./Section/ActionBarSection").Props): React.JSX.Element;
12
+ ({ children, type }: import(".").ActionBarSectionProps): React.JSX.Element;
13
13
  displayName: string;
14
14
  };
15
15
  Group: {
16
- ({ children, className, pull }: import("./Group/ActionBarGroup").Props): React.JSX.Element;
16
+ ({ children, className, pull }: import(".").ActionBarGroupProps): React.JSX.Element;
17
17
  displayName: string;
18
18
  };
19
19
  Item: {
20
- ({ children, className, pull, spacing }: import("./Item/ActionBarItem").Props): React.JSX.Element;
20
+ ({ children, className, pull, spacing }: import(".").ActionBarItemProps): React.JSX.Element;
21
21
  displayName: string;
22
22
  };
23
23
  Separator: {
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { Meta } from '@storybook/react';
3
+ import { ActionBar } from '../ActionBar';
4
+ declare const _default: Meta<typeof ActionBar>;
5
+ export default _default;
6
+ export declare const Showcase: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, {
7
+ 'aria-label'?: string;
8
+ className?: string;
9
+ } & {
10
+ children?: React.ReactNode | undefined;
11
+ }>;
12
+ export declare const SingleSection: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, {
13
+ 'aria-label'?: string;
14
+ className?: string;
15
+ } & {
16
+ children?: React.ReactNode | undefined;
17
+ }>;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare function ActionBarShowcase(): React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare function ActionBarSingleSection(): React.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as DefaultActionBarStories from '../__stories__/ActionBar.stories';
2
- declare const stories: Omit<import("@storybook/types").StoriesWithPartialProps<import("@storybook/react/dist/types-0fc72a6d").R, typeof DefaultActionBarStories>, keyof import("@storybook/types").Store_CSFExports<import("@storybook/types").Renderer, import("@storybook/types").Args>>;
2
+ declare const stories: Omit<import("@storybook/core/types").StoriesWithPartialProps<import("@storybook/react").ReactRenderer, typeof DefaultActionBarStories>, keyof import("@storybook/core/types").Store_CSFExports>;
3
3
  type ActionBarStoriesType = typeof stories;
4
4
  export declare const ActionBarStories: ActionBarStoriesType;
5
5
  export {};
@@ -1,3 +1,3 @@
1
1
  export type PropsWithPull<T> = T & {
2
- pull?: 'left' | 'right' | 'center';
2
+ pull?: 'left' | 'left-grow' | 'right' | 'right-grow' | 'center' | 'center-grow';
3
3
  };
@@ -1,2 +1,6 @@
1
- declare const _default: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string) & {
2
+ keysetData: {
3
+ "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", import("@gravity-ui/i18n").KeyData>;
4
+ };
5
+ };
2
6
  export default _default;
@@ -5,7 +5,7 @@ export interface AsideHeaderInnerContextType extends AsideHeaderInnerProps {
5
5
  menuItems: MenuItem[];
6
6
  defaultMenuItems?: MenuItem[];
7
7
  allPagesIsAvailable: boolean;
8
- onItemClick: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
8
+ onItemClick: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
9
9
  }
10
10
  export declare const AsideHeaderInnerContext: React.Context<AsideHeaderInnerContextType | undefined>;
11
11
  export declare const AsideHeaderInnerContextProvider: React.Provider<AsideHeaderInnerContextType | undefined>;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { Meta } from '@storybook/react';
3
+ declare const _default: Meta;
4
+ export default _default;
5
+ export declare const Showcase: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
6
+ export declare const Compact: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
7
+ export declare const MultipleTooltip: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
8
+ export declare const CustomTheme: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
9
+ export declare const CustomBackground: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
10
+ export declare const AdvancedUsage: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
11
+ export declare const HeaderAlert: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
12
+ export declare const HeaderAlertCentered: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@storybook/csf").Args>;
13
+ export declare const Fallback: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, {
14
+ headerDecoration: boolean;
15
+ subheaderItemsCount: number;
16
+ }>;
17
+ /** @type {StoryFn} */
18
+ export declare function LineClamp(): React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { TopAlertProps } from '../..';
3
+ import './AsideHeaderShowcase.scss';
4
+ interface AsideHeaderShowcaseProps {
5
+ multipleTooltip?: boolean;
6
+ initialCompact?: boolean;
7
+ topAlert?: TopAlertProps;
8
+ customBackground?: React.ReactNode;
9
+ customBackgroundClassName?: string;
10
+ headerDecoration?: boolean;
11
+ hideCollapseButton?: boolean;
12
+ }
13
+ export declare const AsideHeaderShowcase: React.FC<AsideHeaderShowcaseProps>;
14
+ export {};
@@ -0,0 +1,3 @@
1
+ import React, { FC } from 'react';
2
+ import { AsideHeaderProps } from '../types';
3
+ export declare function getAsideHeaderWrapper(props?: AsideHeaderProps): (Story: FC) => React.JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { AsideHeaderContextType } from '../AsideHeaderContext';
2
+ import { AsideHeaderProps } from '../types';
3
+ export declare const EMPTY_CONTEXT_VALUE: AsideHeaderContextType;
4
+ export declare const menuItemsShowcase: AsideHeaderProps['menuItems'];
5
+ export declare const text = "\nDid you attend? He sang by grove ripe -\nThe bard of love, the singer of his mourning.\nWhen fields were silent by the early morning,\nTo sad and simple sounds of a pipe\nDid you attend?\n\nDid you behold in dark of forest leaf\nThe bard of love, the singer of his sadness?\nThe trace of tears, the smile, the utter paleness,\nThe quiet look, full of eternal grief,\nDid you behold?\n\nThen did you sigh when hearing how cries\nThe bard of love, the singer of his dole?\nWhen in the woods you saw the young man, sole,\nAnd met the look of his extinguished eyes,\nThen did you sigh?\n";
6
+ export declare const menuItemsClamped: import("../..").MenuItem[];
@@ -1,2 +1,2 @@
1
1
  import * as DefaultAsideHeaderStories from '../__stories__/AsideHeader.stories';
2
- export declare const AsideHeaderStories: Omit<import("@storybook/types").StoriesWithPartialProps<import("@storybook/react/dist/types-0fc72a6d").R, typeof DefaultAsideHeaderStories>, keyof import("@storybook/types").Store_CSFExports<import("@storybook/types").Renderer, import("@storybook/types").Args>>;
2
+ export declare const AsideHeaderStories: Omit<import("@storybook/core/types").StoriesWithPartialProps<import("@storybook/react").ReactRenderer, typeof DefaultAsideHeaderStories>, keyof import("@storybook/core/types").Store_CSFExports>;
@@ -1,2 +1 @@
1
1
  export { FirstPanel } from './FirstPanel';
2
- export { TopPanel } from './TopPanel';
@@ -1,2 +1,6 @@
1
- declare const _default: (key: "button_collapse" | "button_expand" | "label_more", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: ((key: "button_collapse" | "button_expand" | "label_more", params?: import("@gravity-ui/i18n").Params) => string) & {
2
+ keysetData: {
3
+ "gn-AsideHeader": Record<"button_collapse" | "button_expand" | "label_more", import("@gravity-ui/i18n").KeyData>;
4
+ };
5
+ };
2
6
  export default _default;
@@ -1,13 +1,12 @@
1
- /// <reference types="react" />
2
1
  import { QAProps } from '@gravity-ui/uikit';
3
2
  import { RenderContentType } from '../Content';
4
3
  import { DrawerItemProps } from '../Drawer/Drawer';
5
- import { AsideHeaderTopAlertProps, LogoProps, MenuItem, OpenModalSubscriber, SubheaderMenuItem } from '../types';
4
+ import { LogoProps, MenuItem, OpenModalSubscriber, SubheaderMenuItem, TopAlertProps } from '../types';
6
5
  import { AsideHeaderContextType } from './AsideHeaderContext';
7
6
  export interface LayoutProps {
8
7
  compact: boolean;
9
8
  className?: string;
10
- topAlert?: AsideHeaderTopAlertProps;
9
+ topAlert?: TopAlertProps;
11
10
  }
12
11
  export interface EditMenuProps {
13
12
  onOpenEditMode?: () => void;
@@ -23,7 +22,7 @@ export interface AsideHeaderGeneralProps extends QAProps {
23
22
  collapseTitle?: string;
24
23
  expandTitle?: string;
25
24
  menuMoreTitle?: string;
26
- topAlert?: AsideHeaderTopAlertProps;
25
+ topAlert?: TopAlertProps;
27
26
  customBackground?: React.ReactNode;
28
27
  customBackgroundClassName?: string;
29
28
  hideCollapseButton?: boolean;
@@ -10,7 +10,7 @@ type CompositeBarItems = {
10
10
  items: SubheaderMenuItem[];
11
11
  };
12
12
  export type CompositeBarProps = CompositeBarItems & {
13
- onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
13
+ onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
14
14
  multipleTooltip?: boolean;
15
15
  menuMoreTitle?: string;
16
16
  onMoreClick?: () => void;