@consta/header 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/PopoverButton/index.d.ts +1 -0
  2. package/PopoverButton/index.js +1 -0
  3. package/README.md +15 -16
  4. package/__internal__/src/common.d.js.map +1 -1
  5. package/__internal__/src/components/ButtonMenu/ButtonMenu.css +1 -1
  6. package/__internal__/src/components/ButtonMenu/ButtonMenu.js +1 -1
  7. package/__internal__/src/components/ButtonMenu/ButtonMenu.js.map +1 -1
  8. package/__internal__/src/components/ButtonMenu/helpers.d.ts +3 -3
  9. package/__internal__/src/components/ButtonMenu/helpers.js.map +1 -1
  10. package/__internal__/src/components/ButtonMenu/types.d.ts +1 -1
  11. package/__internal__/src/components/ButtonMenu/types.js.map +1 -1
  12. package/__internal__/src/components/Layout/Layout.js.map +1 -1
  13. package/__internal__/src/components/Layout/LayoutRow/LayoutRow.css +1 -1
  14. package/__internal__/src/components/Layout/LayoutRow/LayoutRow.js +1 -1
  15. package/__internal__/src/components/Layout/LayoutRow/LayoutRow.js.map +1 -1
  16. package/__internal__/src/components/Layout/helpers.js.map +1 -1
  17. package/__internal__/src/components/MegaMenu/MegaMenu.js +1 -1
  18. package/__internal__/src/components/MegaMenu/MegaMenu.js.map +1 -1
  19. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBar.css +1 -0
  20. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBar.d.ts +3 -0
  21. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBar.js +2 -0
  22. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBar.js.map +1 -0
  23. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/MegaMenuBannerBarItem.css +1 -0
  24. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/MegaMenuBannerBarItem.d.ts +3 -0
  25. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/MegaMenuBannerBarItem.js +2 -0
  26. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/MegaMenuBannerBarItem.js.map +1 -0
  27. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/index.d.ts +1 -0
  28. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/index.js +2 -0
  29. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/MegaMenuBannerBarItem/index.js.map +1 -0
  30. package/__internal__/src/components/{BannerBar → MegaMenu/MegaMenuBannerBar}/helpers.d.ts +10 -10
  31. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/helpers.js.map +1 -0
  32. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/index.d.ts +3 -0
  33. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/index.js +2 -0
  34. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/index.js.map +1 -0
  35. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/types.d.ts +42 -0
  36. package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/types.js.map +1 -0
  37. package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.js.map +1 -1
  38. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobal.css +1 -0
  39. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobal.d.ts +3 -0
  40. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobal.js +2 -0
  41. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobal.js.map +1 -0
  42. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/MegaMenuGlobalGroup.css +1 -0
  43. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/MegaMenuGlobalGroup.d.ts +3 -0
  44. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/MegaMenuGlobalGroup.js +2 -0
  45. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/MegaMenuGlobalGroup.js.map +1 -0
  46. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/index.d.ts +1 -0
  47. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/index.js +2 -0
  48. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/index.js.map +1 -0
  49. package/__internal__/src/components/{GlobalMenu → MegaMenu/MegaMenuGlobal}/helper.d.ts +14 -14
  50. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/helper.js.map +1 -0
  51. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/index.d.ts +2 -0
  52. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/index.js +2 -0
  53. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/index.js.map +1 -0
  54. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/types.d.ts +75 -0
  55. package/__internal__/src/components/MegaMenu/MegaMenuGlobal/types.js.map +1 -0
  56. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/MegaMenuNavBar.css +1 -0
  57. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/MegaMenuNavBar.d.ts +3 -0
  58. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/MegaMenuNavBar.js +2 -0
  59. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/MegaMenuNavBar.js.map +1 -0
  60. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/helper.d.ts +31 -0
  61. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/helper.js.map +1 -0
  62. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/index.d.ts +1 -0
  63. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/index.js +2 -0
  64. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/index.js.map +1 -0
  65. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/types.d.ts +48 -0
  66. package/__internal__/src/components/MegaMenu/MegaMenuNavBar/types.js.map +1 -0
  67. package/__internal__/src/components/MegaMenu/helper.d.ts +9 -9
  68. package/__internal__/src/components/MegaMenu/helper.js.map +1 -1
  69. package/__internal__/src/components/MegaMenu/index.d.ts +3 -0
  70. package/__internal__/src/components/MegaMenu/index.js +1 -1
  71. package/__internal__/src/components/MegaMenu/index.js.map +1 -1
  72. package/__internal__/src/components/MegaMenu/types.d.ts +13 -13
  73. package/__internal__/src/components/MegaMenu/types.js.map +1 -1
  74. package/__internal__/src/components/Menu/Menu.js +1 -1
  75. package/__internal__/src/components/Menu/Menu.js.map +1 -1
  76. package/__internal__/src/components/Menu/helpers.d.ts +1 -1
  77. package/__internal__/src/components/Menu/helpers.js.map +1 -1
  78. package/__internal__/src/components/MobileMenu/MobileMenu.js +1 -1
  79. package/__internal__/src/components/MobileMenu/MobileMenu.js.map +1 -1
  80. package/__internal__/src/components/MobileMenu/types.d.ts +5 -5
  81. package/__internal__/src/components/MobileMenu/types.js.map +1 -1
  82. package/__internal__/src/components/Notifications/Notifications.js +1 -1
  83. package/__internal__/src/components/Notifications/Notifications.js.map +1 -1
  84. package/__internal__/src/components/Notifications/NotificationsActions/NotificationsActions.js +2 -0
  85. package/__internal__/src/components/Notifications/NotificationsActions/NotificationsActions.js.map +1 -0
  86. package/__internal__/src/components/{NotificationsActions → Notifications/NotificationsActions}/helpers.d.ts +5 -6
  87. package/__internal__/src/components/Notifications/NotificationsActions/helpers.js.map +1 -0
  88. package/__internal__/src/components/Notifications/NotificationsActions/index.js.map +1 -0
  89. package/__internal__/src/components/{NotificationsActions → Notifications/NotificationsActions}/types.d.ts +6 -7
  90. package/__internal__/src/components/Notifications/NotificationsActions/types.js.map +1 -0
  91. package/__internal__/src/components/Notifications/NotificationsItem/NotificationsItem.css +1 -0
  92. package/__internal__/src/components/Notifications/NotificationsItem/NotificationsItem.d.ts +6 -0
  93. package/__internal__/src/components/Notifications/NotificationsItem/NotificationsItem.js +2 -0
  94. package/__internal__/src/components/Notifications/NotificationsItem/NotificationsItem.js.map +1 -0
  95. package/__internal__/src/components/Notifications/NotificationsItem/helpers.js.map +1 -0
  96. package/__internal__/src/components/Notifications/NotificationsItem/index.d.ts +1 -0
  97. package/__internal__/src/components/Notifications/NotificationsItem/index.js +2 -0
  98. package/__internal__/src/components/Notifications/NotificationsItem/index.js.map +1 -0
  99. package/__internal__/src/components/{NotificationCard → Notifications/NotificationsItem}/types.d.ts +7 -8
  100. package/__internal__/src/components/Notifications/NotificationsItem/types.js.map +1 -0
  101. package/__internal__/src/components/Notifications/NotificationsList/NotificationsList.css +1 -0
  102. package/__internal__/src/components/Notifications/NotificationsList/NotificationsList.js +2 -0
  103. package/__internal__/src/components/Notifications/NotificationsList/NotificationsList.js.map +1 -0
  104. package/__internal__/src/components/{NotificationsList → Notifications/NotificationsList}/helpers.d.ts +17 -16
  105. package/__internal__/src/components/Notifications/NotificationsList/helpers.js.map +1 -0
  106. package/__internal__/src/components/Notifications/NotificationsList/index.js.map +1 -0
  107. package/__internal__/src/components/{NotificationsList → Notifications/NotificationsList}/types.d.ts +15 -24
  108. package/__internal__/src/components/Notifications/NotificationsList/types.js.map +1 -0
  109. package/__internal__/src/components/Notifications/index.d.ts +3 -0
  110. package/__internal__/src/components/Notifications/index.js +1 -1
  111. package/__internal__/src/components/Notifications/index.js.map +1 -1
  112. package/__internal__/src/components/Notifications/types.d.ts +4 -3
  113. package/__internal__/src/components/Notifications/types.js.map +1 -1
  114. package/__internal__/src/components/PopoverButton/PopoverButton.css +1 -0
  115. package/__internal__/src/components/PopoverButton/PopoverButton.d.ts +11 -0
  116. package/__internal__/src/components/PopoverButton/PopoverButton.js +2 -0
  117. package/__internal__/src/components/PopoverButton/PopoverButton.js.map +1 -0
  118. package/__internal__/src/components/PopoverButton/index.d.ts +1 -0
  119. package/__internal__/src/components/PopoverButton/index.js +2 -0
  120. package/__internal__/src/components/PopoverButton/index.js.map +1 -0
  121. package/__internal__/src/components/SelectMenu/SelectMenu.js +1 -1
  122. package/__internal__/src/components/SelectMenu/SelectMenu.js.map +1 -1
  123. package/__internal__/src/components/SelectMenu/helpers.d.ts +1 -1
  124. package/__internal__/src/components/SelectMenu/helpers.js.map +1 -1
  125. package/__internal__/src/components/Sidebar/Sidebar.css +1 -1
  126. package/__internal__/src/components/Sidebar/Sidebar.js +1 -1
  127. package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
  128. package/__internal__/src/components/TileMenu/TileMenu.js +1 -1
  129. package/__internal__/src/components/TileMenu/TileMenu.js.map +1 -1
  130. package/__internal__/src/components/TileMenu/TileMenuItem/TileMenuItem.css +1 -1
  131. package/__internal__/src/components/TileMenu/TileMenuItem/TileMenuItem.d.ts +2 -10
  132. package/__internal__/src/components/TileMenu/TileMenuItem/TileMenuItem.js +1 -1
  133. package/__internal__/src/components/TileMenu/TileMenuItem/TileMenuItem.js.map +1 -1
  134. package/__internal__/src/components/TileMenu/TileMenuItem/index.d.ts +1 -0
  135. package/__internal__/src/components/TileMenu/TileMenuItem/index.js +2 -0
  136. package/__internal__/src/components/TileMenu/TileMenuItem/index.js.map +1 -0
  137. package/__internal__/src/components/TileMenu/TileMenuItem/types.d.ts +9 -0
  138. package/__internal__/src/components/TileMenu/TileMenuItem/types.js +2 -0
  139. package/__internal__/src/components/TileMenu/TileMenuItem/types.js.map +1 -0
  140. package/__internal__/src/components/TileMenu/TileMenuList/TileMenuList.d.ts +2 -1
  141. package/__internal__/src/components/TileMenu/TileMenuList/TileMenuList.js +1 -1
  142. package/__internal__/src/components/TileMenu/TileMenuList/TileMenuList.js.map +1 -1
  143. package/__internal__/src/components/TileMenu/TileMenuList/helpers.d.ts +18 -0
  144. package/__internal__/src/components/TileMenu/TileMenuList/helpers.js.map +1 -0
  145. package/__internal__/src/components/TileMenu/TileMenuList/index.d.ts +1 -0
  146. package/__internal__/src/components/TileMenu/TileMenuList/index.js +2 -0
  147. package/__internal__/src/components/TileMenu/TileMenuList/index.js.map +1 -0
  148. package/__internal__/src/components/TileMenu/TileMenuList/types.d.ts +30 -21
  149. package/__internal__/src/components/TileMenu/TileMenuList/types.js +1 -1
  150. package/__internal__/src/components/TileMenu/TileMenuList/types.js.map +1 -1
  151. package/__internal__/src/components/TileMenu/index.d.ts +2 -0
  152. package/__internal__/src/components/TileMenu/index.js +1 -1
  153. package/__internal__/src/components/TileMenu/index.js.map +1 -1
  154. package/__internal__/src/components/TileMenu/types.d.ts +7 -42
  155. package/__internal__/src/components/TileMenu/types.js +1 -1
  156. package/__internal__/src/components/TileMenu/types.js.map +1 -1
  157. package/__internal__/src/components/VerticalMenu/VerticalMenu.js +1 -1
  158. package/__internal__/src/components/VerticalMenu/VerticalMenu.js.map +1 -1
  159. package/__internal__/src/components/VerticalMenu/VerticalMenuItem/VerticalMenuItem.js +1 -1
  160. package/__internal__/src/components/VerticalMenu/VerticalMenuItem/VerticalMenuItem.js.map +1 -1
  161. package/__internal__/src/components/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.js +1 -1
  162. package/__internal__/src/components/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.js.map +1 -1
  163. package/__internal__/src/components/VerticalMenu/helpers.d.ts +16 -16
  164. package/__internal__/src/components/VerticalMenu/helpers.js.map +1 -1
  165. package/__internal__/src/components/VerticalMenu/types.d.ts +9 -9
  166. package/__internal__/src/components/VerticalMenu/types.js.map +1 -1
  167. package/__internal__/src/docs/start/start.stand.js.map +1 -1
  168. package/__internal__/src/helpers/getItemClick.js.map +1 -1
  169. package/__internal__/src/stand/standPageDecoration.d.ts +2 -0
  170. package/__internal__/src/utils/bem.js.map +1 -1
  171. package/package.json +3 -2
  172. package/Badges/index.d.ts +0 -1
  173. package/Badges/index.js +0 -1
  174. package/BannerBar/index.d.ts +0 -1
  175. package/BannerBar/index.js +0 -1
  176. package/GlobalMenu/index.d.ts +0 -1
  177. package/GlobalMenu/index.js +0 -1
  178. package/Header/index.d.ts +0 -1
  179. package/Header/index.js +0 -1
  180. package/Languages/index.d.ts +0 -1
  181. package/Languages/index.js +0 -1
  182. package/NavBar/index.d.ts +0 -1
  183. package/NavBar/index.js +0 -1
  184. package/NotificationsList/index.d.ts +0 -1
  185. package/NotificationsList/index.js +0 -1
  186. package/__internal__/src/components/Badges/Badges.css +0 -1
  187. package/__internal__/src/components/Badges/Badges.d.ts +0 -5
  188. package/__internal__/src/components/Badges/Badges.js +0 -2
  189. package/__internal__/src/components/Badges/Badges.js.map +0 -1
  190. package/__internal__/src/components/Badges/helpers.d.ts +0 -20
  191. package/__internal__/src/components/Badges/helpers.js +0 -2
  192. package/__internal__/src/components/Badges/helpers.js.map +0 -1
  193. package/__internal__/src/components/Badges/index.d.ts +0 -1
  194. package/__internal__/src/components/Badges/index.js +0 -2
  195. package/__internal__/src/components/Badges/index.js.map +0 -1
  196. package/__internal__/src/components/Badges/types.d.ts +0 -27
  197. package/__internal__/src/components/Badges/types.js.map +0 -1
  198. package/__internal__/src/components/BannerBar/BannerBar.css +0 -1
  199. package/__internal__/src/components/BannerBar/BannerBar.d.ts +0 -3
  200. package/__internal__/src/components/BannerBar/BannerBar.js +0 -2
  201. package/__internal__/src/components/BannerBar/BannerBar.js.map +0 -1
  202. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.css +0 -1
  203. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.d.ts +0 -3
  204. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.js +0 -2
  205. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.js.map +0 -1
  206. package/__internal__/src/components/BannerBar/BannerBarItem/index.d.ts +0 -1
  207. package/__internal__/src/components/BannerBar/BannerBarItem/index.js +0 -2
  208. package/__internal__/src/components/BannerBar/BannerBarItem/index.js.map +0 -1
  209. package/__internal__/src/components/BannerBar/helpers.js.map +0 -1
  210. package/__internal__/src/components/BannerBar/index.d.ts +0 -3
  211. package/__internal__/src/components/BannerBar/index.js +0 -2
  212. package/__internal__/src/components/BannerBar/index.js.map +0 -1
  213. package/__internal__/src/components/BannerBar/types.d.ts +0 -42
  214. package/__internal__/src/components/BannerBar/types.js.map +0 -1
  215. package/__internal__/src/components/GlobalMenu/GlobalMenu.css +0 -1
  216. package/__internal__/src/components/GlobalMenu/GlobalMenu.d.ts +0 -3
  217. package/__internal__/src/components/GlobalMenu/GlobalMenu.js +0 -2
  218. package/__internal__/src/components/GlobalMenu/GlobalMenu.js.map +0 -1
  219. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.css +0 -1
  220. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.d.ts +0 -3
  221. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.js +0 -2
  222. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.js.map +0 -1
  223. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/index.d.ts +0 -1
  224. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/index.js +0 -2
  225. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/index.js.map +0 -1
  226. package/__internal__/src/components/GlobalMenu/helper.js.map +0 -1
  227. package/__internal__/src/components/GlobalMenu/index.d.ts +0 -2
  228. package/__internal__/src/components/GlobalMenu/index.js +0 -2
  229. package/__internal__/src/components/GlobalMenu/index.js.map +0 -1
  230. package/__internal__/src/components/GlobalMenu/types.d.ts +0 -75
  231. package/__internal__/src/components/GlobalMenu/types.js.map +0 -1
  232. package/__internal__/src/components/Header/Header.css +0 -1
  233. package/__internal__/src/components/Header/Header.d.ts +0 -5
  234. package/__internal__/src/components/Header/Header.js +0 -2
  235. package/__internal__/src/components/Header/Header.js.map +0 -1
  236. package/__internal__/src/components/Header/HeaderLogin/HeaderLogin.d.ts +0 -15
  237. package/__internal__/src/components/Header/HeaderLogin/HeaderLogin.js +0 -2
  238. package/__internal__/src/components/Header/HeaderLogin/HeaderLogin.js.map +0 -1
  239. package/__internal__/src/components/Header/HeaderLogin/index.d.ts +0 -1
  240. package/__internal__/src/components/Header/HeaderLogin/index.js +0 -2
  241. package/__internal__/src/components/Header/HeaderLogin/index.js.map +0 -1
  242. package/__internal__/src/components/Header/HeaderLogo/HeaderLogo.d.ts +0 -9
  243. package/__internal__/src/components/Header/HeaderLogo/HeaderLogo.js +0 -2
  244. package/__internal__/src/components/Header/HeaderLogo/HeaderLogo.js.map +0 -1
  245. package/__internal__/src/components/Header/HeaderLogo/index.d.ts +0 -1
  246. package/__internal__/src/components/Header/HeaderLogo/index.js +0 -2
  247. package/__internal__/src/components/Header/HeaderLogo/index.js.map +0 -1
  248. package/__internal__/src/components/Header/HeaderSearch/HeaderSearch.css +0 -1
  249. package/__internal__/src/components/Header/HeaderSearch/HeaderSearch.d.ts +0 -15
  250. package/__internal__/src/components/Header/HeaderSearch/HeaderSearch.js +0 -2
  251. package/__internal__/src/components/Header/HeaderSearch/HeaderSearch.js.map +0 -1
  252. package/__internal__/src/components/Header/HeaderSearch/index.d.ts +0 -1
  253. package/__internal__/src/components/Header/HeaderSearch/index.js +0 -2
  254. package/__internal__/src/components/Header/HeaderSearch/index.js.map +0 -1
  255. package/__internal__/src/components/Header/helpers.d.ts +0 -9
  256. package/__internal__/src/components/Header/helpers.js +0 -2
  257. package/__internal__/src/components/Header/helpers.js.map +0 -1
  258. package/__internal__/src/components/Header/index.d.ts +0 -1
  259. package/__internal__/src/components/Header/index.js +0 -2
  260. package/__internal__/src/components/Header/index.js.map +0 -1
  261. package/__internal__/src/components/Header/types.d.ts +0 -186
  262. package/__internal__/src/components/Header/types.js.map +0 -1
  263. package/__internal__/src/components/Languages/Languages.d.ts +0 -3
  264. package/__internal__/src/components/Languages/Languages.js +0 -2
  265. package/__internal__/src/components/Languages/Languages.js.map +0 -1
  266. package/__internal__/src/components/Languages/helpers.d.ts +0 -20
  267. package/__internal__/src/components/Languages/helpers.js +0 -2
  268. package/__internal__/src/components/Languages/helpers.js.map +0 -1
  269. package/__internal__/src/components/Languages/index.d.ts +0 -1
  270. package/__internal__/src/components/Languages/index.js +0 -2
  271. package/__internal__/src/components/Languages/index.js.map +0 -1
  272. package/__internal__/src/components/Languages/types.d.ts +0 -23
  273. package/__internal__/src/components/Languages/types.js.map +0 -1
  274. package/__internal__/src/components/NavBar/NavBar.css +0 -1
  275. package/__internal__/src/components/NavBar/NavBar.d.ts +0 -3
  276. package/__internal__/src/components/NavBar/NavBar.js +0 -2
  277. package/__internal__/src/components/NavBar/NavBar.js.map +0 -1
  278. package/__internal__/src/components/NavBar/helper.d.ts +0 -31
  279. package/__internal__/src/components/NavBar/helper.js.map +0 -1
  280. package/__internal__/src/components/NavBar/index.d.ts +0 -1
  281. package/__internal__/src/components/NavBar/index.js +0 -2
  282. package/__internal__/src/components/NavBar/index.js.map +0 -1
  283. package/__internal__/src/components/NavBar/types.d.ts +0 -48
  284. package/__internal__/src/components/NavBar/types.js.map +0 -1
  285. package/__internal__/src/components/NotificationCard/NotificationCard.css +0 -1
  286. package/__internal__/src/components/NotificationCard/NotificationCard.d.ts +0 -6
  287. package/__internal__/src/components/NotificationCard/NotificationCard.js +0 -2
  288. package/__internal__/src/components/NotificationCard/NotificationCard.js.map +0 -1
  289. package/__internal__/src/components/NotificationCard/helpers.js.map +0 -1
  290. package/__internal__/src/components/NotificationCard/index.d.ts +0 -1
  291. package/__internal__/src/components/NotificationCard/index.js +0 -2
  292. package/__internal__/src/components/NotificationCard/index.js.map +0 -1
  293. package/__internal__/src/components/NotificationCard/types.js +0 -2
  294. package/__internal__/src/components/NotificationCard/types.js.map +0 -1
  295. package/__internal__/src/components/NotificationsActions/NotificationsActions.js +0 -2
  296. package/__internal__/src/components/NotificationsActions/NotificationsActions.js.map +0 -1
  297. package/__internal__/src/components/NotificationsActions/helpers.js.map +0 -1
  298. package/__internal__/src/components/NotificationsActions/index.js.map +0 -1
  299. package/__internal__/src/components/NotificationsActions/types.js +0 -2
  300. package/__internal__/src/components/NotificationsActions/types.js.map +0 -1
  301. package/__internal__/src/components/NotificationsList/NotificationsList.css +0 -1
  302. package/__internal__/src/components/NotificationsList/NotificationsList.js +0 -2
  303. package/__internal__/src/components/NotificationsList/NotificationsList.js.map +0 -1
  304. package/__internal__/src/components/NotificationsList/helpers.js.map +0 -1
  305. package/__internal__/src/components/NotificationsList/index.js.map +0 -1
  306. package/__internal__/src/components/NotificationsList/types.js +0 -2
  307. package/__internal__/src/components/NotificationsList/types.js.map +0 -1
  308. package/__internal__/src/components/TileMenu/helpers.d.ts +0 -277
  309. package/__internal__/src/components/TileMenu/helpers.js.map +0 -1
  310. package/__internal__/src/stand/components/RemadeInfo/RemadeInfo.css +0 -1
  311. /package/__internal__/src/components/{BannerBar → MegaMenu/MegaMenuBannerBar}/helpers.js +0 -0
  312. /package/__internal__/src/components/{Badges → MegaMenu/MegaMenuBannerBar}/types.js +0 -0
  313. /package/__internal__/src/components/{GlobalMenu → MegaMenu/MegaMenuGlobal}/helper.js +0 -0
  314. /package/__internal__/src/components/{BannerBar → MegaMenu/MegaMenuGlobal}/types.js +0 -0
  315. /package/__internal__/src/components/{NavBar → MegaMenu/MegaMenuNavBar}/helper.js +0 -0
  316. /package/__internal__/src/components/{GlobalMenu → MegaMenu/MegaMenuNavBar}/types.js +0 -0
  317. /package/__internal__/src/components/{NotificationsActions → Notifications/NotificationsActions}/NotificationsActions.d.ts +0 -0
  318. /package/__internal__/src/components/{NotificationsActions → Notifications/NotificationsActions}/helpers.js +0 -0
  319. /package/__internal__/src/components/{NotificationsActions → Notifications/NotificationsActions}/index.d.ts +0 -0
  320. /package/__internal__/src/components/{NotificationsActions → Notifications/NotificationsActions}/index.js +0 -0
  321. /package/__internal__/src/components/{Header → Notifications/NotificationsActions}/types.js +0 -0
  322. /package/__internal__/src/components/{NotificationCard → Notifications/NotificationsItem}/helpers.d.ts +0 -0
  323. /package/__internal__/src/components/{NotificationCard → Notifications/NotificationsItem}/helpers.js +0 -0
  324. /package/__internal__/src/components/{Languages → Notifications/NotificationsItem}/types.js +0 -0
  325. /package/__internal__/src/components/{NotificationsList → Notifications/NotificationsList}/NotificationsList.d.ts +0 -0
  326. /package/__internal__/src/components/{NotificationsList → Notifications/NotificationsList}/helpers.js +0 -0
  327. /package/__internal__/src/components/{NotificationsList → Notifications/NotificationsList}/index.d.ts +0 -0
  328. /package/__internal__/src/components/{NotificationsList → Notifications/NotificationsList}/index.js +0 -0
  329. /package/__internal__/src/components/{NavBar → Notifications/NotificationsList}/types.js +0 -0
  330. /package/__internal__/src/components/TileMenu/{helpers.js → TileMenuList/helpers.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","getItemAs","getItemAttributes","getItemGroupId","title","getItemLabel","columns","getItemOnClick","getGroupKey","onItemClick","onGroupClick","getGroupLabel","getGroupOnClick","groups","showButtonText","hideButtonText","maxElements","className"];import"./MegaMenuGlobal.css";import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{cnMixSpace}from"@consta/uikit/MixSpace";import{Text}from"@consta/uikit/Text";import{getLastPoint,useComponentBreakpoints}from"@consta/uikit/useComponentBreakpoints";import{useForkRef}from"@consta/uikit/useForkRef";import React,{forwardRef,useMemo,useRef}from"react";import{cn}from"../../../utils/bem";import{withDefaultGetters}from"./helper";import{MegaMenuGlobalGroup}from"./MegaMenuGlobalGroup";const cnMegaMenuGlobal=cn("MegaMenuGlobal"),noGroupKey="no-group",MegaMenuGlobalRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,getItemAs:e,getItemAttributes:f,getItemGroupId:g,title:h,getItemLabel:j,columns:k,getItemOnClick:l,getGroupKey:m,onItemClick:n,onGroupClick:o,getGroupLabel:p,getGroupOnClick:q,groups:t=[],showButtonText:u="\u0415\u0449\u0451",hideButtonText:v="\u0421\u043A\u0440\u044B\u0442\u044C",maxElements:r,className:s}=c,w=_objectWithoutProperties(c,_excluded),x=useRef(null),y=getLastPoint(useComponentBreakpoints(x,{1:0,2:600,3:1e3,4:1600})),z=useMemo(()=>{const a=null!==k&&void 0!==k?k:+y,b=getGroups(d,g,t,m,void 0,noGroupKey),c=[];return b.forEach((b,d)=>{const e=d%a;c[e]||(c[e]=[]),c[e].push(b)}),c},[d,t,y,k]);return React.createElement("div",Object.assign({ref:useForkRef([b,x]),className:cnMegaMenuGlobal(null,[s])},w),h&&React.createElement(Text,{weight:"semibold",transform:"uppercase",className:cnMixSpace({mB:"xl"}),lineHeight:"m",size:"xl"},h),React.createElement("div",{style:{"--global-menu-columns":y},className:cnMegaMenuGlobal("Content")},z.map((a,b)=>React.createElement("div",{key:cnMegaMenuGlobal("Column",{index:b}),className:cnMegaMenuGlobal("Column")},a.map((a,c)=>{const d=a.group?q(a.group):void 0,h=a.group&&(!!d||!!o);return React.createElement(MegaMenuGlobalGroup,{title:a.group?p(a.group):void 0,key:cnMegaMenuGlobal("Group",{index:b,i:c}),onClick:h?b=>{null===d||void 0===d?void 0:d(b),a.group&&(null===o||void 0===o?void 0:o({e:b,group:a.group}))}:void 0,className:cnMegaMenuGlobal("Group"),items:a.items,showButtonText:u,hideButtonText:v,onItemClick:n,maxElements:r,getItemAs:e,getItemAttributes:f,getItemGroupId:g,getItemLabel:j,getItemOnClick:l})})))))};export const MegaMenuGlobal=forwardRef(MegaMenuGlobalRender);
2
+ //# sourceMappingURL=MegaMenuGlobal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MegaMenuGlobal.js","names":["getGroups","cnMixSpace","Text","getLastPoint","useComponentBreakpoints","useForkRef","React","forwardRef","useMemo","useRef","cn","withDefaultGetters","MegaMenuGlobalGroup","cnMegaMenuGlobal","noGroupKey","MegaMenuGlobalRender","props","ref","c","items","getItemAs","getItemAttributes","getItemGroupId","title","getItemLabel","columns","columnsProp","getItemOnClick","getGroupKey","onItemClick","onGroupClick","getGroupLabel","getGroupOnClick","groups","groupsProp","showButtonText","hideButtonText","maxElements","className","otherProps","_objectWithoutProperties","_excluded","MegaMenuGlobalRef","sortedGroups","cols","arr","forEach","group","i","index","push","createElement","Object","assign","weight","transform","mB","lineHeight","size","style","\"--global-menu-columns\"","map","key","onClickGroup","hasClickableGroup","onClick","e","MegaMenuGlobal"],"sources":["../../../../../../src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobal.tsx"],"sourcesContent":["import './MegaMenuGlobal.css';\n\nimport { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { cnMixSpace } from '@consta/uikit/MixSpace';\nimport { Text } from '@consta/uikit/Text';\nimport {\n getLastPoint,\n useComponentBreakpoints,\n} from '@consta/uikit/useComponentBreakpoints';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helper';\nimport { MegaMenuGlobalGroup } from './MegaMenuGlobalGroup';\nimport { MegaMenuGlobalComponent, MegaMenuGlobalProps } from './types';\n\nconst cnMegaMenuGlobal = cn('MegaMenuGlobal');\nconst noGroupKey = 'no-group';\n\nconst MegaMenuGlobalRender = (\n props: MegaMenuGlobalProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items,\n getItemAs,\n getItemAttributes,\n getItemGroupId,\n title,\n getItemLabel,\n columns: columnsProp,\n getItemOnClick,\n getGroupKey,\n onItemClick,\n onGroupClick,\n getGroupLabel,\n getGroupOnClick,\n groups: groupsProp = [],\n showButtonText = 'Ещё',\n hideButtonText = 'Скрыть',\n maxElements,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const MegaMenuGlobalRef = useRef<HTMLDivElement>(null);\n\n const columns = getLastPoint(\n useComponentBreakpoints(MegaMenuGlobalRef, {\n 1: 0,\n 2: 600,\n 3: 1000,\n 4: 1600,\n }),\n );\n\n const sortedGroups = useMemo(() => {\n const cols = columnsProp ?? Number(columns);\n\n const groups = getGroups(\n items,\n getItemGroupId,\n groupsProp,\n getGroupKey,\n undefined,\n noGroupKey,\n );\n const arr: Array<typeof groups> = [];\n groups.forEach((group, i) => {\n const index = i % cols;\n if (!arr[index]) {\n arr[index] = [];\n }\n arr[index].push(group);\n });\n return arr;\n }, [items, groupsProp, columns, columnsProp]);\n\n return (\n <div\n ref={useForkRef([ref, MegaMenuGlobalRef])}\n className={cnMegaMenuGlobal(null, [className])}\n {...otherProps}\n >\n {title && (\n <Text\n weight=\"semibold\"\n transform=\"uppercase\"\n className={cnMixSpace({ mB: 'xl' })}\n lineHeight=\"m\"\n size=\"xl\"\n >\n {title}\n </Text>\n )}\n <div\n style={{\n ['--global-menu-columns' as string]: columns,\n }}\n className={cnMegaMenuGlobal('Content')}\n >\n {sortedGroups.map((groups, index) => (\n <div\n key={cnMegaMenuGlobal('Column', { index })}\n className={cnMegaMenuGlobal('Column')}\n >\n {groups.map((group, i) => {\n const onClickGroup = group.group\n ? getGroupOnClick(group.group)\n : undefined;\n const hasClickableGroup =\n group.group && (!!onClickGroup || !!onGroupClick);\n const onClick = (e: React.MouseEvent) => {\n onClickGroup?.(e);\n group.group && onGroupClick?.({ e, group: group.group });\n };\n\n return (\n <MegaMenuGlobalGroup\n title={group.group ? getGroupLabel(group.group) : undefined}\n key={cnMegaMenuGlobal('Group', { index, i })}\n onClick={hasClickableGroup ? onClick : undefined}\n className={cnMegaMenuGlobal('Group')}\n items={group.items}\n showButtonText={showButtonText}\n hideButtonText={hideButtonText}\n onItemClick={onItemClick}\n maxElements={maxElements}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemGroupId={getItemGroupId}\n getItemLabel={getItemLabel}\n getItemOnClick={getItemOnClick}\n />\n );\n })}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport const MegaMenuGlobal = forwardRef(\n MegaMenuGlobalRender,\n) as MegaMenuGlobalComponent;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .che--MegaMenuGlobalGroup{display:flex;flex-direction:column;gap:var(--space-s);width:100%}.che--MegaMenuGlobalGroup-Title_clickable{cursor:pointer;transition:color .3s}.che--MegaMenuGlobalGroup-Title_clickable:hover{color:var(--color-control-bg-primary)}.che--MegaMenuGlobalGroup-Item:hover{background:transparent;color:var(--color-control-bg-primary)}.che--MegaMenuGlobalGroup-Content.ListBox{display:flex;flex-direction:column;gap:calc(var(--space-xs) + var(--space-3xs));padding:0;width:100%}.che--MegaMenuGlobalGroup-Button.Button{color:var(--color-typo-secondary);padding:0;width:max-content}.che--MegaMenuGlobalGroup-Button.Button:hover{background-color:transparent;color:var(--color-control-bg-primary)}.che--MegaMenuGlobalGroup-Button.Button>.Button-Icon{transition:transform .3s}.che--MegaMenuGlobalGroup-Button.Button.che--MegaMenuGlobalGroup-Button_open>.Button-Icon{transform:rotate(180deg)}
@@ -0,0 +1,3 @@
1
+ import './MegaMenuGlobalGroup.css';
2
+ import { MegaMenuGlobalGroupComponent } from '../types';
3
+ export declare const MegaMenuGlobalGroup: MegaMenuGlobalGroupComponent;
@@ -0,0 +1,2 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","title","getItemAs","getItemAttributes","getItemLabel","getItemOnClick","getItemGroupId","className","onClick","maxElements","showButtonText","hideButtonText","onItemClick"];import"./MegaMenuGlobalGroup.css";import{IconArrowDown}from"@consta/icons/IconArrowDown";import{Button}from"@consta/uikit/Button";import{List,ListBox}from"@consta/uikit/ListCanary";import{Text}from"@consta/uikit/Text";import{useFlag}from"@consta/uikit/useFlag";import React,{forwardRef,useMemo}from"react";import{getItemClick}from"../../../../helpers/getItemClick";import{cn}from"../../../../utils/bem";const cnMegaMenuGlobalGroup=cn("MegaMenuGlobalGroup"),MegaMenuGlobalGroupRender=(a,b)=>{const{items:c,title:d,getItemAs:e,getItemAttributes:f,getItemLabel:g,getItemOnClick:h,getItemGroupId:i,className:j,onClick:k,maxElements:l,showButtonText:m,hideButtonText:n,onItemClick:o}=a,p=_objectWithoutProperties(a,_excluded),[q,r]=useFlag(),s=0<(null!==l&&void 0!==l?l:0)?l:void 0,t=useMemo(()=>s?q?c:c.slice(0,s):c,[q,s,c]);return React.createElement("div",Object.assign({ref:b,className:cnMegaMenuGlobalGroup(null,[j])},p),d&&React.createElement(Text,{onClick:k,className:cnMegaMenuGlobalGroup("Title",{clickable:!!k}),size:"m",lineHeight:"m",weight:"bold"},d),React.createElement(ListBox,{className:cnMegaMenuGlobalGroup("Content")},React.createElement(List,{items:t,size:"m",itemSpase:{p:0},getItemLabel:g,getItemAs:e,getItemAttributes:f,getItemOnClick:a=>getItemClick(a,h,o),getItemAdditionalClassName:()=>cnMegaMenuGlobalGroup("Item")})),s&&s<c.length&&React.createElement(Button,{label:q?n:m,size:"s",view:"clear",onClick:r.toggle,iconRight:IconArrowDown,className:cnMegaMenuGlobalGroup("Button",{open:q})}))};export const MegaMenuGlobalGroup=forwardRef(MegaMenuGlobalGroupRender);
2
+ //# sourceMappingURL=MegaMenuGlobalGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MegaMenuGlobalGroup.js","names":["IconArrowDown","Button","List","ListBox","Text","useFlag","React","forwardRef","useMemo","getItemClick","cn","cnMegaMenuGlobalGroup","MegaMenuGlobalGroupRender","props","ref","items","itemsProp","title","getItemAs","getItemAttributes","getItemLabel","getItemOnClick","getItemGroupId","className","onClick","maxElements","maxElementsProp","showButtonText","hideButtonText","onItemClick","otherProps","_objectWithoutProperties","_excluded","showList","setShowList","slice","createElement","Object","assign","clickable","size","lineHeight","weight","itemSpase","p","item","getItemAdditionalClassName","length","label","view","toggle","iconRight","open","MegaMenuGlobalGroup"],"sources":["../../../../../../../src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/MegaMenuGlobalGroup.tsx"],"sourcesContent":["import './MegaMenuGlobalGroup.css';\n\nimport { IconArrowDown } from '@consta/icons/IconArrowDown';\nimport { Button } from '@consta/uikit/Button';\nimport { List, ListBox } from '@consta/uikit/ListCanary';\nimport { Text } from '@consta/uikit/Text';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport {\n MegaMenuGlobalGroupComponent,\n MegaMenuGlobalGroupProps,\n} from '../types';\n\nconst cnMegaMenuGlobalGroup = cn('MegaMenuGlobalGroup');\n\nconst MegaMenuGlobalGroupRender = (\n props: MegaMenuGlobalGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items: itemsProp,\n title,\n getItemAs,\n getItemAttributes,\n getItemLabel,\n getItemOnClick,\n getItemGroupId,\n className,\n onClick,\n maxElements: maxElementsProp,\n showButtonText,\n hideButtonText,\n onItemClick,\n ...otherProps\n } = props;\n const [showList, setShowList] = useFlag();\n\n const maxElements = (maxElementsProp ?? 0) > 0 ? maxElementsProp : undefined;\n\n const items = useMemo(() => {\n if (!maxElements) {\n return itemsProp;\n }\n return showList ? itemsProp : itemsProp.slice(0, maxElements);\n }, [showList, maxElements, itemsProp]);\n\n return (\n <div\n ref={ref}\n className={cnMegaMenuGlobalGroup(null, [className])}\n {...otherProps}\n >\n {title && (\n <Text\n onClick={onClick}\n className={cnMegaMenuGlobalGroup('Title', { clickable: !!onClick })}\n size=\"m\"\n lineHeight=\"m\"\n weight=\"bold\"\n >\n {title}\n </Text>\n )}\n <ListBox className={cnMegaMenuGlobalGroup('Content')}>\n <List\n items={items}\n size=\"m\"\n itemSpase={{ p: 0 }}\n getItemLabel={getItemLabel}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemOnClick={(item) =>\n getItemClick(item, getItemOnClick, onItemClick)\n }\n getItemAdditionalClassName={() => cnMegaMenuGlobalGroup('Item')}\n />\n </ListBox>\n {maxElements && maxElements < itemsProp.length && (\n <Button\n label={showList ? hideButtonText : showButtonText}\n size=\"s\"\n view=\"clear\"\n onClick={setShowList.toggle}\n iconRight={IconArrowDown}\n className={cnMegaMenuGlobalGroup('Button', { open: showList })}\n />\n )}\n </div>\n );\n};\n\nexport const MegaMenuGlobalGroup = forwardRef(\n MegaMenuGlobalGroupRender,\n) as MegaMenuGlobalGroupComponent;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './MegaMenuGlobalGroup';
@@ -0,0 +1,2 @@
1
+ export*from"./MegaMenuGlobalGroup";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../src/components/MegaMenu/MegaMenuGlobal/MegaMenuGlobalGroup/index.ts"],"sourcesContent":["export * from './MegaMenuGlobalGroup';\n"],"mappings":"AAAA"}
@@ -1,19 +1,19 @@
1
1
  /// <reference types="react" />
2
- import { GlobalMenuDefaultGroup, GlobalMenuDefaultItem, GlobalMenuPropGetGroupId, GlobalMenuPropGetGroupLabel, GlobalMenuPropGetGroupOnClick, GlobalMenuPropGetItemAs, GlobalMenuPropGetItemAttributes, GlobalMenuPropGetItemGroupId, GlobalMenuPropGetItemLabel, GlobalMenuPropGetItemOnClick, GlobalMenuProps } from './types';
3
- export declare const withDefaultGetters: (props: GlobalMenuProps) => {
4
- getItemLabel: GlobalMenuPropGetItemLabel<GlobalMenuDefaultItem>;
5
- getItemGroupId: GlobalMenuPropGetItemGroupId<GlobalMenuDefaultItem>;
6
- getItemOnClick: GlobalMenuPropGetItemOnClick<GlobalMenuDefaultItem>;
7
- getItemAs: GlobalMenuPropGetItemAs<GlobalMenuDefaultItem>;
8
- getItemAttributes: GlobalMenuPropGetItemAttributes<GlobalMenuDefaultItem>;
9
- getGroupKey: GlobalMenuPropGetGroupId<GlobalMenuDefaultGroup>;
10
- getGroupLabel: GlobalMenuPropGetGroupLabel<GlobalMenuDefaultGroup>;
11
- getGroupOnClick: GlobalMenuPropGetGroupOnClick<GlobalMenuDefaultGroup>;
12
- items: GlobalMenuDefaultItem[];
13
- groups?: GlobalMenuDefaultGroup[] | undefined;
2
+ import { MegaMenuGlobalDefaultGroup, MegaMenuGlobalDefaultItem, MegaMenuGlobalPropGetGroupId, MegaMenuGlobalPropGetGroupLabel, MegaMenuGlobalPropGetGroupOnClick, MegaMenuGlobalPropGetItemAs, MegaMenuGlobalPropGetItemAttributes, MegaMenuGlobalPropGetItemGroupId, MegaMenuGlobalPropGetItemLabel, MegaMenuGlobalPropGetItemOnClick, MegaMenuGlobalProps } from './types';
3
+ export declare const withDefaultGetters: (props: MegaMenuGlobalProps) => {
4
+ getItemLabel: MegaMenuGlobalPropGetItemLabel<MegaMenuGlobalDefaultItem>;
5
+ getItemGroupId: MegaMenuGlobalPropGetItemGroupId<MegaMenuGlobalDefaultItem>;
6
+ getItemOnClick: MegaMenuGlobalPropGetItemOnClick<MegaMenuGlobalDefaultItem>;
7
+ getItemAs: MegaMenuGlobalPropGetItemAs<MegaMenuGlobalDefaultItem>;
8
+ getItemAttributes: MegaMenuGlobalPropGetItemAttributes<MegaMenuGlobalDefaultItem>;
9
+ getGroupKey: MegaMenuGlobalPropGetGroupId<MegaMenuGlobalDefaultGroup>;
10
+ getGroupLabel: MegaMenuGlobalPropGetGroupLabel<MegaMenuGlobalDefaultGroup>;
11
+ getGroupOnClick: MegaMenuGlobalPropGetGroupOnClick<MegaMenuGlobalDefaultGroup>;
12
+ items: MegaMenuGlobalDefaultItem[];
13
+ groups?: MegaMenuGlobalDefaultGroup[] | undefined;
14
14
  maxElements?: number | undefined;
15
- onGroupClick?: import("./types").GlobalMenuPropOnGroupClick<GlobalMenuDefaultGroup> | undefined;
16
- onItemClick?: import("./types").GlobalMenuPropOnItemClick<GlobalMenuDefaultItem> | undefined;
15
+ onGroupClick?: import("./types").MegaMenuGlobalPropOnGroupClick<MegaMenuGlobalDefaultGroup> | undefined;
16
+ onItemClick?: import("./types").MegaMenuGlobalPropOnItemClick<MegaMenuGlobalDefaultItem> | undefined;
17
17
  columns?: number | undefined;
18
18
  title?: string | undefined;
19
19
  showButtonText?: string | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","names":["defaultGetItemLabel","item","label","defaultGetItemOnClick","onClick","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemGroupId","groupId","defaultGetGroupId","group","id","defaultGetGroupLabel","defaultGetGroupOnClick","withDefaultGetters","props","_objectSpread","getItemLabel","getItemGroupId","getItemOnClick","getItemAs","getItemAttributes","getGroupKey","getGroupLabel","getGroupOnClick"],"sources":["../../../../../../src/components/MegaMenu/MegaMenuGlobal/helper.ts"],"sourcesContent":["import {\n MegaMenuGlobalDefaultGroup,\n MegaMenuGlobalDefaultItem,\n MegaMenuGlobalPropGetGroupId,\n MegaMenuGlobalPropGetGroupLabel,\n MegaMenuGlobalPropGetGroupOnClick,\n MegaMenuGlobalPropGetItemAs,\n MegaMenuGlobalPropGetItemAttributes,\n MegaMenuGlobalPropGetItemGroupId,\n MegaMenuGlobalPropGetItemLabel,\n MegaMenuGlobalPropGetItemOnClick,\n MegaMenuGlobalProps,\n} from './types';\n\nconst defaultGetItemLabel: MegaMenuGlobalPropGetItemLabel<\n MegaMenuGlobalDefaultItem\n> = (item) => item.label;\nconst defaultGetItemOnClick: MegaMenuGlobalPropGetItemOnClick<\n MegaMenuGlobalDefaultItem\n> = (item) => item.onClick;\nconst defaultGetItemAs: MegaMenuGlobalPropGetItemAs<\n MegaMenuGlobalDefaultItem\n> = (item) => item.as;\nconst defaultGetItemAttributes: MegaMenuGlobalPropGetItemAttributes<\n MegaMenuGlobalDefaultItem\n> = (item) => item.attributes;\nconst defaultGetItemGroupId: MegaMenuGlobalPropGetItemGroupId<\n MegaMenuGlobalDefaultItem\n> = (item) => item.groupId;\n\nconst defaultGetGroupId: MegaMenuGlobalPropGetGroupId<\n MegaMenuGlobalDefaultGroup\n> = (group) => group.id;\nconst defaultGetGroupLabel: MegaMenuGlobalPropGetGroupLabel<\n MegaMenuGlobalDefaultGroup\n> = (group) => group.label;\nconst defaultGetGroupOnClick: MegaMenuGlobalPropGetGroupOnClick<\n MegaMenuGlobalDefaultGroup\n> = (group) => group.onClick;\n\nexport const withDefaultGetters = (props: MegaMenuGlobalProps) => {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemGroupId: props.getItemGroupId || defaultGetItemGroupId,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getGroupKey: props.getGroupKey || defaultGetGroupId,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupOnClick: props.getGroupOnClick || defaultGetGroupOnClick,\n };\n};\n"],"mappings":"0qBAcM,CAAAA,mBAEL,CAAIC,CAAI,EAAKA,CAAI,CAACC,KAAK,CAClBC,qBAEL,CAAIF,CAAI,EAAKA,CAAI,CAACG,OAAO,CACpBC,gBAEL,CAAIJ,CAAI,EAAKA,CAAI,CAACK,EAAE,CACfC,wBAEL,CAAIN,CAAI,EAAKA,CAAI,CAACO,UAAU,CACvBC,qBAEL,CAAIR,CAAI,EAAKA,CAAI,CAACS,OAAO,CAEpBC,iBAEL,CAAIC,CAAK,EAAKA,CAAK,CAACC,EAAE,CACjBC,oBAEL,CAAIF,CAAK,EAAKA,CAAK,CAACV,KAAK,CACpBa,sBAEL,CAAIH,CAAK,EAAKA,CAAK,CAACR,OAAO,CAE5B,MAAO,MAAM,CAAAY,kBAAkB,CAAIC,CAA0B,EAAAC,aAAA,CAAAA,aAAA,IAEtDD,CAAK,MACRE,YAAY,CAAEF,CAAK,CAACE,YAAY,EAAInB,mBAAmB,CACvDoB,cAAc,CAAEH,CAAK,CAACG,cAAc,EAAIX,qBAAqB,CAC7DY,cAAc,CAAEJ,CAAK,CAACI,cAAc,EAAIlB,qBAAqB,CAC7DmB,SAAS,CAAEL,CAAK,CAACK,SAAS,EAAIjB,gBAAgB,CAC9CkB,iBAAiB,CAAEN,CAAK,CAACM,iBAAiB,EAAIhB,wBAAwB,CACtEiB,WAAW,CAAEP,CAAK,CAACO,WAAW,EAAIb,iBAAiB,CACnDc,aAAa,CAAER,CAAK,CAACQ,aAAa,EAAIX,oBAAoB,CAC1DY,eAAe,CAAET,CAAK,CAACS,eAAe,EAAIX,sBAAsB,EAEnE"}
@@ -0,0 +1,2 @@
1
+ export * from './MegaMenuGlobal';
2
+ export * from './MegaMenuGlobalGroup';
@@ -0,0 +1,2 @@
1
+ export*from"./MegaMenuGlobal";export*from"./MegaMenuGlobalGroup";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/MegaMenu/MegaMenuGlobal/index.ts"],"sourcesContent":["export * from './MegaMenuGlobal';\nexport * from './MegaMenuGlobalGroup';\n"],"mappings":"AAAA,8BACA"}
@@ -0,0 +1,75 @@
1
+ import { PropsWithAsAttributes } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';
2
+ import React from 'react';
3
+ import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
4
+ export type MegaMenuGlobalDefaultItem = {
5
+ as?: keyof JSX.IntrinsicElements;
6
+ attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];
7
+ onClick?: React.MouseEventHandler;
8
+ label: string;
9
+ groupId?: string | number;
10
+ };
11
+ export type MegaMenuGlobalDefaultGroup = {
12
+ label: string;
13
+ id?: string | number;
14
+ onClick?: React.MouseEventHandler;
15
+ };
16
+ export type MegaMenuGlobalPropGetItemAs<ITEM> = (item: ITEM) => keyof JSX.IntrinsicElements | undefined;
17
+ export type MegaMenuGlobalPropGetItemAttributes<ITEM> = (item: ITEM) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;
18
+ export type MegaMenuGlobalPropGetItemOnClick<ITEM> = (item: ITEM) => React.MouseEventHandler | undefined;
19
+ export type MegaMenuGlobalPropGetItemLabel<ITEM> = (item: ITEM) => string;
20
+ export type MegaMenuGlobalPropGetItemGroupId<ITEM> = (item: ITEM) => string | number | undefined;
21
+ export type MegaMenuGlobalPropGetGroupId<ITEM> = (item: ITEM) => number | string | undefined;
22
+ export type MegaMenuGlobalPropGetGroupLabel<ITEM> = (item: ITEM) => string;
23
+ export type MegaMenuGlobalPropGetGroupOnClick<ITEM> = (item: ITEM) => React.MouseEventHandler | undefined;
24
+ export type MegaMenuGlobalPropOnItemClick<ITEM> = (params: {
25
+ e: React.MouseEvent;
26
+ item: ITEM;
27
+ }) => void;
28
+ export type MegaMenuGlobalPropOnGroupClick<GROUP> = (params: {
29
+ e: React.MouseEvent;
30
+ group: GROUP;
31
+ }) => void;
32
+ export type MappersItem<ITEM = MegaMenuGlobalDefaultItem> = {
33
+ getItemLabel?: MegaMenuGlobalPropGetItemLabel<ITEM>;
34
+ getItemAs?: MegaMenuGlobalPropGetItemAs<ITEM>;
35
+ getItemGroupId?: MegaMenuGlobalPropGetItemGroupId<ITEM>;
36
+ getItemAttributes?: MegaMenuGlobalPropGetItemAttributes<ITEM>;
37
+ getItemOnClick?: MegaMenuGlobalPropGetItemOnClick<ITEM>;
38
+ };
39
+ export type MegaMenuGlobalProps<ITEM = MegaMenuGlobalDefaultItem, GROUP = MegaMenuGlobalDefaultGroup> = PropsWithHTMLAttributesAndRef<{
40
+ items: ITEM[];
41
+ groups?: GROUP[];
42
+ getGroupKey?: MegaMenuGlobalPropGetGroupId<GROUP>;
43
+ getGroupLabel?: MegaMenuGlobalPropGetGroupLabel<GROUP>;
44
+ getGroupOnClick?: MegaMenuGlobalPropGetGroupOnClick<GROUP>;
45
+ maxElements?: number;
46
+ onGroupClick?: MegaMenuGlobalPropOnGroupClick<GROUP>;
47
+ onItemClick?: MegaMenuGlobalPropOnItemClick<ITEM>;
48
+ columns?: number;
49
+ title?: string;
50
+ showButtonText?: string;
51
+ hideButtonText?: string;
52
+ } & MappersItem<ITEM> & (ITEM extends {
53
+ label: string;
54
+ } ? {} : {
55
+ getItemLabel: MegaMenuGlobalPropGetItemLabel<ITEM>;
56
+ }) & (GROUP extends {
57
+ label: string | unknown;
58
+ } ? {} : {
59
+ getGroupLabel: MegaMenuGlobalPropGetGroupLabel<GROUP>;
60
+ }), HTMLDivElement>;
61
+ export type MegaMenuGlobalComponent = <ITEM = MegaMenuGlobalDefaultItem, GROUP = MegaMenuGlobalDefaultGroup>(props: MegaMenuGlobalProps<ITEM, GROUP>, ref: React.Ref<HTMLDivElement>) => React.ReactElement | null;
62
+ export type MegaMenuGlobalGroupProps<ITEM = MegaMenuGlobalDefaultItem> = PropsWithHTMLAttributesAndRef<{
63
+ items: ITEM[];
64
+ title?: string;
65
+ maxElements?: number;
66
+ onItemClick?: MegaMenuGlobalPropOnItemClick<ITEM>;
67
+ showButtonText?: string;
68
+ hideButtonText?: string;
69
+ } & Required<MappersItem<ITEM>>, HTMLDivElement>;
70
+ export type MegaMenuGlobalGroupComponent = <ITEM = MegaMenuGlobalDefaultItem>(props: MegaMenuGlobalGroupProps<ITEM>, ref: React.Ref<HTMLDivElement>) => React.ReactElement | null;
71
+ export type MegaMenuGlobalItemProps<AS extends keyof JSX.IntrinsicElements = 'div'> = PropsWithAsAttributes<{
72
+ label: string;
73
+ onClick?: React.MouseEventHandler;
74
+ }, AS>;
75
+ export type MegaMenuGlobalItemComponent = <AS extends keyof JSX.IntrinsicElements = 'div'>(props: MegaMenuGlobalItemProps<AS>, ref: React.Ref<HTMLElement>) => React.ReactElement | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/components/MegaMenu/MegaMenuGlobal/types.ts"],"sourcesContent":["import { PropsWithAsAttributes } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type MegaMenuGlobalDefaultItem = {\n as?: keyof JSX.IntrinsicElements;\n attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];\n onClick?: React.MouseEventHandler;\n label: string;\n groupId?: string | number;\n};\n\nexport type MegaMenuGlobalDefaultGroup = {\n label: string;\n id?: string | number;\n onClick?: React.MouseEventHandler;\n};\n\nexport type MegaMenuGlobalPropGetItemAs<ITEM> = (\n item: ITEM,\n) => keyof JSX.IntrinsicElements | undefined;\nexport type MegaMenuGlobalPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;\nexport type MegaMenuGlobalPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\nexport type MegaMenuGlobalPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MegaMenuGlobalPropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type MegaMenuGlobalPropGetGroupId<ITEM> = (\n item: ITEM,\n) => number | string | undefined;\nexport type MegaMenuGlobalPropGetGroupLabel<ITEM> = (item: ITEM) => string;\nexport type MegaMenuGlobalPropGetGroupOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\n\nexport type MegaMenuGlobalPropOnItemClick<ITEM> = (params: {\n e: React.MouseEvent;\n item: ITEM;\n}) => void;\n\nexport type MegaMenuGlobalPropOnGroupClick<GROUP> = (params: {\n e: React.MouseEvent;\n group: GROUP;\n}) => void;\n\nexport type MappersItem<ITEM = MegaMenuGlobalDefaultItem> = {\n getItemLabel?: MegaMenuGlobalPropGetItemLabel<ITEM>;\n getItemAs?: MegaMenuGlobalPropGetItemAs<ITEM>;\n getItemGroupId?: MegaMenuGlobalPropGetItemGroupId<ITEM>;\n getItemAttributes?: MegaMenuGlobalPropGetItemAttributes<ITEM>;\n getItemOnClick?: MegaMenuGlobalPropGetItemOnClick<ITEM>;\n};\n\nexport type MegaMenuGlobalProps<\n ITEM = MegaMenuGlobalDefaultItem,\n GROUP = MegaMenuGlobalDefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n groups?: GROUP[];\n getGroupKey?: MegaMenuGlobalPropGetGroupId<GROUP>;\n getGroupLabel?: MegaMenuGlobalPropGetGroupLabel<GROUP>;\n getGroupOnClick?: MegaMenuGlobalPropGetGroupOnClick<GROUP>;\n maxElements?: number;\n onGroupClick?: MegaMenuGlobalPropOnGroupClick<GROUP>;\n onItemClick?: MegaMenuGlobalPropOnItemClick<ITEM>;\n columns?: number;\n title?: string;\n showButtonText?: string;\n hideButtonText?: string;\n } & MappersItem<ITEM> &\n (ITEM extends { label: string }\n ? {}\n : {\n getItemLabel: MegaMenuGlobalPropGetItemLabel<ITEM>;\n }) &\n (GROUP extends { label: string | unknown }\n ? {}\n : {\n getGroupLabel: MegaMenuGlobalPropGetGroupLabel<GROUP>;\n }),\n HTMLDivElement\n>;\n\nexport type MegaMenuGlobalComponent = <\n ITEM = MegaMenuGlobalDefaultItem,\n GROUP = MegaMenuGlobalDefaultGroup,\n>(\n props: MegaMenuGlobalProps<ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport type MegaMenuGlobalGroupProps<ITEM = MegaMenuGlobalDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n title?: string;\n maxElements?: number;\n onItemClick?: MegaMenuGlobalPropOnItemClick<ITEM>;\n showButtonText?: string;\n hideButtonText?: string;\n } & Required<MappersItem<ITEM>>,\n HTMLDivElement\n >;\n\nexport type MegaMenuGlobalGroupComponent = <ITEM = MegaMenuGlobalDefaultItem>(\n props: MegaMenuGlobalGroupProps<ITEM>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport type MegaMenuGlobalItemProps<\n AS extends keyof JSX.IntrinsicElements = 'div',\n> = PropsWithAsAttributes<\n {\n label: string;\n onClick?: React.MouseEventHandler;\n },\n AS\n>;\n\nexport type MegaMenuGlobalItemComponent = <\n AS extends keyof JSX.IntrinsicElements = 'div',\n>(\n props: MegaMenuGlobalItemProps<AS>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ .che--MegaMenuNavBar.ListBox{background:var(--color-bg-default);border-right:1px solid var(--color-bg-border);box-sizing:border-box;height:100%;width:100%}.che--MegaMenuNavBar-Item.ListItemGrid{color:var(--color-control-typo-clear);line-height:var(--line-height-text-2xs)}.che--MegaMenuNavBar-Item.ListItemGrid:hover{background:var(--color-control-bg-ghost-hover)}.che--MegaMenuNavBar-Item.ListItemGrid.che--MegaMenuNavBar-Item_active{background:var(--color-control-bg-ghost);color:var(--color-control-typo-ghost)}
@@ -0,0 +1,3 @@
1
+ import './MegaMenuNavBar.css';
2
+ import { MegaMenuNavBarComponent } from './types';
3
+ export declare const MegaMenuNavBar: MegaMenuNavBarComponent;
@@ -0,0 +1,2 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","onItemClick","getItemActive","getItemIconLeft","getItemIconRight","getItemLabel","getItemOnClick","getItemAs","getItemAttributes","className"];import"./MegaMenuNavBar.css";import{List,ListBox}from"@consta/uikit/ListCanary";import{cnMixSpace}from"@consta/uikit/MixSpace";import React,{forwardRef}from"react";import{getItemClick}from"../../../helpers/getItemClick";import{cn}from"../../../utils/bem";import{withDefaultGetters}from"./helper";const cnMegaMenuNavBar=cn("MegaMenuNavBar"),MegaMenuNavBarRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,onItemClick:e,getItemActive:f,getItemIconLeft:g,getItemIconRight:h,getItemLabel:i,getItemOnClick:j,getItemAs:k,getItemAttributes:l,className:m}=c,n=_objectWithoutProperties(c,_excluded);return React.createElement(ListBox,Object.assign({ref:b,className:cnMegaMenuNavBar(null,[m,cnMixSpace({pV:"2xl"})])},n),React.createElement(List,{items:d,size:"m",getItemLabel:i,getItemActive:f,getItemLeftIcon:g,getItemRightIcon:h,getItemOnClick:a=>getItemClick(a,j,e),getItemAs:k,itemSpase:{pV:"s",pH:"l"},getItemAttributes:l,getItemAdditionalClassName:a=>cnMegaMenuNavBar("Item",{active:f(a)})}))};export const MegaMenuNavBar=forwardRef(MegaMenuNavBarRender);
2
+ //# sourceMappingURL=MegaMenuNavBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MegaMenuNavBar.js","names":["List","ListBox","cnMixSpace","React","forwardRef","getItemClick","cn","withDefaultGetters","cnMegaMenuNavBar","MegaMenuNavBarRender","props","ref","c","items","onItemClick","getItemActive","getItemIconLeft","getItemIconRight","getItemLabel","getItemOnClick","getItemOnClickProp","getItemAs","getItemAttributes","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","pV","size","getItemLeftIcon","getItemRightIcon","item","itemSpase","pH","getItemAdditionalClassName","active","MegaMenuNavBar"],"sources":["../../../../../../src/components/MegaMenu/MegaMenuNavBar/MegaMenuNavBar.tsx"],"sourcesContent":["import './MegaMenuNavBar.css';\n\nimport { List, ListBox } from '@consta/uikit/ListCanary';\nimport { cnMixSpace } from '@consta/uikit/MixSpace';\nimport React, { forwardRef } from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helper';\nimport { MegaMenuNavBarComponent, MegaMenuNavBarProps } from './types';\n\nconst cnMegaMenuNavBar = cn('MegaMenuNavBar');\n\nconst MegaMenuNavBarRender = (\n props: MegaMenuNavBarProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items,\n onItemClick,\n getItemActive,\n getItemIconLeft,\n getItemIconRight,\n getItemLabel,\n getItemOnClick: getItemOnClickProp,\n getItemAs,\n getItemAttributes,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n return (\n <ListBox\n ref={ref}\n className={cnMegaMenuNavBar(null, [\n className,\n cnMixSpace({\n pV: '2xl',\n }),\n ])}\n {...otherProps}\n >\n <List\n items={items}\n size=\"m\"\n getItemLabel={getItemLabel}\n getItemActive={getItemActive}\n getItemLeftIcon={getItemIconLeft}\n getItemRightIcon={getItemIconRight}\n getItemOnClick={(item) =>\n getItemClick(item, getItemOnClickProp, onItemClick)\n }\n getItemAs={getItemAs}\n itemSpase={{ pV: 's', pH: 'l' }}\n getItemAttributes={getItemAttributes}\n getItemAdditionalClassName={(item) =>\n cnMegaMenuNavBar('Item', { active: getItemActive(item) })\n }\n />\n </ListBox>\n );\n};\n\nexport const MegaMenuNavBar = forwardRef(\n MegaMenuNavBarRender,\n) as MegaMenuNavBarComponent;\n"],"mappings":"8PAAA,6BAEA,OAASA,IAAI,CAAEC,OAAO,KAAQ,0BAA0B,CACxD,OAASC,UAAU,KAAQ,wBAAwB,CACnD,MAAO,CAAAC,KAAK,EAAIC,UAAU,KAAQ,OAAO,CAEzC,OAASC,YAAY,qCACrB,OAASC,EAAE,0BAEX,OAASC,kBAAkB,gBAAmB,KAGxC,CAAAC,gBAAgB,CAAGF,EAAE,CAAC,gBAAgB,CAAC,CAEvCG,oBAAoB,CAAGA,CAC3BC,CAA0B,CAC1BC,CAA8B,GAC3B,CACH,MAAAC,CAAA,CAYIL,kBAAkB,CAACG,CAAK,CAAC,CAZvB,CACJG,KAAK,CAALA,CAAK,CACLC,WAAW,CAAXA,CAAW,CACXC,aAAa,CAAbA,CAAa,CACbC,eAAe,CAAfA,CAAe,CACfC,gBAAgB,CAAhBA,CAAgB,CAChBC,YAAY,CAAZA,CAAY,CACZC,cAAc,CAAEC,CAAkB,CAClCC,SAAS,CAATA,CAAS,CACTC,iBAAiB,CAAjBA,CAAiB,CACjBC,SAAS,CAATA,CAEF,CAAC,CAAAX,CAAA,CADIY,CAAU,CAAAC,wBAAA,CAAAb,CAAA,CAAAc,SAAA,EAGf,MACE,CAAAvB,KAAA,CAAAwB,aAAA,CAAC1B,OAAO,CAAA2B,MAAA,CAAAC,MAAA,EACNlB,GAAG,CAAEA,CAAI,CACTY,SAAS,CAAEf,gBAAgB,CAAC,IAAI,CAAE,CAChCe,CAAS,CACTrB,UAAU,CAAC,CACT4B,EAAE,CAAE,KACN,CAAC,CAAC,CACH,CAAE,EACCN,CAAU,EAEdrB,KAAA,CAAAwB,aAAA,CAAC3B,IAAI,EACHa,KAAK,CAAEA,CAAM,CACbkB,IAAI,CAAC,GAAG,CACRb,YAAY,CAAEA,CAAa,CAC3BH,aAAa,CAAEA,CAAc,CAC7BiB,eAAe,CAAEhB,CAAgB,CACjCiB,gBAAgB,CAAEhB,CAAiB,CACnCE,cAAc,CAAGe,CAAI,EACnB7B,YAAY,CAAC6B,CAAI,CAAEd,CAAkB,CAAEN,CAAW,CACnD,CACDO,SAAS,CAAEA,CAAU,CACrBc,SAAS,CAAE,CAAEL,EAAE,CAAE,GAAG,CAAEM,EAAE,CAAE,GAAI,CAAE,CAChCd,iBAAiB,CAAEA,CAAkB,CACrCe,0BAA0B,CAAGH,CAAI,EAC/B1B,gBAAgB,CAAC,MAAM,CAAE,CAAE8B,MAAM,CAAEvB,CAAa,CAACmB,CAAI,CAAE,CAAC,CACzD,CACF,CACM,CAEb,CAAC,CAED,MAAO,MAAM,CAAAK,cAAc,CAAGnC,UAAU,CACtCK,oBACF,CAA4B"}
@@ -0,0 +1,31 @@
1
+ /// <reference types="react" />
2
+ import { MegaMenuNavBarDefaultItem, MegaMenuNavBarPropGetItemActive, MegaMenuNavBarPropGetItemAs, MegaMenuNavBarPropGetItemAttributes, MegaMenuNavBarPropGetItemIconLeft, MegaMenuNavBarPropGetItemIconRight, MegaMenuNavBarPropGetItemLabel, MegaMenuNavBarPropGetItemOnClick, MegaMenuNavBarProps } from './types';
3
+ export declare const withDefaultGetters: <ITEM>(props: MegaMenuNavBarProps<ITEM>) => {
4
+ items: ITEM[];
5
+ getItemLabel?: MegaMenuNavBarPropGetItemLabel<ITEM> | undefined;
6
+ getItemActive?: MegaMenuNavBarPropGetItemActive<ITEM> | undefined;
7
+ getItemOnClick?: MegaMenuNavBarPropGetItemOnClick<ITEM> | undefined;
8
+ getItemIconLeft?: MegaMenuNavBarPropGetItemIconLeft<ITEM> | undefined;
9
+ getItemIconRight?: MegaMenuNavBarPropGetItemIconRight<ITEM> | undefined;
10
+ getItemAs?: MegaMenuNavBarPropGetItemAs<ITEM> | undefined;
11
+ getItemAttributes?: MegaMenuNavBarPropGetItemAttributes<ITEM> | undefined;
12
+ onItemClick?: import("./types").MegaMenuNavBarPropOnItemClick<ITEM> | undefined;
13
+ } & (ITEM extends {
14
+ label: string;
15
+ } ? {} : {
16
+ getItemLabel: MegaMenuNavBarPropGetItemLabel<ITEM>;
17
+ }) & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "onItemClick" | "getItemLabel" | "getItemOnClick" | "getItemAs" | "getItemAttributes" | "getItemIconLeft" | "getItemActive" | "getItemIconRight" | keyof (ITEM extends {
18
+ label: string;
19
+ } ? {} : {
20
+ getItemLabel: MegaMenuNavBarPropGetItemLabel<ITEM>;
21
+ })> & {
22
+ getItemLabel: MegaMenuNavBarPropGetItemLabel<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemLabel<ITEM>;
23
+ getItemActive: MegaMenuNavBarPropGetItemActive<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemActive<ITEM>;
24
+ getItemOnClick: MegaMenuNavBarPropGetItemOnClick<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemOnClick<ITEM>;
25
+ getItemIconLeft: MegaMenuNavBarPropGetItemIconLeft<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemIconLeft<ITEM>;
26
+ getItemIconRight: MegaMenuNavBarPropGetItemIconRight<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemIconRight<ITEM>;
27
+ getItemAs: MegaMenuNavBarPropGetItemAs<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemAs<ITEM>;
28
+ getItemAttributes: MegaMenuNavBarPropGetItemAttributes<MegaMenuNavBarDefaultItem> | MegaMenuNavBarPropGetItemAttributes<ITEM>;
29
+ ref?: import("react").Ref<HTMLDivElement> | undefined;
30
+ key?: import("react").Key | null | undefined;
31
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","names":["defaultGetItemLabel","item","label","defaultGetItemActive","active","defaultGetItemOnClick","onClick","defaultGetItemIconLeft","iconLeft","defaultGetItemIconRight","iconRight","defaultGetItemAs","as","defaultGetItemAttributes","attributes","withDefaultGetters","props","_objectSpread","getItemLabel","getItemActive","getItemOnClick","getItemIconLeft","getItemIconRight","getItemAs","getItemAttributes"],"sources":["../../../../../../src/components/MegaMenu/MegaMenuNavBar/helper.ts"],"sourcesContent":["import {\n MegaMenuNavBarDefaultItem,\n MegaMenuNavBarPropGetItemActive,\n MegaMenuNavBarPropGetItemAs,\n MegaMenuNavBarPropGetItemAttributes,\n MegaMenuNavBarPropGetItemIconLeft,\n MegaMenuNavBarPropGetItemIconRight,\n MegaMenuNavBarPropGetItemLabel,\n MegaMenuNavBarPropGetItemOnClick,\n MegaMenuNavBarProps,\n} from './types';\n\nconst defaultGetItemLabel: MegaMenuNavBarPropGetItemLabel<\n MegaMenuNavBarDefaultItem\n> = (item) => item.label;\nconst defaultGetItemActive: MegaMenuNavBarPropGetItemActive<\n MegaMenuNavBarDefaultItem\n> = (item) => item.active;\nconst defaultGetItemOnClick: MegaMenuNavBarPropGetItemOnClick<\n MegaMenuNavBarDefaultItem\n> = (item) => item.onClick;\nconst defaultGetItemIconLeft: MegaMenuNavBarPropGetItemIconLeft<\n MegaMenuNavBarDefaultItem\n> = (item) => item.iconLeft;\nconst defaultGetItemIconRight: MegaMenuNavBarPropGetItemIconRight<\n MegaMenuNavBarDefaultItem\n> = (item) => item.iconRight;\nconst defaultGetItemAs: MegaMenuNavBarPropGetItemAs<\n MegaMenuNavBarDefaultItem\n> = (item) => item.as;\nconst defaultGetItemAttributes: MegaMenuNavBarPropGetItemAttributes<\n MegaMenuNavBarDefaultItem\n> = (item) => item.attributes;\n\nexport const withDefaultGetters = <ITEM>(props: MegaMenuNavBarProps<ITEM>) => {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemActive: props.getItemActive || defaultGetItemActive,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemIconLeft: props.getItemIconLeft || defaultGetItemIconLeft,\n getItemIconRight: props.getItemIconRight || defaultGetItemIconRight,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n };\n};\n"],"mappings":"0qBAYM,CAAAA,mBAEL,CAAIC,CAAI,EAAKA,CAAI,CAACC,KAAK,CAClBC,oBAEL,CAAIF,CAAI,EAAKA,CAAI,CAACG,MAAM,CACnBC,qBAEL,CAAIJ,CAAI,EAAKA,CAAI,CAACK,OAAO,CACpBC,sBAEL,CAAIN,CAAI,EAAKA,CAAI,CAACO,QAAQ,CACrBC,uBAEL,CAAIR,CAAI,EAAKA,CAAI,CAACS,SAAS,CACtBC,gBAEL,CAAIV,CAAI,EAAKA,CAAI,CAACW,EAAE,CACfC,wBAEL,CAAIZ,CAAI,EAAKA,CAAI,CAACa,UAAU,CAE7B,MAAO,MAAM,CAAAC,kBAAkB,CAAUC,CAAgC,EAAAC,aAAA,CAAAA,aAAA,IAElED,CAAK,MACRE,YAAY,CAAEF,CAAK,CAACE,YAAY,EAAIlB,mBAAmB,CACvDmB,aAAa,CAAEH,CAAK,CAACG,aAAa,EAAIhB,oBAAoB,CAC1DiB,cAAc,CAAEJ,CAAK,CAACI,cAAc,EAAIf,qBAAqB,CAC7DgB,eAAe,CAAEL,CAAK,CAACK,eAAe,EAAId,sBAAsB,CAChEe,gBAAgB,CAAEN,CAAK,CAACM,gBAAgB,EAAIb,uBAAuB,CACnEc,SAAS,CAAEP,CAAK,CAACO,SAAS,EAAIZ,gBAAgB,CAC9Ca,iBAAiB,CAAER,CAAK,CAACQ,iBAAiB,EAAIX,wBAAwB,EAEzE"}
@@ -0,0 +1 @@
1
+ export * from './MegaMenuNavBar';
@@ -0,0 +1,2 @@
1
+ export*from"./MegaMenuNavBar";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/MegaMenu/MegaMenuNavBar/index.ts"],"sourcesContent":["export * from './MegaMenuNavBar';\n"],"mappings":"AAAA"}
@@ -0,0 +1,48 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
2
+ import { PropsWithAsAttributes } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';
3
+ import React from 'react';
4
+ import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
5
+ export type MegaMenuNavBarDefaultItem = {
6
+ label: string;
7
+ iconLeft?: IconComponent;
8
+ iconRight?: IconComponent;
9
+ active?: boolean;
10
+ as?: keyof JSX.IntrinsicElements;
11
+ attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];
12
+ onClick?: React.MouseEventHandler;
13
+ };
14
+ export type MegaMenuNavBarPropGetItemLabel<ITEM> = (item: ITEM) => string;
15
+ export type MegaMenuNavBarPropGetItemIconLeft<ITEM> = (item: ITEM) => IconComponent | undefined;
16
+ export type MegaMenuNavBarPropGetItemIconRight<ITEM> = (item: ITEM) => IconComponent | undefined;
17
+ export type MegaMenuNavBarPropGetItemActive<ITEM> = (item: ITEM) => boolean | undefined;
18
+ export type MegaMenuNavBarPropGetItemOnClick<ITEM> = (item: ITEM) => React.MouseEventHandler | undefined;
19
+ export type MegaMenuNavBarPropGetItemAs<ITEM> = (item: ITEM) => keyof JSX.IntrinsicElements | undefined;
20
+ export type MegaMenuNavBarPropGetItemAttributes<ITEM> = (item: ITEM) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;
21
+ export type MegaMenuNavBarPropOnItemClick<ITEM> = (params: {
22
+ e: React.MouseEvent;
23
+ item: ITEM;
24
+ }) => void;
25
+ export type MegaMenuNavBarProps<ITEM = MegaMenuNavBarDefaultItem> = PropsWithHTMLAttributesAndRef<{
26
+ items: ITEM[];
27
+ getItemLabel?: MegaMenuNavBarPropGetItemLabel<ITEM>;
28
+ getItemActive?: MegaMenuNavBarPropGetItemActive<ITEM>;
29
+ getItemOnClick?: MegaMenuNavBarPropGetItemOnClick<ITEM>;
30
+ getItemIconLeft?: MegaMenuNavBarPropGetItemIconLeft<ITEM>;
31
+ getItemIconRight?: MegaMenuNavBarPropGetItemIconRight<ITEM>;
32
+ getItemAs?: MegaMenuNavBarPropGetItemAs<ITEM>;
33
+ getItemAttributes?: MegaMenuNavBarPropGetItemAttributes<ITEM>;
34
+ onItemClick?: MegaMenuNavBarPropOnItemClick<ITEM>;
35
+ } & (ITEM extends {
36
+ label: string;
37
+ } ? {} : {
38
+ getItemLabel: MegaMenuNavBarPropGetItemLabel<ITEM>;
39
+ }), HTMLDivElement>;
40
+ export type MegaMenuNavBarComponent = <ITEM = MegaMenuNavBarDefaultItem>(props: MegaMenuNavBarProps<ITEM>, ref: React.Ref<HTMLDivElement>) => React.ReactElement | null;
41
+ export type MegaMenuNavBarItemProps<AS extends keyof JSX.IntrinsicElements = 'div'> = PropsWithAsAttributes<{
42
+ label: string;
43
+ active?: boolean;
44
+ onClick?: React.MouseEventHandler;
45
+ iconLeft?: IconComponent;
46
+ iconRight?: IconComponent;
47
+ }, AS>;
48
+ export type MegaMenuNavBarItemComponent = <AS extends keyof JSX.IntrinsicElements = 'div'>(props: MegaMenuNavBarItemProps<AS>, ref: React.Ref<HTMLElement>) => React.ReactElement | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/components/MegaMenu/MegaMenuNavBar/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport { PropsWithAsAttributes } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type MegaMenuNavBarDefaultItem = {\n label: string;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n active?: boolean;\n as?: keyof JSX.IntrinsicElements;\n attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];\n onClick?: React.MouseEventHandler;\n};\n\nexport type MegaMenuNavBarPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MegaMenuNavBarPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type MegaMenuNavBarPropGetItemIconRight<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type MegaMenuNavBarPropGetItemActive<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type MegaMenuNavBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\nexport type MegaMenuNavBarPropGetItemAs<ITEM> = (\n item: ITEM,\n) => keyof JSX.IntrinsicElements | undefined;\nexport type MegaMenuNavBarPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;\n\nexport type MegaMenuNavBarPropOnItemClick<ITEM> = (params: {\n e: React.MouseEvent;\n item: ITEM;\n}) => void;\n\nexport type MegaMenuNavBarProps<ITEM = MegaMenuNavBarDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n getItemLabel?: MegaMenuNavBarPropGetItemLabel<ITEM>;\n getItemActive?: MegaMenuNavBarPropGetItemActive<ITEM>;\n getItemOnClick?: MegaMenuNavBarPropGetItemOnClick<ITEM>;\n getItemIconLeft?: MegaMenuNavBarPropGetItemIconLeft<ITEM>;\n getItemIconRight?: MegaMenuNavBarPropGetItemIconRight<ITEM>;\n getItemAs?: MegaMenuNavBarPropGetItemAs<ITEM>;\n getItemAttributes?: MegaMenuNavBarPropGetItemAttributes<ITEM>;\n onItemClick?: MegaMenuNavBarPropOnItemClick<ITEM>;\n } & (ITEM extends { label: string }\n ? {}\n : {\n getItemLabel: MegaMenuNavBarPropGetItemLabel<ITEM>;\n }),\n HTMLDivElement\n >;\n\nexport type MegaMenuNavBarComponent = <ITEM = MegaMenuNavBarDefaultItem>(\n props: MegaMenuNavBarProps<ITEM>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport type MegaMenuNavBarItemProps<\n AS extends keyof JSX.IntrinsicElements = 'div',\n> = PropsWithAsAttributes<\n {\n label: string;\n active?: boolean;\n onClick?: React.MouseEventHandler;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n },\n AS\n>;\n\nexport type MegaMenuNavBarItemComponent = <\n AS extends keyof JSX.IntrinsicElements = 'div',\n>(\n props: MegaMenuNavBarItemProps<AS>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { BannerBarDefaultItem, BannerBarPropGetItemAs, BannerBarPropGetItemAttributes, BannerBarPropGetItemDescription, BannerBarPropGetItemImage, BannerBarPropGetItemLabel, BannerBarPropGetItemOnClick } from '../BannerBar/types';
2
+ import { MegaMenuBannerBarDefaultItem, MegaMenuBannerBarPropGetItemAs, MegaMenuBannerBarPropGetItemAttributes, MegaMenuBannerBarPropGetItemDescription, MegaMenuBannerBarPropGetItemImage, MegaMenuBannerBarPropGetItemLabel, MegaMenuBannerBarPropGetItemOnClick } from './MegaMenuBannerBar';
3
3
  import { MegaMenuDefaultItem, MegaMenuPropGetItemAs, MegaMenuPropGetItemAttributes, MegaMenuPropGetItemIconLeft, MegaMenuPropGetItemKey, MegaMenuPropGetItemLabel, MegaMenuPropGetItemOnClick, MegaMenuPropGetItemSubMenu, MegaMenuProps } from './types';
4
4
  export declare const withDefaultGetters: (props: MegaMenuProps) => {
5
5
  getItemKey: MegaMenuPropGetItemKey<MegaMenuDefaultItem>;
@@ -9,13 +9,13 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
9
9
  getItemOnClick: MegaMenuPropGetItemOnClick<MegaMenuDefaultItem>;
10
10
  getItemIconLeft: MegaMenuPropGetItemIconLeft<MegaMenuDefaultItem>;
11
11
  getItemSubMenu: MegaMenuPropGetItemSubMenu<MegaMenuDefaultItem>;
12
- getBannerAs: BannerBarPropGetItemAs<BannerBarDefaultItem>;
13
- getBannerAttributes: BannerBarPropGetItemAttributes<BannerBarDefaultItem>;
14
- getBannerLabel: BannerBarPropGetItemLabel<BannerBarDefaultItem>;
15
- getBannerOnClick: BannerBarPropGetItemOnClick<BannerBarDefaultItem>;
16
- getBannerImage: BannerBarPropGetItemImage<BannerBarDefaultItem>;
17
- getBannerDescription: BannerBarPropGetItemDescription<BannerBarDefaultItem>;
18
- banners?: BannerBarDefaultItem[] | undefined;
12
+ getBannerAs: MegaMenuBannerBarPropGetItemAs<MegaMenuBannerBarDefaultItem>;
13
+ getBannerAttributes: MegaMenuBannerBarPropGetItemAttributes<MegaMenuBannerBarDefaultItem>;
14
+ getBannerLabel: MegaMenuBannerBarPropGetItemLabel<MegaMenuBannerBarDefaultItem>;
15
+ getBannerOnClick: MegaMenuBannerBarPropGetItemOnClick<MegaMenuBannerBarDefaultItem>;
16
+ getBannerImage: MegaMenuBannerBarPropGetItemImage<MegaMenuBannerBarDefaultItem>;
17
+ getBannerDescription: MegaMenuBannerBarPropGetItemDescription<MegaMenuBannerBarDefaultItem>;
18
+ banners?: MegaMenuBannerBarDefaultItem[] | undefined;
19
19
  items: MegaMenuDefaultItem[];
20
20
  menuTitle?: string | undefined;
21
21
  menuShowButtonText?: string | undefined;
@@ -23,7 +23,7 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
23
23
  menuMaxElements?: number | undefined;
24
24
  bannerPosition?: "right" | "bottom" | undefined;
25
25
  onItemClick?: import("./types").MegaMenuPropOnItemClick<MegaMenuDefaultItem> | undefined;
26
- onBannerClick?: import("./types").MegaMenuPropOnItemClick<BannerBarDefaultItem> | undefined;
26
+ onBannerClick?: import("./types").MegaMenuPropOnItemClick<MegaMenuBannerBarDefaultItem> | undefined;
27
27
  defaultChecked?: boolean | undefined;
28
28
  defaultValue?: string | number | readonly string[] | undefined;
29
29
  suppressContentEditableWarning?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","names":["defaultGetItemKey","item","key","defaultGetItemLabel","label","defaultGetItemIconLeft","iconLeft","defaultGetItemOnClick","onClick","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemSubMenu","subMenu","defaultGetBannerLabel","defaultGetBannerOnClick","defaultGetBannerDescription","description","defaultGetBannerImage","image","defaultGetBannerAs","defaultGetBannerAttributees","withDefaultGetters","props","getItemKey","getItemAs","getItemAttributes","getItemLabel","getItemOnClick","getItemIconLeft","getItemSubMenu","getBannerAs","getBannerAttributes","getBannerLabel","getBannerOnClick","getBannerImage","getBannerDescription","getItemsDepth","items","depth","forEach","secondArr","el","thirdArr","separateItemsByDepth","params","getItemActive","firstLevel","secondLevel","thirdLevel","firstLevelItemKey","push","secondLevelItemKey","groupId","subItem"],"sources":["../../../../../src/components/MegaMenu/helper.ts"],"sourcesContent":["import {\n BannerBarDefaultItem,\n BannerBarPropGetItemAs,\n BannerBarPropGetItemAttributes,\n BannerBarPropGetItemDescription,\n BannerBarPropGetItemImage,\n BannerBarPropGetItemLabel,\n BannerBarPropGetItemOnClick,\n} from '../BannerBar/types';\nimport {\n MegaMenuDefaultItem,\n MegaMenuPropGetItemAs,\n MegaMenuPropGetItemAttributes,\n MegaMenuPropGetItemIconLeft,\n MegaMenuPropGetItemKey,\n MegaMenuPropGetItemLabel,\n MegaMenuPropGetItemOnClick,\n MegaMenuPropGetItemSubMenu,\n MegaMenuProps,\n} from './types';\n\n// Menu\nconst defaultGetItemKey: MegaMenuPropGetItemKey<MegaMenuDefaultItem> = (item) =>\n item.key;\nconst defaultGetItemLabel: MegaMenuPropGetItemLabel<MegaMenuDefaultItem> = (\n item,\n) => item.label;\nconst defaultGetItemIconLeft: MegaMenuPropGetItemIconLeft<\n MegaMenuDefaultItem\n> = (item) => item.iconLeft;\nconst defaultGetItemOnClick: MegaMenuPropGetItemOnClick<MegaMenuDefaultItem> = (\n item,\n) => item.onClick;\nconst defaultGetItemAs: MegaMenuPropGetItemAs<MegaMenuDefaultItem> = (item) =>\n item.as;\nconst defaultGetItemAttributes: MegaMenuPropGetItemAttributes<\n MegaMenuDefaultItem\n> = (item) => item.attributes;\nconst defaultGetItemSubMenu: MegaMenuPropGetItemSubMenu<MegaMenuDefaultItem> = (\n item,\n) => item.subMenu;\n\n// BannerBar\nconst defaultGetBannerLabel: BannerBarPropGetItemLabel<BannerBarDefaultItem> = (\n item,\n) => item.label;\nconst defaultGetBannerOnClick: BannerBarPropGetItemOnClick<\n BannerBarDefaultItem\n> = (item) => item.onClick;\nconst defaultGetBannerDescription: BannerBarPropGetItemDescription<\n BannerBarDefaultItem\n> = (item) => item.description;\nconst defaultGetBannerImage: BannerBarPropGetItemImage<BannerBarDefaultItem> = (\n item,\n) => item.image;\nconst defaultGetBannerAs: BannerBarPropGetItemAs<BannerBarDefaultItem> = (\n item,\n) => item.as;\nconst defaultGetBannerAttributees: BannerBarPropGetItemAttributes<\n BannerBarDefaultItem\n> = (item) => item.attributes;\n\nexport const withDefaultGetters = (props: MegaMenuProps) => ({\n ...props,\n // Menu\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemIconLeft: props.getItemIconLeft || defaultGetItemIconLeft,\n getItemSubMenu: props.getItemSubMenu || defaultGetItemSubMenu,\n // BannerBar\n getBannerAs: props.getBannerAs || defaultGetBannerAs,\n getBannerAttributes: props.getBannerAttributes || defaultGetBannerAttributees,\n getBannerLabel: props.getBannerLabel || defaultGetBannerLabel,\n getBannerOnClick: props.getBannerOnClick || defaultGetBannerOnClick,\n getBannerImage: props.getBannerImage || defaultGetBannerImage,\n getBannerDescription:\n props.getBannerDescription || defaultGetBannerDescription,\n});\n\ntype Level<ITEM> = Array<{ groupId?: string | number; item: ITEM }>;\n\nexport const getItemsDepth = <ITEM>(\n items: ITEM[],\n getItemSubMenu: MegaMenuPropGetItemSubMenu<ITEM>,\n) => {\n let depth = 1;\n items.forEach((item) => {\n const secondArr = getItemSubMenu(item);\n if (secondArr) {\n if (depth === 1) {\n depth += 1;\n }\n secondArr.forEach((el) => {\n const thirdArr = getItemSubMenu(el);\n if (depth === 2 && thirdArr) {\n depth += 1;\n }\n });\n }\n });\n return depth;\n};\n\nexport const separateItemsByDepth = <ITEM>(params: {\n getItemKey: MegaMenuPropGetItemKey<ITEM>;\n items: ITEM[];\n getItemSubMenu: MegaMenuPropGetItemSubMenu<ITEM>;\n getItemActive: (item: ITEM) => boolean;\n depth?: number;\n}): [Level<ITEM>, Level<ITEM>, Level<ITEM>] => {\n const {\n items,\n getItemKey,\n getItemSubMenu,\n getItemActive,\n depth = 3,\n } = params;\n const firstLevel: Level<ITEM> = [];\n const secondLevel: Level<ITEM> = [];\n const thirdLevel: Level<ITEM> = [];\n items.forEach((item) => {\n const secondArr = getItemSubMenu(item);\n const firstLevelItemKey = getItemKey(item);\n firstLevel.push({ item });\n if (secondArr) {\n secondArr.forEach((el) => {\n const thirdArr = getItemSubMenu(el);\n const secondLevelItemKey = getItemKey(el);\n if (getItemActive(item) || depth === 2) {\n secondLevel.push({ groupId: firstLevelItemKey, item: el });\n if (thirdArr) {\n thirdArr.forEach((subItem) => {\n thirdLevel.push({ groupId: secondLevelItemKey, item: subItem });\n });\n }\n }\n });\n }\n });\n return [firstLevel, secondLevel, thirdLevel];\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","names":["defaultGetItemKey","item","key","defaultGetItemLabel","label","defaultGetItemIconLeft","iconLeft","defaultGetItemOnClick","onClick","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemSubMenu","subMenu","defaultGetBannerLabel","defaultGetBannerOnClick","defaultGetBannerDescription","description","defaultGetBannerImage","image","defaultGetBannerAs","defaultGetBannerAttributees","withDefaultGetters","props","_objectSpread","getItemKey","getItemAs","getItemAttributes","getItemLabel","getItemOnClick","getItemIconLeft","getItemSubMenu","getBannerAs","getBannerAttributes","getBannerLabel","getBannerOnClick","getBannerImage","getBannerDescription","getItemsDepth","items","depth","forEach","secondArr","el","thirdArr","separateItemsByDepth","params","getItemActive","firstLevel","secondLevel","thirdLevel","firstLevelItemKey","push","secondLevelItemKey","groupId","subItem"],"sources":["../../../../../src/components/MegaMenu/helper.ts"],"sourcesContent":["import {\n MegaMenuBannerBarDefaultItem,\n MegaMenuBannerBarPropGetItemAs,\n MegaMenuBannerBarPropGetItemAttributes,\n MegaMenuBannerBarPropGetItemDescription,\n MegaMenuBannerBarPropGetItemImage,\n MegaMenuBannerBarPropGetItemLabel,\n MegaMenuBannerBarPropGetItemOnClick,\n} from './MegaMenuBannerBar';\nimport {\n MegaMenuDefaultItem,\n MegaMenuPropGetItemAs,\n MegaMenuPropGetItemAttributes,\n MegaMenuPropGetItemIconLeft,\n MegaMenuPropGetItemKey,\n MegaMenuPropGetItemLabel,\n MegaMenuPropGetItemOnClick,\n MegaMenuPropGetItemSubMenu,\n MegaMenuProps,\n} from './types';\n\n// Menu\nconst defaultGetItemKey: MegaMenuPropGetItemKey<MegaMenuDefaultItem> = (item) =>\n item.key;\nconst defaultGetItemLabel: MegaMenuPropGetItemLabel<MegaMenuDefaultItem> = (\n item,\n) => item.label;\nconst defaultGetItemIconLeft: MegaMenuPropGetItemIconLeft<\n MegaMenuDefaultItem\n> = (item) => item.iconLeft;\nconst defaultGetItemOnClick: MegaMenuPropGetItemOnClick<MegaMenuDefaultItem> = (\n item,\n) => item.onClick;\nconst defaultGetItemAs: MegaMenuPropGetItemAs<MegaMenuDefaultItem> = (item) =>\n item.as;\nconst defaultGetItemAttributes: MegaMenuPropGetItemAttributes<\n MegaMenuDefaultItem\n> = (item) => item.attributes;\nconst defaultGetItemSubMenu: MegaMenuPropGetItemSubMenu<MegaMenuDefaultItem> = (\n item,\n) => item.subMenu;\n\n// MegaMenuBannerBar\nconst defaultGetBannerLabel: MegaMenuBannerBarPropGetItemLabel<\n MegaMenuBannerBarDefaultItem\n> = (item) => item.label;\nconst defaultGetBannerOnClick: MegaMenuBannerBarPropGetItemOnClick<\n MegaMenuBannerBarDefaultItem\n> = (item) => item.onClick;\nconst defaultGetBannerDescription: MegaMenuBannerBarPropGetItemDescription<\n MegaMenuBannerBarDefaultItem\n> = (item) => item.description;\nconst defaultGetBannerImage: MegaMenuBannerBarPropGetItemImage<\n MegaMenuBannerBarDefaultItem\n> = (item) => item.image;\nconst defaultGetBannerAs: MegaMenuBannerBarPropGetItemAs<\n MegaMenuBannerBarDefaultItem\n> = (item) => item.as;\nconst defaultGetBannerAttributees: MegaMenuBannerBarPropGetItemAttributes<\n MegaMenuBannerBarDefaultItem\n> = (item) => item.attributes;\n\nexport const withDefaultGetters = (props: MegaMenuProps) => ({\n ...props,\n // Menu\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemIconLeft: props.getItemIconLeft || defaultGetItemIconLeft,\n getItemSubMenu: props.getItemSubMenu || defaultGetItemSubMenu,\n // MegaMenuBannerBar\n getBannerAs: props.getBannerAs || defaultGetBannerAs,\n getBannerAttributes: props.getBannerAttributes || defaultGetBannerAttributees,\n getBannerLabel: props.getBannerLabel || defaultGetBannerLabel,\n getBannerOnClick: props.getBannerOnClick || defaultGetBannerOnClick,\n getBannerImage: props.getBannerImage || defaultGetBannerImage,\n getBannerDescription:\n props.getBannerDescription || defaultGetBannerDescription,\n});\n\ntype Level<ITEM> = Array<{ groupId?: string | number; item: ITEM }>;\n\nexport const getItemsDepth = <ITEM>(\n items: ITEM[],\n getItemSubMenu: MegaMenuPropGetItemSubMenu<ITEM>,\n) => {\n let depth = 1;\n items.forEach((item) => {\n const secondArr = getItemSubMenu(item);\n if (secondArr) {\n if (depth === 1) {\n depth += 1;\n }\n secondArr.forEach((el) => {\n const thirdArr = getItemSubMenu(el);\n if (depth === 2 && thirdArr) {\n depth += 1;\n }\n });\n }\n });\n return depth;\n};\n\nexport const separateItemsByDepth = <ITEM>(params: {\n getItemKey: MegaMenuPropGetItemKey<ITEM>;\n items: ITEM[];\n getItemSubMenu: MegaMenuPropGetItemSubMenu<ITEM>;\n getItemActive: (item: ITEM) => boolean;\n depth?: number;\n}): [Level<ITEM>, Level<ITEM>, Level<ITEM>] => {\n const {\n items,\n getItemKey,\n getItemSubMenu,\n getItemActive,\n depth = 3,\n } = params;\n const firstLevel: Level<ITEM> = [];\n const secondLevel: Level<ITEM> = [];\n const thirdLevel: Level<ITEM> = [];\n items.forEach((item) => {\n const secondArr = getItemSubMenu(item);\n const firstLevelItemKey = getItemKey(item);\n firstLevel.push({ item });\n if (secondArr) {\n secondArr.forEach((el) => {\n const thirdArr = getItemSubMenu(el);\n const secondLevelItemKey = getItemKey(el);\n if (getItemActive(item) || depth === 2) {\n secondLevel.push({ groupId: firstLevelItemKey, item: el });\n if (thirdArr) {\n thirdArr.forEach((subItem) => {\n thirdLevel.push({ groupId: secondLevelItemKey, item: subItem });\n });\n }\n }\n });\n }\n });\n return [firstLevel, secondLevel, thirdLevel];\n};\n"],"mappings":"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"}
@@ -1,3 +1,6 @@
1
1
  export * from './MegaMenu';
2
2
  export * from './types';
3
3
  export * from './MegaMenuBox';
4
+ export * from './MegaMenuBannerBar';
5
+ export * from './MegaMenuGlobal';
6
+ export * from './MegaMenuNavBar';
@@ -1,2 +1,2 @@
1
- export*from"./MegaMenu";export*from"./types";export*from"./MegaMenuBox";
1
+ export*from"./MegaMenu";export*from"./types";export*from"./MegaMenuBox";export*from"./MegaMenuBannerBar";export*from"./MegaMenuGlobal";export*from"./MegaMenuNavBar";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/MegaMenu/index.ts"],"sourcesContent":["export * from './MegaMenu';\nexport * from './types';\nexport * from './MegaMenuBox';\n"],"mappings":"AAAA,wBACA,qBACA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/MegaMenu/index.ts"],"sourcesContent":["export * from './MegaMenu';\nexport * from './types';\nexport * from './MegaMenuBox';\nexport * from './MegaMenuBannerBar';\nexport * from './MegaMenuGlobal';\nexport * from './MegaMenuNavBar';\n"],"mappings":"AAAA,wBACA,qBACA,2BACA,iCACA,8BACA"}
@@ -1,7 +1,7 @@
1
- import { IconComponent } from '@consta/uikit/Icon';
1
+ import { IconComponent } from '@consta/icons/Icon';
2
2
  import React from 'react';
3
- import { BannerBarDefaultItem, BannerBarPropGetItemAs, BannerBarPropGetItemAttributes, BannerBarPropGetItemDescription, BannerBarPropGetItemImage, BannerBarPropGetItemLabel, BannerBarPropGetItemOnClick } from "../BannerBar/types";
4
3
  import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
4
+ import { MegaMenuBannerBarDefaultItem, MegaMenuBannerBarPropGetItemAs, MegaMenuBannerBarPropGetItemAttributes, MegaMenuBannerBarPropGetItemDescription, MegaMenuBannerBarPropGetItemImage, MegaMenuBannerBarPropGetItemLabel, MegaMenuBannerBarPropGetItemOnClick } from './MegaMenuBannerBar';
5
5
  export type MegaMenuPropOnItemClick<ITEM> = (params: {
6
6
  e: React.MouseEvent;
7
7
  item: ITEM;
@@ -31,15 +31,15 @@ export type ItemMappers<ITEM = MegaMenuDefaultItem> = {
31
31
  getItemAttributes?: MegaMenuPropGetItemAttributes<ITEM>;
32
32
  getItemSubMenu?: MegaMenuPropGetItemSubMenu<ITEM>;
33
33
  };
34
- export type BannerMappers<ITEM = BannerBarDefaultItem> = {
35
- getBannerLabel?: BannerBarPropGetItemLabel<ITEM>;
36
- getBannerOnClick?: BannerBarPropGetItemOnClick<ITEM>;
37
- getBannerDescription?: BannerBarPropGetItemDescription<ITEM>;
38
- getBannerImage?: BannerBarPropGetItemImage<ITEM>;
39
- getBannerAs?: BannerBarPropGetItemAs<ITEM>;
40
- getBannerAttributes?: BannerBarPropGetItemAttributes<ITEM>;
34
+ export type BannerMappers<ITEM = MegaMenuBannerBarDefaultItem> = {
35
+ getBannerLabel?: MegaMenuBannerBarPropGetItemLabel<ITEM>;
36
+ getBannerOnClick?: MegaMenuBannerBarPropGetItemOnClick<ITEM>;
37
+ getBannerDescription?: MegaMenuBannerBarPropGetItemDescription<ITEM>;
38
+ getBannerImage?: MegaMenuBannerBarPropGetItemImage<ITEM>;
39
+ getBannerAs?: MegaMenuBannerBarPropGetItemAs<ITEM>;
40
+ getBannerAttributes?: MegaMenuBannerBarPropGetItemAttributes<ITEM>;
41
41
  };
42
- export type MegaMenuProps<ITEM = MegaMenuDefaultItem, BANNER = BannerBarDefaultItem> = PropsWithHTMLAttributesAndRef<{
42
+ export type MegaMenuProps<ITEM = MegaMenuDefaultItem, BANNER = MegaMenuBannerBarDefaultItem> = PropsWithHTMLAttributesAndRef<{
43
43
  banners?: BANNER[];
44
44
  items: ITEM[];
45
45
  menuTitle?: string;
@@ -58,8 +58,8 @@ export type MegaMenuProps<ITEM = MegaMenuDefaultItem, BANNER = BannerBarDefaultI
58
58
  } ? {} : {
59
59
  getItemLabel: MegaMenuPropGetItemLabel<ITEM>;
60
60
  }) & (BANNER extends {
61
- label: BannerBarDefaultItem['label'] | unknown;
61
+ label: MegaMenuBannerBarDefaultItem['label'] | unknown;
62
62
  } ? {} : {
63
- getBannerLabel: BannerBarPropGetItemLabel<ITEM>;
63
+ getBannerLabel: MegaMenuBannerBarPropGetItemLabel<ITEM>;
64
64
  }), HTMLDivElement>;
65
- export type MegaMenuComponent = <ITEM = MegaMenuDefaultItem, BANNER = BannerBarDefaultItem>(props: MegaMenuProps<ITEM, BANNER>, ref: React.Ref<HTMLDivElement>) => React.ReactElement | null;
65
+ export type MegaMenuComponent = <ITEM = MegaMenuDefaultItem, BANNER = MegaMenuBannerBarDefaultItem>(props: MegaMenuProps<ITEM, BANNER>, ref: React.Ref<HTMLDivElement>) => React.ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/MegaMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/uikit/Icon';\nimport React from 'react';\n\nimport {\n BannerBarDefaultItem,\n BannerBarPropGetItemAs,\n BannerBarPropGetItemAttributes,\n BannerBarPropGetItemDescription,\n BannerBarPropGetItemImage,\n BannerBarPropGetItemLabel,\n BannerBarPropGetItemOnClick,\n} from '##/components/BannerBar/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type MegaMenuPropOnItemClick<ITEM> = (params: {\n e: React.MouseEvent;\n item: ITEM;\n}) => void;\n\nexport type MegaMenuDefaultItem = {\n key: string | number;\n label: string;\n iconLeft?: IconComponent;\n as?: keyof JSX.IntrinsicElements;\n attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];\n subMenu?: MegaMenuDefaultItem[];\n onClick?: React.MouseEventHandler;\n};\n\nexport type MegaMenuPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type MegaMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MegaMenuPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type MegaMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\nexport type MegaMenuPropGetItemAs<ITEM> = (\n item: ITEM,\n) => keyof JSX.IntrinsicElements | undefined;\nexport type MegaMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;\nexport type MegaMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ItemMappers<ITEM = MegaMenuDefaultItem> = {\n getItemKey?: MegaMenuPropGetItemKey<ITEM>;\n getItemLabel?: MegaMenuPropGetItemLabel<ITEM>;\n getItemIconLeft?: MegaMenuPropGetItemIconLeft<ITEM>;\n getItemOnClick?: MegaMenuPropGetItemOnClick<ITEM>;\n getItemAs?: MegaMenuPropGetItemAs<ITEM>;\n getItemAttributes?: MegaMenuPropGetItemAttributes<ITEM>;\n getItemSubMenu?: MegaMenuPropGetItemSubMenu<ITEM>;\n};\n\nexport type BannerMappers<ITEM = BannerBarDefaultItem> = {\n getBannerLabel?: BannerBarPropGetItemLabel<ITEM>;\n getBannerOnClick?: BannerBarPropGetItemOnClick<ITEM>;\n getBannerDescription?: BannerBarPropGetItemDescription<ITEM>;\n getBannerImage?: BannerBarPropGetItemImage<ITEM>;\n getBannerAs?: BannerBarPropGetItemAs<ITEM>;\n getBannerAttributes?: BannerBarPropGetItemAttributes<ITEM>;\n};\n\nexport type MegaMenuProps<\n ITEM = MegaMenuDefaultItem,\n BANNER = BannerBarDefaultItem,\n> = PropsWithHTMLAttributesAndRef<\n {\n banners?: BANNER[];\n items: ITEM[];\n menuTitle?: string;\n menuShowButtonText?: string;\n menuHideButtonText?: string;\n menuMaxElements?: number;\n bannerPosition?: 'right' | 'bottom';\n onItemClick?: MegaMenuPropOnItemClick<ITEM>;\n onBannerClick?: MegaMenuPropOnItemClick<BANNER>;\n } & BannerMappers<BANNER> &\n ItemMappers<ITEM> &\n (ITEM extends { key: MegaMenuDefaultItem['key'] }\n ? {}\n : { getItemKey: MegaMenuPropGetItemKey<ITEM> }) &\n (ITEM extends { label: MegaMenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: MegaMenuPropGetItemLabel<ITEM> }) &\n (BANNER extends { label: BannerBarDefaultItem['label'] | unknown }\n ? {}\n : { getBannerLabel: BannerBarPropGetItemLabel<ITEM> }),\n HTMLDivElement\n>;\n\nexport type MegaMenuComponent = <\n ITEM = MegaMenuDefaultItem,\n BANNER = BannerBarDefaultItem,\n>(\n props: MegaMenuProps<ITEM, BANNER>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/MegaMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n MegaMenuBannerBarDefaultItem,\n MegaMenuBannerBarPropGetItemAs,\n MegaMenuBannerBarPropGetItemAttributes,\n MegaMenuBannerBarPropGetItemDescription,\n MegaMenuBannerBarPropGetItemImage,\n MegaMenuBannerBarPropGetItemLabel,\n MegaMenuBannerBarPropGetItemOnClick,\n} from './MegaMenuBannerBar';\n\nexport type MegaMenuPropOnItemClick<ITEM> = (params: {\n e: React.MouseEvent;\n item: ITEM;\n}) => void;\n\nexport type MegaMenuDefaultItem = {\n key: string | number;\n label: string;\n iconLeft?: IconComponent;\n as?: keyof JSX.IntrinsicElements;\n attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];\n subMenu?: MegaMenuDefaultItem[];\n onClick?: React.MouseEventHandler;\n};\n\nexport type MegaMenuPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type MegaMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MegaMenuPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type MegaMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\nexport type MegaMenuPropGetItemAs<ITEM> = (\n item: ITEM,\n) => keyof JSX.IntrinsicElements | undefined;\nexport type MegaMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;\nexport type MegaMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ItemMappers<ITEM = MegaMenuDefaultItem> = {\n getItemKey?: MegaMenuPropGetItemKey<ITEM>;\n getItemLabel?: MegaMenuPropGetItemLabel<ITEM>;\n getItemIconLeft?: MegaMenuPropGetItemIconLeft<ITEM>;\n getItemOnClick?: MegaMenuPropGetItemOnClick<ITEM>;\n getItemAs?: MegaMenuPropGetItemAs<ITEM>;\n getItemAttributes?: MegaMenuPropGetItemAttributes<ITEM>;\n getItemSubMenu?: MegaMenuPropGetItemSubMenu<ITEM>;\n};\n\nexport type BannerMappers<ITEM = MegaMenuBannerBarDefaultItem> = {\n getBannerLabel?: MegaMenuBannerBarPropGetItemLabel<ITEM>;\n getBannerOnClick?: MegaMenuBannerBarPropGetItemOnClick<ITEM>;\n getBannerDescription?: MegaMenuBannerBarPropGetItemDescription<ITEM>;\n getBannerImage?: MegaMenuBannerBarPropGetItemImage<ITEM>;\n getBannerAs?: MegaMenuBannerBarPropGetItemAs<ITEM>;\n getBannerAttributes?: MegaMenuBannerBarPropGetItemAttributes<ITEM>;\n};\n\nexport type MegaMenuProps<\n ITEM = MegaMenuDefaultItem,\n BANNER = MegaMenuBannerBarDefaultItem,\n> = PropsWithHTMLAttributesAndRef<\n {\n banners?: BANNER[];\n items: ITEM[];\n menuTitle?: string;\n menuShowButtonText?: string;\n menuHideButtonText?: string;\n menuMaxElements?: number;\n bannerPosition?: 'right' | 'bottom';\n onItemClick?: MegaMenuPropOnItemClick<ITEM>;\n onBannerClick?: MegaMenuPropOnItemClick<BANNER>;\n } & BannerMappers<BANNER> &\n ItemMappers<ITEM> &\n (ITEM extends { key: MegaMenuDefaultItem['key'] }\n ? {}\n : { getItemKey: MegaMenuPropGetItemKey<ITEM> }) &\n (ITEM extends { label: MegaMenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: MegaMenuPropGetItemLabel<ITEM> }) &\n (BANNER extends { label: MegaMenuBannerBarDefaultItem['label'] | unknown }\n ? {}\n : { getBannerLabel: MegaMenuBannerBarPropGetItemLabel<ITEM> }),\n HTMLDivElement\n>;\n\nexport type MegaMenuComponent = <\n ITEM = MegaMenuDefaultItem,\n BANNER = MegaMenuBannerBarDefaultItem,\n>(\n props: MegaMenuProps<ITEM, BANNER>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Menu.css";import{Button}from"@consta/uikit/Button";import{ContextMenu}from"@consta/uikit/ContextMenu";import{IconMeatball}from"@consta/uikit/IconMeatball";import{IconSelect}from"@consta/uikit/IconSelect";import{animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{useDebounce}from"@consta/uikit/useDebounce";import{useFlag}from"@consta/uikit/useFlag";import{useHideElementsInLine}from"@consta/uikit/useHideElementsInLine";import{useMutableRef}from"@consta/uikit/useMutableRef";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{getItemClick}from"../../helpers/getItemClick";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";export const cnMenu=cn("Menu");const MenuRender=(a,b)=>{var c;const d=withDefaultGetters(a),{items:e,className:f,width:g,getItemActive:h,getItemHref:i,getItemLabel:j,getItemOnClick:k,getItemTarget:l,getItemSubMenu:m,onItemClick:n}=d,o=_objectWithoutProperties(d,_excluded),[p,q]=useState(),[r,s]=useFlag(),{visibleItems:t,itemsRefs:u,wrapperRef:v,hiddenItems:w,moreRef:x}=useHideElementsInLine(e),y=useRef(null),z=useMutableRef(i),A=useMutableRef(l),B=useCallback(a=>z.current(a)?"a":"span",[]),C=useCallback(a=>{const b=z.current(a),c=A.current(a);return _objectSpread(_objectSpread({},b&&{href:z.current(a)}),c&&{href:A.current(a)})},[]),D="number"==typeof(null===(c=a.style)||void 0===c?void 0:c.zIndex)?a.style.zIndex+1:void 0;return useEffect(useDebounce(()=>{r||q(void 0)},animateTimeout),[r]),React.createElement("nav",Object.assign({},o,{className:cnMenu({width:g},[f]),onMouseLeave:s.off,onMouseEnter:s.on,ref:b}),React.createElement("ul",{className:cnMenu("List"),ref:v},e.map((a,b)=>{const c=j(a),d=i(a),e=d?l(a):void 0,f=h(a),g=d?"a":"span",o=m(a),r=p===b,s=!t[b];return React.createElement("li",{className:cnMenu("Item",{hidden:s,active:f,opened:r}),key:cnMenu("Item",{index:b}),ref:u[b],onMouseEnter:()=>q(b)},React.createElement(g,{className:cnMenu("Link"),href:d,target:e,onClick:getItemClick(a,k,n)},c),o&&React.createElement(IconSelect,{size:"s",className:cnMenu("Arrow")}),React.createElement(ContextMenu,{isOpen:o&&0<o.length&&r,items:o||[],getItemLabel:j,getItemSubMenu:m,anchorRef:u[b],onItemClick:({e:a,item:b})=>getItemClick(b,k,n)(a),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartLeft",getItemAs:B,getItemAttributes:C,style:{zIndex:D}}))}),0<w.length&&React.createElement("li",{className:cnMenu("Item"),key:cnMenu("Item",{more:!0}),ref:x,onMouseEnter:()=>q("more")},React.createElement(Button,{iconLeft:IconMeatball,ref:y,size:"xs",view:"clear"}),React.createElement(ContextMenu,{isOpen:"more"===p,items:w,getItemLabel:j,getItemSubMenu:m,anchorRef:y,onItemClick:({e:a,item:b})=>getItemClick(b,k,n)(a),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartRight",getItemAs:B,getItemAttributes:C,style:{zIndex:D},offset:8}))))};export const Menu=forwardRef(MenuRender);export*from"./types";
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Menu.css";import{IconMeatball}from"@consta/icons/IconMeatball";import{IconSelect}from"@consta/icons/IconSelect";import{Button}from"@consta/uikit/Button";import{ContextMenu}from"@consta/uikit/ContextMenu";import{animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{useDebounce}from"@consta/uikit/useDebounce";import{useFlag}from"@consta/uikit/useFlag";import{useHideElementsInLine}from"@consta/uikit/useHideElementsInLine";import{useMutableRef}from"@consta/uikit/useMutableRef";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{getItemClick}from"../../helpers/getItemClick";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";export const cnMenu=cn("Menu");const MenuRender=(a,b)=>{var c;const d=withDefaultGetters(a),{items:e,className:f,width:g,getItemActive:h,getItemHref:i,getItemLabel:j,getItemOnClick:k,getItemTarget:l,getItemSubMenu:m,onItemClick:n}=d,o=_objectWithoutProperties(d,_excluded),[p,q]=useState(),[r,s]=useFlag(),{visibleItems:t,itemsRefs:u,wrapperRef:v,hiddenItems:w,moreRef:x}=useHideElementsInLine(e),y=useRef(null),z=useMutableRef(i),A=useMutableRef(l),B=useCallback(a=>z.current(a)?"a":"span",[]),C=useCallback(a=>{const b=z.current(a),c=A.current(a);return _objectSpread(_objectSpread({},b&&{href:z.current(a)}),c&&{href:A.current(a)})},[]),D="number"==typeof(null===(c=a.style)||void 0===c?void 0:c.zIndex)?a.style.zIndex+1:void 0;return useEffect(useDebounce(()=>{r||q(void 0)},animateTimeout),[r]),React.createElement("nav",Object.assign({},o,{className:cnMenu({width:g},[f]),onMouseLeave:s.off,onMouseEnter:s.on,ref:b}),React.createElement("ul",{className:cnMenu("List"),ref:v},e.map((a,b)=>{const c=j(a),d=i(a),e=d?l(a):void 0,f=h(a),g=d?"a":"span",o=m(a),r=p===b,s=!t[b];return React.createElement("li",{className:cnMenu("Item",{hidden:s,active:f,opened:r}),key:cnMenu("Item",{index:b}),ref:u[b],onMouseEnter:()=>q(b)},React.createElement(g,{className:cnMenu("Link"),href:d,target:e,onClick:getItemClick(a,k,n)},c),o&&React.createElement(IconSelect,{size:"s",className:cnMenu("Arrow")}),React.createElement(ContextMenu,{isOpen:o&&0<o.length&&r,items:o||[],getItemLabel:j,getItemSubMenu:m,anchorRef:u[b],onItemClick:({e:a,item:b})=>getItemClick(b,k,n)(a),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartLeft",getItemAs:B,getItemAttributes:C,style:{zIndex:D}}))}),0<w.length&&React.createElement("li",{className:cnMenu("Item"),key:cnMenu("Item",{more:!0}),ref:x,onMouseEnter:()=>q("more")},React.createElement(Button,{iconLeft:IconMeatball,ref:y,size:"xs",view:"clear"}),React.createElement(ContextMenu,{isOpen:"more"===p,items:w,getItemLabel:j,getItemSubMenu:m,anchorRef:y,onItemClick:({e:a,item:b})=>getItemClick(b,k,n)(a),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartRight",getItemAs:B,getItemAttributes:C,style:{zIndex:D},offset:8}))))};export const Menu=forwardRef(MenuRender);export*from"./types";
2
2
  //# sourceMappingURL=Menu.js.map