@gravity-ui/blog-constructor 7.0.0-alpha.1 → 7.0.0-beta.1

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 (607) hide show
  1. package/build/cjs/blocks/Author/Author.d.ts +2 -3
  2. package/build/cjs/blocks/Author/Author.js +13 -13
  3. package/build/cjs/blocks/Author/Author.js.map +1 -0
  4. package/build/cjs/blocks/Author/schema.js +4 -3
  5. package/build/cjs/blocks/Author/schema.js.map +1 -0
  6. package/build/cjs/blocks/Banner/Banner.d.ts +2 -3
  7. package/build/cjs/blocks/Banner/Banner.js +11 -15
  8. package/build/cjs/blocks/Banner/Banner.js.map +1 -0
  9. package/build/cjs/blocks/Banner/schema.js +4 -3
  10. package/build/cjs/blocks/Banner/schema.js.map +1 -0
  11. package/build/cjs/blocks/CTA/CTA.d.ts +2 -3
  12. package/build/cjs/blocks/CTA/CTA.js +19 -20
  13. package/build/cjs/blocks/CTA/CTA.js.map +1 -0
  14. package/build/cjs/blocks/CTA/schema.js +4 -3
  15. package/build/cjs/blocks/CTA/schema.js.map +1 -0
  16. package/build/cjs/blocks/ColoredText/ColoredText.d.ts +2 -3
  17. package/build/cjs/blocks/ColoredText/ColoredText.js +9 -12
  18. package/build/cjs/blocks/ColoredText/ColoredText.js.map +1 -0
  19. package/build/cjs/blocks/ColoredText/schema.js +4 -3
  20. package/build/cjs/blocks/ColoredText/schema.js.map +1 -0
  21. package/build/cjs/blocks/Feed/Feed.d.ts +2 -3
  22. package/build/cjs/blocks/Feed/Feed.js +31 -31
  23. package/build/cjs/blocks/Feed/Feed.js.map +1 -0
  24. package/build/cjs/blocks/Feed/reducer.d.ts +1 -1
  25. package/build/cjs/blocks/Feed/reducer.js +3 -2
  26. package/build/cjs/blocks/Feed/reducer.js.map +1 -0
  27. package/build/cjs/blocks/Feed/schema.js +3 -2
  28. package/build/cjs/blocks/Feed/schema.js.map +1 -0
  29. package/build/cjs/blocks/Form/Form.d.ts +2 -3
  30. package/build/cjs/blocks/Form/Form.js +10 -10
  31. package/build/cjs/blocks/Form/Form.js.map +1 -0
  32. package/build/cjs/blocks/Form/schema.js +4 -3
  33. package/build/cjs/blocks/Form/schema.js.map +1 -0
  34. package/build/cjs/blocks/Header/Header.d.ts +2 -3
  35. package/build/cjs/blocks/Header/Header.js +18 -18
  36. package/build/cjs/blocks/Header/Header.js.map +1 -0
  37. package/build/cjs/blocks/Header/schema.d.ts +3 -0
  38. package/build/cjs/blocks/Header/schema.js +4 -3
  39. package/build/cjs/blocks/Header/schema.js.map +1 -0
  40. package/build/cjs/blocks/Layout/Layout.d.ts +3 -3
  41. package/build/cjs/blocks/Layout/Layout.js +12 -13
  42. package/build/cjs/blocks/Layout/Layout.js.map +1 -0
  43. package/build/cjs/blocks/Layout/schema.js +4 -3
  44. package/build/cjs/blocks/Layout/schema.js.map +1 -0
  45. package/build/cjs/blocks/Media/Media.d.ts +2 -3
  46. package/build/cjs/blocks/Media/Media.js +12 -15
  47. package/build/cjs/blocks/Media/Media.js.map +1 -0
  48. package/build/cjs/blocks/Media/schema.d.ts +3 -0
  49. package/build/cjs/blocks/Media/schema.js +4 -3
  50. package/build/cjs/blocks/Media/schema.js.map +1 -0
  51. package/build/cjs/blocks/Meta/Meta.d.ts +2 -3
  52. package/build/cjs/blocks/Meta/Meta.js +22 -23
  53. package/build/cjs/blocks/Meta/Meta.js.map +1 -0
  54. package/build/cjs/blocks/Meta/schema.js +4 -3
  55. package/build/cjs/blocks/Meta/schema.js.map +1 -0
  56. package/build/cjs/blocks/Suggest/Suggest.d.ts +2 -3
  57. package/build/cjs/blocks/Suggest/Suggest.js +15 -14
  58. package/build/cjs/blocks/Suggest/Suggest.js.map +1 -0
  59. package/build/cjs/blocks/Suggest/schema.js +4 -3
  60. package/build/cjs/blocks/Suggest/schema.js.map +1 -0
  61. package/build/cjs/blocks/YFM/YFM.d.ts +2 -3
  62. package/build/cjs/blocks/YFM/YFM.js +10 -11
  63. package/build/cjs/blocks/YFM/YFM.js.map +1 -0
  64. package/build/cjs/blocks/YFM/schema.js +4 -3
  65. package/build/cjs/blocks/YFM/schema.js.map +1 -0
  66. package/build/cjs/blocks/constants.js +2 -1
  67. package/build/cjs/blocks/constants.js.map +1 -0
  68. package/build/cjs/components/FeedHeader/FeedHeader.d.ts +3 -4
  69. package/build/cjs/components/FeedHeader/FeedHeader.js +10 -14
  70. package/build/cjs/components/FeedHeader/FeedHeader.js.map +1 -0
  71. package/build/cjs/components/FeedHeader/components/Controls/Controls.d.ts +4 -4
  72. package/build/cjs/components/FeedHeader/components/Controls/Controls.js +30 -40
  73. package/build/cjs/components/FeedHeader/components/Controls/Controls.js.map +1 -0
  74. package/build/cjs/components/FeedHeader/components/Controls/customRenders.d.ts +2 -3
  75. package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +13 -9
  76. package/build/cjs/components/FeedHeader/components/Controls/customRenders.js.map +1 -0
  77. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  78. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +5 -7
  79. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js.map +1 -0
  80. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
  81. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +2 -3
  82. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +13 -17
  83. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js.map +1 -0
  84. package/build/cjs/components/MetaWrapper/MetaWrapper.d.ts +1 -1
  85. package/build/cjs/components/MetaWrapper/MetaWrapper.js +4 -4
  86. package/build/cjs/components/MetaWrapper/MetaWrapper.js.map +1 -0
  87. package/build/cjs/components/Paginator/Paginator.d.ts +2 -3
  88. package/build/cjs/components/Paginator/Paginator.js +25 -29
  89. package/build/cjs/components/Paginator/Paginator.js.map +1 -0
  90. package/build/cjs/components/Paginator/components/NavigationButton.d.ts +2 -3
  91. package/build/cjs/components/Paginator/components/NavigationButton.js +7 -7
  92. package/build/cjs/components/Paginator/components/NavigationButton.js.map +1 -0
  93. package/build/cjs/components/Paginator/components/PaginatorItem.d.ts +2 -3
  94. package/build/cjs/components/Paginator/components/PaginatorItem.js +13 -11
  95. package/build/cjs/components/Paginator/components/PaginatorItem.js.map +1 -0
  96. package/build/cjs/components/Paginator/types.d.ts +3 -3
  97. package/build/cjs/components/Paginator/types.js +2 -1
  98. package/build/cjs/components/Paginator/types.js.map +1 -0
  99. package/build/cjs/components/Paginator/utils.d.ts +2 -2
  100. package/build/cjs/components/Paginator/utils.js +2 -1
  101. package/build/cjs/components/Paginator/utils.js.map +1 -0
  102. package/build/cjs/components/PostCard/PostCard.css +7 -8
  103. package/build/cjs/components/PostCard/PostCard.d.ts +2 -3
  104. package/build/cjs/components/PostCard/PostCard.js +16 -24
  105. package/build/cjs/components/PostCard/PostCard.js.map +1 -0
  106. package/build/cjs/components/PostInfo/PostInfo.d.ts +2 -3
  107. package/build/cjs/components/PostInfo/PostInfo.js +13 -15
  108. package/build/cjs/components/PostInfo/PostInfo.js.map +1 -0
  109. package/build/cjs/components/PostInfo/SuggestPostInfo.d.ts +2 -3
  110. package/build/cjs/components/PostInfo/SuggestPostInfo.js +12 -16
  111. package/build/cjs/components/PostInfo/SuggestPostInfo.js.map +1 -0
  112. package/build/cjs/components/PostInfo/components/Date.d.ts +2 -3
  113. package/build/cjs/components/PostInfo/components/Date.js +10 -8
  114. package/build/cjs/components/PostInfo/components/Date.js.map +1 -0
  115. package/build/cjs/components/PostInfo/components/ReadingTime.d.ts +2 -3
  116. package/build/cjs/components/PostInfo/components/ReadingTime.js +7 -10
  117. package/build/cjs/components/PostInfo/components/ReadingTime.js.map +1 -0
  118. package/build/cjs/components/PostInfo/components/Save.d.ts +2 -3
  119. package/build/cjs/components/PostInfo/components/Save.js +14 -16
  120. package/build/cjs/components/PostInfo/components/Save.js.map +1 -0
  121. package/build/cjs/components/PostInfo/components/Sharing.d.ts +1 -2
  122. package/build/cjs/components/PostInfo/components/Sharing.js +17 -17
  123. package/build/cjs/components/PostInfo/components/Sharing.js.map +1 -0
  124. package/build/cjs/components/Posts/Posts.d.ts +4 -4
  125. package/build/cjs/components/Posts/Posts.js +16 -28
  126. package/build/cjs/components/Posts/Posts.js.map +1 -0
  127. package/build/cjs/components/PostsEmpty/PostsEmpty.d.ts +1 -2
  128. package/build/cjs/components/PostsEmpty/PostsEmpty.js +6 -8
  129. package/build/cjs/components/PostsEmpty/PostsEmpty.js.map +1 -0
  130. package/build/cjs/components/PostsError/PostsError.d.ts +1 -2
  131. package/build/cjs/components/PostsError/PostsError.js +6 -10
  132. package/build/cjs/components/PostsError/PostsError.js.map +1 -0
  133. package/build/cjs/components/Prompt/Prompt.d.ts +1 -2
  134. package/build/cjs/components/Prompt/Prompt.js +10 -12
  135. package/build/cjs/components/Prompt/Prompt.js.map +1 -0
  136. package/build/cjs/components/PromptSignIn/PromptSignIn.d.ts +4 -4
  137. package/build/cjs/components/PromptSignIn/PromptSignIn.js +6 -5
  138. package/build/cjs/components/PromptSignIn/PromptSignIn.js.map +1 -0
  139. package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.d.ts +2 -2
  140. package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.js +6 -5
  141. package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.js.map +1 -0
  142. package/build/cjs/components/Search/Search.d.ts +2 -3
  143. package/build/cjs/components/Search/Search.js +17 -17
  144. package/build/cjs/components/Search/Search.js.map +1 -0
  145. package/build/cjs/components/Wrapper/Wrapper.d.ts +3 -3
  146. package/build/cjs/components/Wrapper/Wrapper.js +7 -7
  147. package/build/cjs/components/Wrapper/Wrapper.js.map +1 -0
  148. package/build/cjs/constants.d.ts +2 -2
  149. package/build/cjs/constants.js +4 -3
  150. package/build/cjs/constants.js.map +1 -0
  151. package/build/cjs/constructor/BlogConstructorProvider.d.ts +7 -7
  152. package/build/cjs/constructor/BlogConstructorProvider.js +21 -19
  153. package/build/cjs/constructor/BlogConstructorProvider.js.map +1 -0
  154. package/build/cjs/constructor/blocksMap.d.ts +12 -12
  155. package/build/cjs/constructor/blocksMap.js +15 -14
  156. package/build/cjs/constructor/blocksMap.js.map +1 -0
  157. package/build/cjs/containers/BlogPage/BlogPage.d.ts +4 -4
  158. package/build/cjs/containers/BlogPage/BlogPage.js +22 -25
  159. package/build/cjs/containers/BlogPage/BlogPage.js.map +1 -0
  160. package/build/cjs/containers/BlogPostPage/BlogPostPage.css +0 -8
  161. package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +6 -5
  162. package/build/cjs/containers/BlogPostPage/BlogPostPage.js +28 -30
  163. package/build/cjs/containers/BlogPostPage/BlogPostPage.js.map +1 -0
  164. package/build/cjs/contexts/DeviceContext.d.ts +2 -2
  165. package/build/cjs/contexts/DeviceContext.js +3 -2
  166. package/build/cjs/contexts/DeviceContext.js.map +1 -0
  167. package/build/cjs/contexts/FeedContext.d.ts +2 -2
  168. package/build/cjs/contexts/FeedContext.js +3 -2
  169. package/build/cjs/contexts/FeedContext.js.map +1 -0
  170. package/build/cjs/contexts/LikesContext.d.ts +2 -2
  171. package/build/cjs/contexts/LikesContext.js +3 -2
  172. package/build/cjs/contexts/LikesContext.js.map +1 -0
  173. package/build/cjs/contexts/LocaleContext.d.ts +2 -2
  174. package/build/cjs/contexts/LocaleContext.js +4 -3
  175. package/build/cjs/contexts/LocaleContext.js.map +1 -0
  176. package/build/cjs/contexts/MobileContext.d.ts +1 -1
  177. package/build/cjs/contexts/MobileContext.js +3 -2
  178. package/build/cjs/contexts/MobileContext.js.map +1 -0
  179. package/build/cjs/contexts/PostPageContext.d.ts +4 -2
  180. package/build/cjs/contexts/PostPageContext.js +3 -2
  181. package/build/cjs/contexts/PostPageContext.js.map +1 -0
  182. package/build/cjs/contexts/RouterContext.d.ts +2 -2
  183. package/build/cjs/contexts/RouterContext.js +3 -2
  184. package/build/cjs/contexts/RouterContext.js.map +1 -0
  185. package/build/cjs/contexts/SettingsContext.d.ts +1 -1
  186. package/build/cjs/contexts/SettingsContext.js +3 -2
  187. package/build/cjs/contexts/SettingsContext.js.map +1 -0
  188. package/build/cjs/contexts/theme/ThemeContext.d.ts +2 -2
  189. package/build/cjs/contexts/theme/ThemeContext.js +4 -3
  190. package/build/cjs/contexts/theme/ThemeContext.js.map +1 -0
  191. package/build/cjs/contexts/theme/ThemeProvider.d.ts +4 -4
  192. package/build/cjs/contexts/theme/ThemeProvider.js +9 -8
  193. package/build/cjs/contexts/theme/ThemeProvider.js.map +1 -0
  194. package/build/cjs/contexts/theme/ThemeValueContext.d.ts +1 -1
  195. package/build/cjs/contexts/theme/ThemeValueContext.js +3 -2
  196. package/build/cjs/contexts/theme/ThemeValueContext.js.map +1 -0
  197. package/build/cjs/contexts/theme/index.d.ts +6 -6
  198. package/build/cjs/contexts/theme/index.js +7 -6
  199. package/build/cjs/contexts/theme/index.js.map +1 -0
  200. package/build/cjs/contexts/theme/useTheme.d.ts +1 -1
  201. package/build/cjs/contexts/theme/useTheme.js +5 -5
  202. package/build/cjs/contexts/theme/useTheme.js.map +1 -0
  203. package/build/cjs/contexts/theme/useThemeValue.d.ts +1 -1
  204. package/build/cjs/contexts/theme/useThemeValue.js +5 -5
  205. package/build/cjs/contexts/theme/useThemeValue.js.map +1 -0
  206. package/build/cjs/contexts/theme/withTheme.d.ts +2 -2
  207. package/build/cjs/contexts/theme/withTheme.js +7 -6
  208. package/build/cjs/contexts/theme/withTheme.js.map +1 -0
  209. package/build/cjs/contexts/theme/withThemeValue.d.ts +2 -2
  210. package/build/cjs/contexts/theme/withThemeValue.js +7 -6
  211. package/build/cjs/contexts/theme/withThemeValue.js.map +1 -0
  212. package/build/cjs/counters/metrika.js +3 -3
  213. package/build/cjs/counters/metrika.js.map +1 -0
  214. package/build/cjs/counters/utils.js +2 -1
  215. package/build/cjs/counters/utils.js.map +1 -0
  216. package/build/cjs/hooks/useAriaAttributes.js +6 -4
  217. package/build/cjs/hooks/useAriaAttributes.js.map +1 -0
  218. package/build/cjs/hooks/useExtendedComponentMap.d.ts +18 -17
  219. package/build/cjs/hooks/useExtendedComponentMap.js +5 -4
  220. package/build/cjs/hooks/useExtendedComponentMap.js.map +1 -0
  221. package/build/cjs/hooks/useHover.d.ts +1 -1
  222. package/build/cjs/hooks/useHover.js +6 -6
  223. package/build/cjs/hooks/useHover.js.map +1 -0
  224. package/build/cjs/hooks/useIsIPhone.js +6 -4
  225. package/build/cjs/hooks/useIsIPhone.js.map +1 -0
  226. package/build/cjs/hooks/useLikes.d.ts +1 -1
  227. package/build/cjs/hooks/useLikes.js +8 -6
  228. package/build/cjs/hooks/useLikes.js.map +1 -0
  229. package/build/cjs/hooks/useOpenCloseTimer.js +6 -5
  230. package/build/cjs/hooks/useOpenCloseTimer.js.map +1 -0
  231. package/build/cjs/i18n/index.d.ts +5 -1
  232. package/build/cjs/i18n/index.js +3 -2
  233. package/build/cjs/i18n/index.js.map +1 -0
  234. package/build/cjs/icons/Close.d.ts +2 -2
  235. package/build/cjs/icons/Close.js +5 -6
  236. package/build/cjs/icons/Close.js.map +1 -0
  237. package/build/cjs/icons/DropdownArrow.d.ts +2 -2
  238. package/build/cjs/icons/DropdownArrow.js +5 -6
  239. package/build/cjs/icons/DropdownArrow.js.map +1 -0
  240. package/build/cjs/icons/Save.d.ts +2 -2
  241. package/build/cjs/icons/Save.js +5 -6
  242. package/build/cjs/icons/Save.js.map +1 -0
  243. package/build/cjs/icons/SaveFilled.d.ts +2 -2
  244. package/build/cjs/icons/SaveFilled.js +5 -6
  245. package/build/cjs/icons/SaveFilled.js.map +1 -0
  246. package/build/cjs/icons/SearchIcon.d.ts +2 -2
  247. package/build/cjs/icons/SearchIcon.js +5 -6
  248. package/build/cjs/icons/SearchIcon.js.map +1 -0
  249. package/build/cjs/icons/ShareArrowUp.d.ts +2 -2
  250. package/build/cjs/icons/ShareArrowUp.js +5 -6
  251. package/build/cjs/icons/ShareArrowUp.js.map +1 -0
  252. package/build/cjs/icons/Time.d.ts +2 -2
  253. package/build/cjs/icons/Time.js +5 -6
  254. package/build/cjs/icons/Time.js.map +1 -0
  255. package/build/cjs/index.d.ts +8 -7
  256. package/build/cjs/index.js +10 -8
  257. package/build/cjs/index.js.map +1 -0
  258. package/build/cjs/models/blocks.d.ts +4 -4
  259. package/build/cjs/models/blocks.js +2 -1
  260. package/build/cjs/models/blocks.js.map +1 -0
  261. package/build/cjs/models/common.d.ts +3 -3
  262. package/build/cjs/models/common.js +6 -5
  263. package/build/cjs/models/common.js.map +1 -0
  264. package/build/cjs/models/locale.js +2 -1
  265. package/build/cjs/models/locale.js.map +1 -0
  266. package/build/cjs/models/paddings.js +2 -1
  267. package/build/cjs/models/paddings.js.map +1 -0
  268. package/build/cjs/package.json +1 -0
  269. package/build/cjs/schema/blocks.d.ts +10 -10
  270. package/build/cjs/schema/blocks.js +11 -10
  271. package/build/cjs/schema/blocks.js.map +1 -0
  272. package/build/cjs/schema/common.js +2 -1
  273. package/build/cjs/schema/common.js.map +1 -0
  274. package/build/cjs/schema/headers.d.ts +1 -1
  275. package/build/cjs/schema/headers.js +2 -1
  276. package/build/cjs/schema/headers.js.map +1 -0
  277. package/build/cjs/schema/index.d.ts +8 -2
  278. package/build/cjs/schema/index.js +5 -4
  279. package/build/cjs/schema/index.js.map +1 -0
  280. package/build/cjs/schema/utils.d.ts +1 -1
  281. package/build/cjs/schema/utils.js +2 -1
  282. package/build/cjs/schema/utils.js.map +1 -0
  283. package/build/cjs/utils/cn.js +2 -1
  284. package/build/cjs/utils/cn.js.map +1 -0
  285. package/build/cjs/utils/common.d.ts +17 -18
  286. package/build/cjs/utils/common.js +7 -6
  287. package/build/cjs/utils/common.js.map +1 -0
  288. package/build/cjs/utils/date.js +2 -1
  289. package/build/cjs/utils/date.js.map +1 -0
  290. package/build/cjs/utils/index.d.ts +1 -0
  291. package/build/cjs/utils/index.js +6 -0
  292. package/build/cjs/utils/index.js.map +1 -0
  293. package/build/cjs/utils/svg.js +2 -1
  294. package/build/cjs/utils/svg.js.map +1 -0
  295. package/build/esm/blocks/Author/Author.d.ts +2 -3
  296. package/build/esm/blocks/Author/Author.js +13 -13
  297. package/build/esm/blocks/Author/Author.js.map +1 -0
  298. package/build/esm/blocks/Author/schema.js +4 -3
  299. package/build/esm/blocks/Author/schema.js.map +1 -0
  300. package/build/esm/blocks/Banner/Banner.d.ts +2 -3
  301. package/build/esm/blocks/Banner/Banner.js +11 -15
  302. package/build/esm/blocks/Banner/Banner.js.map +1 -0
  303. package/build/esm/blocks/Banner/schema.js +4 -3
  304. package/build/esm/blocks/Banner/schema.js.map +1 -0
  305. package/build/esm/blocks/CTA/CTA.d.ts +2 -3
  306. package/build/esm/blocks/CTA/CTA.js +19 -19
  307. package/build/esm/blocks/CTA/CTA.js.map +1 -0
  308. package/build/esm/blocks/CTA/schema.js +4 -3
  309. package/build/esm/blocks/CTA/schema.js.map +1 -0
  310. package/build/esm/blocks/ColoredText/ColoredText.d.ts +2 -3
  311. package/build/esm/blocks/ColoredText/ColoredText.js +9 -12
  312. package/build/esm/blocks/ColoredText/ColoredText.js.map +1 -0
  313. package/build/esm/blocks/ColoredText/schema.js +4 -3
  314. package/build/esm/blocks/ColoredText/schema.js.map +1 -0
  315. package/build/esm/blocks/Feed/Feed.d.ts +2 -3
  316. package/build/esm/blocks/Feed/Feed.js +31 -31
  317. package/build/esm/blocks/Feed/Feed.js.map +1 -0
  318. package/build/esm/blocks/Feed/reducer.d.ts +1 -1
  319. package/build/esm/blocks/Feed/reducer.js +2 -1
  320. package/build/esm/blocks/Feed/reducer.js.map +1 -0
  321. package/build/esm/blocks/Feed/schema.js +3 -2
  322. package/build/esm/blocks/Feed/schema.js.map +1 -0
  323. package/build/esm/blocks/Form/Form.d.ts +2 -3
  324. package/build/esm/blocks/Form/Form.js +10 -10
  325. package/build/esm/blocks/Form/Form.js.map +1 -0
  326. package/build/esm/blocks/Form/schema.js +4 -3
  327. package/build/esm/blocks/Form/schema.js.map +1 -0
  328. package/build/esm/blocks/Header/Header.d.ts +2 -3
  329. package/build/esm/blocks/Header/Header.js +18 -18
  330. package/build/esm/blocks/Header/Header.js.map +1 -0
  331. package/build/esm/blocks/Header/schema.d.ts +3 -0
  332. package/build/esm/blocks/Header/schema.js +4 -3
  333. package/build/esm/blocks/Header/schema.js.map +1 -0
  334. package/build/esm/blocks/Layout/Layout.d.ts +3 -3
  335. package/build/esm/blocks/Layout/Layout.js +12 -13
  336. package/build/esm/blocks/Layout/Layout.js.map +1 -0
  337. package/build/esm/blocks/Layout/schema.js +4 -3
  338. package/build/esm/blocks/Layout/schema.js.map +1 -0
  339. package/build/esm/blocks/Media/Media.d.ts +2 -3
  340. package/build/esm/blocks/Media/Media.js +12 -15
  341. package/build/esm/blocks/Media/Media.js.map +1 -0
  342. package/build/esm/blocks/Media/schema.d.ts +3 -0
  343. package/build/esm/blocks/Media/schema.js +4 -3
  344. package/build/esm/blocks/Media/schema.js.map +1 -0
  345. package/build/esm/blocks/Meta/Meta.d.ts +2 -3
  346. package/build/esm/blocks/Meta/Meta.js +22 -23
  347. package/build/esm/blocks/Meta/Meta.js.map +1 -0
  348. package/build/esm/blocks/Meta/schema.js +4 -3
  349. package/build/esm/blocks/Meta/schema.js.map +1 -0
  350. package/build/esm/blocks/Suggest/Suggest.d.ts +2 -3
  351. package/build/esm/blocks/Suggest/Suggest.js +15 -14
  352. package/build/esm/blocks/Suggest/Suggest.js.map +1 -0
  353. package/build/esm/blocks/Suggest/schema.js +4 -3
  354. package/build/esm/blocks/Suggest/schema.js.map +1 -0
  355. package/build/esm/blocks/YFM/YFM.d.ts +2 -3
  356. package/build/esm/blocks/YFM/YFM.js +10 -10
  357. package/build/esm/blocks/YFM/YFM.js.map +1 -0
  358. package/build/esm/blocks/YFM/schema.js +4 -3
  359. package/build/esm/blocks/YFM/schema.js.map +1 -0
  360. package/build/esm/blocks/constants.js +2 -1
  361. package/build/esm/blocks/constants.js.map +1 -0
  362. package/build/esm/components/FeedHeader/FeedHeader.d.ts +3 -4
  363. package/build/esm/components/FeedHeader/FeedHeader.js +10 -13
  364. package/build/esm/components/FeedHeader/FeedHeader.js.map +1 -0
  365. package/build/esm/components/FeedHeader/components/Controls/Controls.d.ts +4 -4
  366. package/build/esm/components/FeedHeader/components/Controls/Controls.js +30 -40
  367. package/build/esm/components/FeedHeader/components/Controls/Controls.js.map +1 -0
  368. package/build/esm/components/FeedHeader/components/Controls/customRenders.d.ts +2 -3
  369. package/build/esm/components/FeedHeader/components/Controls/customRenders.js +12 -8
  370. package/build/esm/components/FeedHeader/components/Controls/customRenders.js.map +1 -0
  371. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  372. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +4 -5
  373. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js.map +1 -0
  374. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
  375. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +2 -3
  376. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +13 -17
  377. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js.map +1 -0
  378. package/build/esm/components/MetaWrapper/MetaWrapper.d.ts +1 -1
  379. package/build/esm/components/MetaWrapper/MetaWrapper.js +3 -2
  380. package/build/esm/components/MetaWrapper/MetaWrapper.js.map +1 -0
  381. package/build/esm/components/Paginator/Paginator.d.ts +2 -3
  382. package/build/esm/components/Paginator/Paginator.js +25 -29
  383. package/build/esm/components/Paginator/Paginator.js.map +1 -0
  384. package/build/esm/components/Paginator/components/NavigationButton.d.ts +2 -3
  385. package/build/esm/components/Paginator/components/NavigationButton.js +6 -5
  386. package/build/esm/components/Paginator/components/NavigationButton.js.map +1 -0
  387. package/build/esm/components/Paginator/components/PaginatorItem.d.ts +2 -3
  388. package/build/esm/components/Paginator/components/PaginatorItem.js +13 -11
  389. package/build/esm/components/Paginator/components/PaginatorItem.js.map +1 -0
  390. package/build/esm/components/Paginator/types.d.ts +3 -3
  391. package/build/esm/components/Paginator/types.js +2 -1
  392. package/build/esm/components/Paginator/types.js.map +1 -0
  393. package/build/esm/components/Paginator/utils.d.ts +2 -2
  394. package/build/esm/components/Paginator/utils.js +2 -1
  395. package/build/esm/components/Paginator/utils.js.map +1 -0
  396. package/build/esm/components/PostCard/PostCard.css +7 -8
  397. package/build/esm/components/PostCard/PostCard.d.ts +2 -3
  398. package/build/esm/components/PostCard/PostCard.js +17 -25
  399. package/build/esm/components/PostCard/PostCard.js.map +1 -0
  400. package/build/esm/components/PostInfo/PostInfo.d.ts +2 -3
  401. package/build/esm/components/PostInfo/PostInfo.js +13 -15
  402. package/build/esm/components/PostInfo/PostInfo.js.map +1 -0
  403. package/build/esm/components/PostInfo/SuggestPostInfo.d.ts +2 -3
  404. package/build/esm/components/PostInfo/SuggestPostInfo.js +12 -15
  405. package/build/esm/components/PostInfo/SuggestPostInfo.js.map +1 -0
  406. package/build/esm/components/PostInfo/components/Date.d.ts +2 -3
  407. package/build/esm/components/PostInfo/components/Date.js +10 -8
  408. package/build/esm/components/PostInfo/components/Date.js.map +1 -0
  409. package/build/esm/components/PostInfo/components/ReadingTime.d.ts +2 -3
  410. package/build/esm/components/PostInfo/components/ReadingTime.js +6 -8
  411. package/build/esm/components/PostInfo/components/ReadingTime.js.map +1 -0
  412. package/build/esm/components/PostInfo/components/Save.d.ts +2 -3
  413. package/build/esm/components/PostInfo/components/Save.js +14 -16
  414. package/build/esm/components/PostInfo/components/Save.js.map +1 -0
  415. package/build/esm/components/PostInfo/components/Sharing.d.ts +1 -2
  416. package/build/esm/components/PostInfo/components/Sharing.js +17 -17
  417. package/build/esm/components/PostInfo/components/Sharing.js.map +1 -0
  418. package/build/esm/components/Posts/Posts.d.ts +4 -4
  419. package/build/esm/components/Posts/Posts.js +15 -26
  420. package/build/esm/components/Posts/Posts.js.map +1 -0
  421. package/build/esm/components/PostsEmpty/PostsEmpty.d.ts +1 -2
  422. package/build/esm/components/PostsEmpty/PostsEmpty.js +5 -6
  423. package/build/esm/components/PostsEmpty/PostsEmpty.js.map +1 -0
  424. package/build/esm/components/PostsError/PostsError.d.ts +1 -2
  425. package/build/esm/components/PostsError/PostsError.js +6 -9
  426. package/build/esm/components/PostsError/PostsError.js.map +1 -0
  427. package/build/esm/components/Prompt/Prompt.d.ts +1 -2
  428. package/build/esm/components/Prompt/Prompt.js +10 -12
  429. package/build/esm/components/Prompt/Prompt.js.map +1 -0
  430. package/build/esm/components/PromptSignIn/PromptSignIn.d.ts +4 -4
  431. package/build/esm/components/PromptSignIn/PromptSignIn.js +6 -5
  432. package/build/esm/components/PromptSignIn/PromptSignIn.js.map +1 -0
  433. package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.d.ts +2 -2
  434. package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.js +5 -4
  435. package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.js.map +1 -0
  436. package/build/esm/components/Search/Search.d.ts +2 -3
  437. package/build/esm/components/Search/Search.js +17 -17
  438. package/build/esm/components/Search/Search.js.map +1 -0
  439. package/build/esm/components/Wrapper/Wrapper.d.ts +3 -3
  440. package/build/esm/components/Wrapper/Wrapper.js +6 -5
  441. package/build/esm/components/Wrapper/Wrapper.js.map +1 -0
  442. package/build/esm/constants.d.ts +2 -2
  443. package/build/esm/constants.js +3 -2
  444. package/build/esm/constants.js.map +1 -0
  445. package/build/esm/constructor/BlogConstructorProvider.d.ts +7 -7
  446. package/build/esm/constructor/BlogConstructorProvider.js +20 -18
  447. package/build/esm/constructor/BlogConstructorProvider.js.map +1 -0
  448. package/build/esm/constructor/blocksMap.d.ts +12 -12
  449. package/build/esm/constructor/blocksMap.js +15 -14
  450. package/build/esm/constructor/blocksMap.js.map +1 -0
  451. package/build/esm/containers/BlogPage/BlogPage.d.ts +4 -4
  452. package/build/esm/containers/BlogPage/BlogPage.js +22 -25
  453. package/build/esm/containers/BlogPage/BlogPage.js.map +1 -0
  454. package/build/esm/containers/BlogPostPage/BlogPostPage.css +0 -8
  455. package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +6 -5
  456. package/build/esm/containers/BlogPostPage/BlogPostPage.js +28 -30
  457. package/build/esm/containers/BlogPostPage/BlogPostPage.js.map +1 -0
  458. package/build/esm/contexts/DeviceContext.d.ts +2 -2
  459. package/build/esm/contexts/DeviceContext.js +3 -2
  460. package/build/esm/contexts/DeviceContext.js.map +1 -0
  461. package/build/esm/contexts/FeedContext.d.ts +2 -2
  462. package/build/esm/contexts/FeedContext.js +3 -2
  463. package/build/esm/contexts/FeedContext.js.map +1 -0
  464. package/build/esm/contexts/LikesContext.d.ts +2 -2
  465. package/build/esm/contexts/LikesContext.js +3 -2
  466. package/build/esm/contexts/LikesContext.js.map +1 -0
  467. package/build/esm/contexts/LocaleContext.d.ts +2 -2
  468. package/build/esm/contexts/LocaleContext.js +3 -2
  469. package/build/esm/contexts/LocaleContext.js.map +1 -0
  470. package/build/esm/contexts/MobileContext.d.ts +1 -1
  471. package/build/esm/contexts/MobileContext.js +3 -2
  472. package/build/esm/contexts/MobileContext.js.map +1 -0
  473. package/build/esm/contexts/PostPageContext.d.ts +4 -2
  474. package/build/esm/contexts/PostPageContext.js +3 -2
  475. package/build/esm/contexts/PostPageContext.js.map +1 -0
  476. package/build/esm/contexts/RouterContext.d.ts +2 -2
  477. package/build/esm/contexts/RouterContext.js +3 -2
  478. package/build/esm/contexts/RouterContext.js.map +1 -0
  479. package/build/esm/contexts/SettingsContext.d.ts +1 -1
  480. package/build/esm/contexts/SettingsContext.js +3 -2
  481. package/build/esm/contexts/SettingsContext.js.map +1 -0
  482. package/build/esm/contexts/theme/ThemeContext.d.ts +2 -2
  483. package/build/esm/contexts/theme/ThemeContext.js +4 -3
  484. package/build/esm/contexts/theme/ThemeContext.js.map +1 -0
  485. package/build/esm/contexts/theme/ThemeProvider.d.ts +4 -4
  486. package/build/esm/contexts/theme/ThemeProvider.js +8 -7
  487. package/build/esm/contexts/theme/ThemeProvider.js.map +1 -0
  488. package/build/esm/contexts/theme/ThemeValueContext.d.ts +1 -1
  489. package/build/esm/contexts/theme/ThemeValueContext.js +3 -2
  490. package/build/esm/contexts/theme/ThemeValueContext.js.map +1 -0
  491. package/build/esm/contexts/theme/index.d.ts +6 -6
  492. package/build/esm/contexts/theme/index.js +7 -6
  493. package/build/esm/contexts/theme/index.js.map +1 -0
  494. package/build/esm/contexts/theme/useTheme.d.ts +1 -1
  495. package/build/esm/contexts/theme/useTheme.js +4 -3
  496. package/build/esm/contexts/theme/useTheme.js.map +1 -0
  497. package/build/esm/contexts/theme/useThemeValue.d.ts +1 -1
  498. package/build/esm/contexts/theme/useThemeValue.js +4 -3
  499. package/build/esm/contexts/theme/useThemeValue.js.map +1 -0
  500. package/build/esm/contexts/theme/withTheme.d.ts +2 -2
  501. package/build/esm/contexts/theme/withTheme.js +6 -4
  502. package/build/esm/contexts/theme/withTheme.js.map +1 -0
  503. package/build/esm/contexts/theme/withThemeValue.d.ts +2 -2
  504. package/build/esm/contexts/theme/withThemeValue.js +6 -4
  505. package/build/esm/contexts/theme/withThemeValue.js.map +1 -0
  506. package/build/esm/counters/metrika.js +2 -1
  507. package/build/esm/counters/metrika.js.map +1 -0
  508. package/build/esm/counters/utils.js +2 -1
  509. package/build/esm/counters/utils.js.map +1 -0
  510. package/build/esm/hooks/useAriaAttributes.js +5 -4
  511. package/build/esm/hooks/useAriaAttributes.js.map +1 -0
  512. package/build/esm/hooks/useExtendedComponentMap.d.ts +18 -17
  513. package/build/esm/hooks/useExtendedComponentMap.js +4 -3
  514. package/build/esm/hooks/useExtendedComponentMap.js.map +1 -0
  515. package/build/esm/hooks/useHover.d.ts +1 -1
  516. package/build/esm/hooks/useHover.js +3 -2
  517. package/build/esm/hooks/useHover.js.map +1 -0
  518. package/build/esm/hooks/useIsIPhone.js +5 -4
  519. package/build/esm/hooks/useIsIPhone.js.map +1 -0
  520. package/build/esm/hooks/useLikes.d.ts +1 -1
  521. package/build/esm/hooks/useLikes.js +7 -6
  522. package/build/esm/hooks/useLikes.js.map +1 -0
  523. package/build/esm/hooks/useOpenCloseTimer.js +5 -4
  524. package/build/esm/hooks/useOpenCloseTimer.js.map +1 -0
  525. package/build/esm/i18n/index.d.ts +5 -1
  526. package/build/esm/i18n/index.js +2 -1
  527. package/build/esm/i18n/index.js.map +1 -0
  528. package/build/esm/icons/Close.d.ts +2 -2
  529. package/build/esm/icons/Close.js +4 -4
  530. package/build/esm/icons/Close.js.map +1 -0
  531. package/build/esm/icons/DropdownArrow.d.ts +2 -2
  532. package/build/esm/icons/DropdownArrow.js +4 -4
  533. package/build/esm/icons/DropdownArrow.js.map +1 -0
  534. package/build/esm/icons/Save.d.ts +2 -2
  535. package/build/esm/icons/Save.js +4 -4
  536. package/build/esm/icons/Save.js.map +1 -0
  537. package/build/esm/icons/SaveFilled.d.ts +2 -2
  538. package/build/esm/icons/SaveFilled.js +4 -4
  539. package/build/esm/icons/SaveFilled.js.map +1 -0
  540. package/build/esm/icons/SearchIcon.d.ts +2 -2
  541. package/build/esm/icons/SearchIcon.js +4 -4
  542. package/build/esm/icons/SearchIcon.js.map +1 -0
  543. package/build/esm/icons/ShareArrowUp.d.ts +2 -2
  544. package/build/esm/icons/ShareArrowUp.js +4 -4
  545. package/build/esm/icons/ShareArrowUp.js.map +1 -0
  546. package/build/esm/icons/Time.d.ts +2 -2
  547. package/build/esm/icons/Time.js +4 -4
  548. package/build/esm/icons/Time.js.map +1 -0
  549. package/build/esm/index.d.ts +8 -7
  550. package/build/esm/index.js +9 -7
  551. package/build/esm/index.js.map +1 -0
  552. package/build/esm/models/blocks.d.ts +4 -4
  553. package/build/esm/models/blocks.js +2 -1
  554. package/build/esm/models/blocks.js.map +1 -0
  555. package/build/esm/models/common.d.ts +3 -3
  556. package/build/esm/models/common.js +2 -1
  557. package/build/esm/models/common.js.map +1 -0
  558. package/build/esm/models/locale.js +2 -1
  559. package/build/esm/models/locale.js.map +1 -0
  560. package/build/esm/models/paddings.js +2 -1
  561. package/build/esm/models/paddings.js.map +1 -0
  562. package/build/esm/package.json +1 -0
  563. package/build/esm/schema/blocks.d.ts +10 -10
  564. package/build/esm/schema/blocks.js +11 -10
  565. package/build/esm/schema/blocks.js.map +1 -0
  566. package/build/esm/schema/common.js +2 -1
  567. package/build/esm/schema/common.js.map +1 -0
  568. package/build/esm/schema/headers.d.ts +1 -1
  569. package/build/esm/schema/headers.js +2 -1
  570. package/build/esm/schema/headers.js.map +1 -0
  571. package/build/esm/schema/index.d.ts +8 -2
  572. package/build/esm/schema/index.js +5 -4
  573. package/build/esm/schema/index.js.map +1 -0
  574. package/build/esm/schema/utils.d.ts +1 -1
  575. package/build/esm/schema/utils.js +2 -1
  576. package/build/esm/schema/utils.js.map +1 -0
  577. package/build/esm/utils/cn.js +2 -1
  578. package/build/esm/utils/cn.js.map +1 -0
  579. package/build/esm/utils/common.d.ts +17 -18
  580. package/build/esm/utils/common.js +5 -4
  581. package/build/esm/utils/common.js.map +1 -0
  582. package/build/esm/utils/date.js +2 -1
  583. package/build/esm/utils/date.js.map +1 -0
  584. package/build/esm/utils/index.d.ts +1 -0
  585. package/build/esm/utils/index.js +2 -0
  586. package/build/esm/utils/index.js.map +1 -0
  587. package/build/esm/utils/svg.js +2 -1
  588. package/build/esm/utils/svg.js.map +1 -0
  589. package/package.json +37 -24
  590. package/server/data/config.js +1 -1
  591. package/server/data/contentFilter.js +5 -3
  592. package/server/data/createReadableContent.js +1 -1
  593. package/server/data/sanitizeMeta.d.ts +5 -5
  594. package/server/data/sanitizeMeta.js +1 -1
  595. package/server/data/transformPageContent.js +5 -3
  596. package/server/data/transformPost.js +15 -4
  597. package/server/index.d.ts +4 -4
  598. package/server/models/blocks.d.ts +2 -2
  599. package/server/models/blocks.js +1 -1
  600. package/server/models/common.d.ts +2 -2
  601. package/server/models/common.js +5 -5
  602. package/server/models/locale.js +1 -1
  603. package/server/models/paddings.js +1 -1
  604. package/styles/storybook/common.scss +7 -0
  605. package/styles/styles.css +0 -8
  606. package/styles/yfm.css +0 -8
  607. package/styles/yfm.scss +0 -9
@@ -1,31 +1,32 @@
1
- import React, { useContext, useMemo, useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
2
3
  import { useAnalytics } from '@gravity-ui/page-constructor';
3
4
  import { Button, Icon, Select } from '@gravity-ui/uikit';
4
- import { DefaultGoalIds } from '../../../../constants';
5
- import { LikesContext } from '../../../../contexts/LikesContext';
6
- import { MobileContext } from '../../../../contexts/MobileContext';
7
- import { AnalyticsCounter } from '../../../../counters/utils';
8
- import { Keyset, i18n } from '../../../../i18n';
9
- import { Save } from '../../../../icons/Save';
10
- import { DefaultEventNames } from '../../../../models/common';
11
- import { block } from '../../../../utils/cn';
12
- import { Search } from '../../../Search/Search';
13
- import { prepareAnalyticsEvent } from '../../../../utils/common';
14
- import { renderFilter, renderOption, renderSwitcher } from './customRenders';
5
+ import { DefaultGoalIds } from "../../../../constants.js";
6
+ import { LikesContext } from "../../../../contexts/LikesContext.js";
7
+ import { MobileContext } from "../../../../contexts/MobileContext.js";
8
+ import { AnalyticsCounter } from "../../../../counters/utils.js";
9
+ import { Keyset, i18n } from "../../../../i18n/index.js";
10
+ import { Save } from "../../../../icons/Save.js";
11
+ import { DefaultEventNames } from "../../../../models/common.js";
12
+ import { block } from "../../../../utils/cn.js";
13
+ import { Search } from "../../../Search/Search.js";
14
+ import { prepareAnalyticsEvent } from "../../../../utils/common.js";
15
+ import { renderFilter, renderOption, renderSwitcher } from "./customRenders.js";
15
16
  import './Controls.css';
16
17
  const b = block('feed-controls');
17
18
  const ICON_SIZE = 16;
18
19
  const DEFAULT_PAGE = 1;
19
20
  const VIRTUALIZATION_THRESHOLD = 1000;
20
21
  export const Controls = ({ handleLoadData, tags = [], services = [], queryParams, }) => {
21
- const { hasLikes } = useContext(LikesContext);
22
+ const { hasLikes } = React.useContext(LikesContext);
22
23
  const handleAnalyticsTag = useAnalytics(DefaultEventNames.Tag);
23
24
  const handleAnalyticsService = useAnalytics(DefaultEventNames.Service);
24
25
  const handleAnalyticsSaveOnly = useAnalytics(DefaultEventNames.SaveOnly);
25
26
  const { savedOnly: savedOnlyInitial, search: searchInitial, tags: tagInitial, services: servicesInitial, } = queryParams || {};
26
- const [savedOnly, setSavedOnly] = useState(savedOnlyInitial === 'true');
27
- const [search, setSearch] = useState(searchInitial);
28
- const isMobile = useContext(MobileContext);
27
+ const [savedOnly, setSavedOnly] = React.useState(savedOnlyInitial === 'true');
28
+ const [search, setSearch] = React.useState(searchInitial);
29
+ const isMobile = React.useContext(MobileContext);
29
30
  const handleSavedOnly = () => {
30
31
  handleAnalyticsSaveOnly();
31
32
  setSavedOnly(!savedOnly);
@@ -84,27 +85,16 @@ export const Controls = ({ handleLoadData, tags = [], services = [], queryParams
84
85
  query: { services: servicesAsString, page: DEFAULT_PAGE },
85
86
  });
86
87
  };
87
- const tagsItems = useMemo(() => [{ value: 'empty', content: i18n(Keyset.AllTags) }, ...tags], [tags]);
88
- const servicesItems = useMemo(() => (servicesInitial ? [...servicesInitial.split(',')] : []), [servicesInitial]);
89
- return (React.createElement("div", { className: b('header') },
90
- React.createElement("h1", { className: b('header-item', { title: true }) }, i18n(Keyset.Title)),
91
- React.createElement("div", { className: b('header-item', { filters: true }) },
92
- React.createElement("div", { className: b('filter-item') },
93
- React.createElement(Search, { className: b('search'), placeholder: i18n(Keyset.Search), initialValue: search && typeof search === 'string' ? search : '', onSubmit: handleSearch })),
94
- React.createElement("div", { className: b('filter-item') },
95
- React.createElement(Select, { className: b('select'), size: "xl", options: tagsItems, defaultValue: [tagInitial], onUpdate: handleTagSelect, placeholder: i18n(Keyset.AllTags), popupClassName: b('popup', { isMobile }), renderControl: renderSwitcher({
96
- initial: [tagInitial],
97
- list: tagsItems,
98
- defaultLabel: i18n(Keyset.AllTags),
99
- }), disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: renderOption })),
100
- services.length > 0 ? (React.createElement("div", { className: b('filter-item') },
101
- React.createElement(Select, { className: b('select'), size: "xl", multiple: true, filterable: true, hasClear: true, disablePortal: true, options: services, defaultValue: servicesItems, popupClassName: b('popup', { isMobile }), onUpdate: handleServicesSelect, placeholder: i18n(Keyset.AllServices), renderControl: renderSwitcher({
102
- initial: servicesItems,
103
- list: services,
104
- defaultLabel: i18n(Keyset.AllServices),
105
- }), virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: renderOption, renderFilter: renderFilter }))) : null,
106
- hasLikes ? (React.createElement("div", { className: b('filter-item', { 'width-auto': true }) },
107
- React.createElement(Button, { view: 'outlined', className: b('saved-only-button', { savedOnly }), size: "xl", onClick: handleSavedOnly, selected: savedOnly },
108
- React.createElement(Icon, { data: Save, size: ICON_SIZE, className: b('icon', { savedOnly }) }),
109
- i18n(Keyset.ActionSavedOnly)))) : null)));
110
- };
88
+ const tagsItems = React.useMemo(() => [{ value: 'empty', content: i18n(Keyset.AllTags) }, ...tags], [tags]);
89
+ const servicesItems = React.useMemo(() => (servicesInitial ? [...servicesInitial.split(',')] : []), [servicesInitial]);
90
+ return (_jsxs("div", { className: b('header'), children: [_jsx("h1", { className: b('header-item', { title: true }), children: i18n(Keyset.Title) }), _jsxs("div", { className: b('header-item', { filters: true }), children: [_jsx("div", { className: b('filter-item'), children: _jsx(Search, { className: b('search'), placeholder: i18n(Keyset.Search), initialValue: search && typeof search === 'string' ? search : '', onSubmit: handleSearch }) }), _jsx("div", { className: b('filter-item'), children: _jsx(Select, { className: b('select'), size: "xl", options: tagsItems, defaultValue: [tagInitial], onUpdate: handleTagSelect, placeholder: i18n(Keyset.AllTags), popupClassName: b('popup', { isMobile }), renderControl: renderSwitcher({
91
+ initial: [tagInitial],
92
+ list: tagsItems,
93
+ defaultLabel: i18n(Keyset.AllTags),
94
+ }), disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: renderOption }) }), services.length > 0 ? (_jsx("div", { className: b('filter-item'), children: _jsx(Select, { className: b('select'), size: "xl", multiple: true, filterable: true, hasClear: true, disablePortal: true, options: services, defaultValue: servicesItems, popupClassName: b('popup', { isMobile }), onUpdate: handleServicesSelect, placeholder: i18n(Keyset.AllServices), renderControl: renderSwitcher({
95
+ initial: servicesItems,
96
+ list: services,
97
+ defaultLabel: i18n(Keyset.AllServices),
98
+ }), virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: renderOption, renderFilter: renderFilter }) })) : null, hasLikes ? (_jsx("div", { className: b('filter-item', { 'width-auto': true }), children: _jsxs(Button, { view: 'outlined', className: b('saved-only-button', { savedOnly }), size: "xl", onClick: handleSavedOnly, selected: savedOnly, children: [_jsx(Icon, { data: Save, size: ICON_SIZE, className: b('icon', { savedOnly }) }), i18n(Keyset.ActionSavedOnly)] }) })) : null] })] }));
99
+ };
100
+ //# sourceMappingURL=Controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Controls.js","sourceRoot":"../../../../../../src","sources":["components/FeedHeader/components/Controls/Controls.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAC,cAAc,EAAC,iCAA8B;AACrD,OAAO,EAAC,YAAY,EAAC,6CAA0C;AAC/D,OAAO,EAAC,aAAa,EAAC,8CAA2C;AACjE,OAAO,EAAC,gBAAgB,EAAC,sCAAmC;AAC5D,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,kCAAyB;AAC9C,OAAO,EAAC,IAAI,EAAC,kCAA+B;AAC5C,OAAO,EAAC,iBAAiB,EAAmB,qCAAkC;AAC9E,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAC3C,OAAO,EAAC,MAAM,EAAC,kCAA+B;AAC9C,OAAO,EAAC,qBAAqB,EAAC,oCAAiC;AAE/D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAC,2BAAwB;AAE3E,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AAejC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACrB,cAAc,EACd,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,EAAE,EACb,WAAW,GACC,EAAE,EAAE;IAChB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,sBAAsB,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,uBAAuB,GAAG,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzE,MAAM,EACF,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,eAAe,GAC5B,GAAG,WAAW,IAAI,EAAE,CAAC;IAEtB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,gBAAgB,KAAK,MAAM,CAAC,CAAC;IACvF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,aAAuB,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,uBAAuB,EAAE,CAAC;QAC1B,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;QACzB,cAAc,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE;gBACH,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;gBAClC,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,EAAE;aACf;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,EAAE;QACzC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEvB,cAAc,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAC;SACnD,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,YAAsB,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,qBAAqB,CAAC;YAChC,IAAI,EAAE,cAAc,CAAC,GAAG;YACxB,OAAO,EAAE,gBAAgB,CAAC,SAAS;SACtC,CAAC,CAAC;QACH,kBAAkB,CAAC,KAAK,EAAE;YACtB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;SACzB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;QAE/D,cAAc,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE;gBACH,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACvC,IAAI,EAAE,YAAY;aACrB;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,gBAA0B,EAAE,EAAE;QACxD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACrD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,MAAM,4BAA4B,GAAG,oBAAoB;aACpD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;aACjC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,qBAAqB,CAAC;YAChC,IAAI,EAAE,cAAc,CAAC,OAAO;YAC5B,OAAO,EAAE,gBAAgB,CAAC,SAAS;SACtC,CAAC,CAAC;QACH,sBAAsB,CAAC,KAAK,EAAE;YAC1B,OAAO,EAAE,4BAA4B;SACxC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpD,cAAc,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAC;SAC1D,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAA0B,EAAE,GAAG,IAAI,CAAC,EACzF,CAAC,IAAI,CAAC,CACT,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAI,eAA0B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1E,CAAC,eAAe,CAAC,CACpB,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACvB,aAAI,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,YAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAM,EACzE,eAAK,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,aAC7C,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAC5B,KAAC,MAAM,IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAChC,YAAY,EAAE,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAChE,QAAQ,EAAE,YAAY,GACxB,GACA,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAC5B,KAAC,MAAM,IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,CAAC,UAAU,CAAa,EACtC,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EACjC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAC,CAAC,EACtC,aAAa,EAAE,cAAc,CAAC;gCAC1B,OAAO,EAAE,CAAC,UAAU,CAAC;gCACrB,IAAI,EAAE,SAAS;gCACf,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;6BACrC,CAAC,EACF,aAAa,QACb,uBAAuB,EAAE,wBAAwB,EACjD,YAAY,EAAE,YAAY,GAC5B,GACA,EAEL,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAC5B,KAAC,MAAM,IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,QACR,UAAU,QACV,QAAQ,QACR,aAAa,QACb,OAAO,EAAE,QAAQ,EACjB,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAC,CAAC,EACtC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EACrC,aAAa,EAAE,cAAc,CAAC;gCAC1B,OAAO,EAAE,aAAa;gCACtB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;6BACzC,CAAC,EACF,uBAAuB,EAAE,wBAAwB,EACjD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAC5B,GACA,CACT,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,CAAC,CAAC,CAAC,CACR,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC,YAClD,MAAC,MAAM,IACH,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAC,SAAS,EAAC,CAAC,EAC9C,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,SAAS,aAEnB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,CAAC,GAAI,EACvE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IACxB,GACP,CACT,CAAC,CAAC,CAAC,IAAI,IACN,IACJ,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {useAnalytics} from '@gravity-ui/page-constructor';\nimport {Button, Icon, Select} from '@gravity-ui/uikit';\n\nimport {DefaultGoalIds} from '../../../../constants';\nimport {LikesContext} from '../../../../contexts/LikesContext';\nimport {MobileContext} from '../../../../contexts/MobileContext';\nimport {AnalyticsCounter} from '../../../../counters/utils';\nimport {Keyset, i18n} from '../../../../i18n';\nimport {Save} from '../../../../icons/Save';\nimport {DefaultEventNames, FetchArgs, Query} from '../../../../models/common';\nimport {block} from '../../../../utils/cn';\nimport {Search} from '../../../Search/Search';\nimport {prepareAnalyticsEvent} from '../../../../utils/common';\n\nimport {renderFilter, renderOption, renderSwitcher} from './customRenders';\n\nimport './Controls.scss';\n\nconst b = block('feed-controls');\n\nexport type SelectItem = {\n content: string;\n value: string;\n icon?: React.ReactNode;\n};\n\nexport type ControlsProps = {\n handleLoadData: (props: FetchArgs) => void;\n tags?: SelectItem[];\n services?: SelectItem[];\n queryParams: Query;\n};\n\nconst ICON_SIZE = 16;\nconst DEFAULT_PAGE = 1;\nconst VIRTUALIZATION_THRESHOLD = 1000;\n\nexport const Controls = ({\n handleLoadData,\n tags = [],\n services = [],\n queryParams,\n}: ControlsProps) => {\n const {hasLikes} = React.useContext(LikesContext);\n const handleAnalyticsTag = useAnalytics(DefaultEventNames.Tag);\n const handleAnalyticsService = useAnalytics(DefaultEventNames.Service);\n const handleAnalyticsSaveOnly = useAnalytics(DefaultEventNames.SaveOnly);\n\n const {\n savedOnly: savedOnlyInitial,\n search: searchInitial,\n tags: tagInitial,\n services: servicesInitial,\n } = queryParams || {};\n\n const [savedOnly, setSavedOnly] = React.useState<boolean>(savedOnlyInitial === 'true');\n const [search, setSearch] = React.useState<string>(searchInitial as string);\n\n const isMobile = React.useContext(MobileContext);\n\n const handleSavedOnly = () => {\n handleAnalyticsSaveOnly();\n setSavedOnly(!savedOnly);\n handleLoadData({\n page: DEFAULT_PAGE,\n query: {\n savedOnly: savedOnly ? '' : 'true',\n search: '',\n tags: '',\n page: DEFAULT_PAGE,\n services: '',\n },\n });\n };\n\n const handleSearch = (searchValue: string) => {\n setSearch(searchValue);\n\n handleLoadData({\n page: DEFAULT_PAGE,\n query: {search: searchValue, page: DEFAULT_PAGE},\n });\n };\n\n const handleTagSelect = (selectedTags: string[]) => {\n const event = prepareAnalyticsEvent({\n name: DefaultGoalIds.tag,\n counter: AnalyticsCounter.CrossSite,\n });\n handleAnalyticsTag(event, {\n theme: selectedTags[0],\n });\n\n const isEmptyTag = selectedTags.some((tag) => tag === 'empty');\n\n handleLoadData({\n page: DEFAULT_PAGE,\n query: {\n tags: isEmptyTag ? '' : selectedTags[0],\n page: DEFAULT_PAGE,\n },\n });\n };\n\n const handleServicesSelect = (selectedServices: string[]) => {\n const forAnalyticsServices = services.filter((service) => {\n return selectedServices.includes(service.value);\n });\n\n const servicesAsStringForAnalytics = forAnalyticsServices\n .map((service) => service.content)\n .join(',');\n\n const event = prepareAnalyticsEvent({\n name: DefaultGoalIds.service,\n counter: AnalyticsCounter.CrossSite,\n });\n handleAnalyticsService(event, {\n service: servicesAsStringForAnalytics,\n });\n\n const servicesAsString = selectedServices.join(',');\n\n handleLoadData({\n page: DEFAULT_PAGE,\n query: {services: servicesAsString, page: DEFAULT_PAGE},\n });\n };\n\n const tagsItems = React.useMemo(\n () => [{value: 'empty', content: i18n(Keyset.AllTags)} as unknown as SelectItem, ...tags],\n [tags],\n );\n\n const servicesItems = React.useMemo(\n () => (servicesInitial ? [...(servicesInitial as string).split(',')] : []),\n [servicesInitial],\n );\n\n return (\n <div className={b('header')}>\n <h1 className={b('header-item', {title: true})}>{i18n(Keyset.Title)}</h1>\n <div className={b('header-item', {filters: true})}>\n <div className={b('filter-item')}>\n <Search\n className={b('search')}\n placeholder={i18n(Keyset.Search)}\n initialValue={search && typeof search === 'string' ? search : ''}\n onSubmit={handleSearch}\n />\n </div>\n <div className={b('filter-item')}>\n <Select\n className={b('select')}\n size=\"xl\"\n options={tagsItems}\n defaultValue={[tagInitial] as string[]}\n onUpdate={handleTagSelect}\n placeholder={i18n(Keyset.AllTags)}\n popupClassName={b('popup', {isMobile})}\n renderControl={renderSwitcher({\n initial: [tagInitial],\n list: tagsItems,\n defaultLabel: i18n(Keyset.AllTags),\n })}\n disablePortal\n virtualizationThreshold={VIRTUALIZATION_THRESHOLD}\n renderOption={renderOption}\n />\n </div>\n\n {services.length > 0 ? (\n <div className={b('filter-item')}>\n <Select\n className={b('select')}\n size=\"xl\"\n multiple\n filterable\n hasClear\n disablePortal\n options={services}\n defaultValue={servicesItems}\n popupClassName={b('popup', {isMobile})}\n onUpdate={handleServicesSelect}\n placeholder={i18n(Keyset.AllServices)}\n renderControl={renderSwitcher({\n initial: servicesItems,\n list: services,\n defaultLabel: i18n(Keyset.AllServices),\n })}\n virtualizationThreshold={VIRTUALIZATION_THRESHOLD}\n renderOption={renderOption}\n renderFilter={renderFilter}\n />\n </div>\n ) : null}\n {hasLikes ? (\n <div className={b('filter-item', {'width-auto': true})}>\n <Button\n view={'outlined'}\n className={b('saved-only-button', {savedOnly})}\n size=\"xl\"\n onClick={handleSavedOnly}\n selected={savedOnly}\n >\n <Icon data={Save} size={ICON_SIZE} className={b('icon', {savedOnly})} />\n {i18n(Keyset.ActionSavedOnly)}\n </Button>\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n"]}
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { SelectOption, SelectProps } from '@gravity-ui/uikit';
3
- import { CustomSwitcherProps } from '../CustomSwitcher/CustomSwitcher';
2
+ import { CustomSwitcherProps } from "../CustomSwitcher/CustomSwitcher.js";
4
3
  import './Controls.css';
5
4
  type RenderSwitcherType = ({ initial, list, defaultLabel, }: {
6
5
  initial: CustomSwitcherProps['initial'];
@@ -10,5 +9,5 @@ type RenderSwitcherType = ({ initial, list, defaultLabel, }: {
10
9
  type RenderFilterType = SelectProps['renderFilter'];
11
10
  export declare const renderSwitcher: RenderSwitcherType;
12
11
  export declare const renderFilter: RenderFilterType;
13
- export declare const renderOption: (option: SelectOption) => React.JSX.Element;
12
+ export declare const renderOption: (option: SelectOption) => import("react/jsx-runtime").JSX.Element;
14
13
  export {};
@@ -1,20 +1,24 @@
1
1
  import { __rest } from "tslib";
2
- import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { TextInput } from '@gravity-ui/uikit';
4
- import { Keyset, i18n } from '../../../../i18n';
5
- import { block } from '../../../../utils/cn';
6
- import { CustomSelectOption, } from '../CustomSelectOption/CustomSelectOption';
7
- import { CustomSwitcher } from '../CustomSwitcher/CustomSwitcher';
4
+ import { Keyset, i18n } from "../../../../i18n/index.js";
5
+ import { block } from "../../../../utils/cn.js";
6
+ import { CustomSelectOption, } from "../CustomSelectOption/CustomSelectOption.js";
7
+ import { CustomSwitcher } from "../CustomSwitcher/CustomSwitcher.js";
8
8
  import './Controls.css';
9
9
  const b = block('feed-controls');
10
10
  export const renderSwitcher = ({ initial, list, defaultLabel }) =>
11
11
  // eslint-disable-next-line react/display-name
12
12
  (_a) => {
13
13
  var { ref, renderClear } = _a, _b = _a.triggerProps, { id, disabled, type, onClick, onKeyDown } = _b, a11yProps = __rest(_b, ["id", "disabled", "type", "onClick", "onKeyDown"]);
14
- return (React.createElement(CustomSwitcher, { id: id, disabled: disabled, type: type, initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, onClick: onClick, onKeyDown: onKeyDown, renderClear: renderClear, a11yProps: a11yProps }));
14
+ return (_jsx(CustomSwitcher, { id: id, disabled: disabled, type: type, initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, triggerProps: {
15
+ onClick,
16
+ onKeyDown,
17
+ }, renderClear: renderClear, a11yProps: a11yProps }));
15
18
  };
16
19
  export const renderFilter = (_a) => {
17
20
  var { ref, onChange } = _a, _b = _a.inputProps, { value, onKeyDown, onChange: _, size: __, placeholder: ___ } = _b, a11yProps = __rest(_b, ["value", "onKeyDown", "onChange", "size", "placeholder"]);
18
- return (React.createElement(TextInput, { value: value, view: "clear", placeholder: i18n(Keyset.Search), onUpdate: onChange, onKeyDown: onKeyDown, className: b('popup-filter'), controlRef: ref, controlProps: Object.assign({ size: 1 }, a11yProps) }));
21
+ return (_jsx(TextInput, { value: value, view: "clear", placeholder: i18n(Keyset.Search), onUpdate: onChange, onKeyDown: onKeyDown, className: b('popup-filter'), controlRef: ref, controlProps: Object.assign({ size: 1 }, a11yProps) }));
19
22
  };
20
- export const renderOption = (option) => (React.createElement(CustomSelectOption, { data: option }));
23
+ export const renderOption = (option) => (_jsx(CustomSelectOption, { data: option }));
24
+ //# sourceMappingURL=customRenders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customRenders.js","sourceRoot":"../../../../../../src","sources":["components/FeedHeader/components/Controls/customRenders.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAA4B,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,kCAAyB;AAC9C,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAC3C,OAAO,EACH,kBAAkB,GAErB,oDAAiD;AAClD,OAAO,EAAC,cAAc,EAAsB,4CAAyC;AAErF,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AAcjC,MAAM,CAAC,MAAM,cAAc,GACvB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAC,EAAE,EAAE;AAClC,8CAA8C;AAC9C,CAAC,EAAwF,EAAE,EAAE;QAA5F,EAAC,GAAG,EAAE,WAAW,OAAuE,EAArE,oBAAoE,EAApE,EAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,OAAe,EAAV,SAAS,cAArD,kDAAsD,CAAD;IAAO,OAAA,CAC1F,KAAC,cAAc,IACX,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,EACf,YAAY,EAAE;YACV,OAAO;YACP,SAAS;SACZ,EACD,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACtB,CACL,CAAA;CAAA,CAAC;AAEN,MAAM,CAAC,MAAM,YAAY,GAAqB,CAAC,EAI9C,EAAE,EAAE;QAJ0C,EAC3C,GAAG,EACH,QAAQ,OAEX,EADG,kBAAqF,EAArF,EAAa,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,OAAe,EAAV,SAAS,cAAxE,yDAAyE,CAAD;IAClF,OAAA,CACF,KAAC,SAAS,IACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAChC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,EAC5B,UAAU,EAAE,GAAG,EACf,YAAY,kBAAG,IAAI,EAAE,CAAC,IAAK,SAAS,IACtC,CACL,CAAA;CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAE,EAAE,CAAC,CAClD,KAAC,kBAAkB,IAAC,IAAI,EAAE,MAAyC,GAAI,CAC1E,CAAC","sourcesContent":["import {SelectOption, SelectProps, TextInput} from '@gravity-ui/uikit';\n\nimport {Keyset, i18n} from '../../../../i18n';\nimport {block} from '../../../../utils/cn';\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from '../CustomSelectOption/CustomSelectOption';\nimport {CustomSwitcher, CustomSwitcherProps} from '../CustomSwitcher/CustomSwitcher';\n\nimport './Controls.scss';\n\nconst b = block('feed-controls');\n\ntype RenderSwitcherType = ({\n initial,\n list,\n defaultLabel,\n}: {\n initial: CustomSwitcherProps['initial'];\n list: CustomSwitcherProps['list'];\n defaultLabel: string;\n}) => SelectProps['renderControl'];\n\ntype RenderFilterType = SelectProps['renderFilter'];\n\nexport const renderSwitcher: RenderSwitcherType =\n ({initial, list, defaultLabel}) =>\n // eslint-disable-next-line react/display-name\n ({ref, renderClear, triggerProps: {id, disabled, type, onClick, onKeyDown, ...a11yProps}}) => (\n <CustomSwitcher\n id={id}\n disabled={disabled}\n type={type}\n initial={initial}\n defaultLabel={defaultLabel}\n list={list}\n controlRef={ref}\n triggerProps={{\n onClick,\n onKeyDown,\n }}\n renderClear={renderClear}\n a11yProps={a11yProps}\n />\n );\n\nexport const renderFilter: RenderFilterType = ({\n ref,\n onChange,\n inputProps: {value, onKeyDown, onChange: _, size: __, placeholder: ___, ...a11yProps},\n}) => (\n <TextInput\n value={value}\n view=\"clear\"\n placeholder={i18n(Keyset.Search)}\n onUpdate={onChange}\n onKeyDown={onKeyDown}\n className={b('popup-filter')}\n controlRef={ref}\n controlProps={{size: 1, ...a11yProps}}\n />\n);\n\nexport const renderOption = (option: SelectOption) => (\n <CustomSelectOption data={option as CustomSelectOptionProps['data']} />\n);\n"]}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  import { SelectOption as SelectOptionType } from '@gravity-ui/uikit';
3
3
  import './CustomSelectOption.css';
4
4
  export type CustomSelectOptionProps = {
@@ -6,4 +6,4 @@ export type CustomSelectOptionProps = {
6
6
  icon?: React.ReactElement;
7
7
  } & SelectOptionType;
8
8
  };
9
- export declare const CustomSelectOption: ({ data }: CustomSelectOptionProps) => React.JSX.Element;
9
+ export declare const CustomSelectOption: ({ data }: CustomSelectOptionProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
- import { block } from '../../../../utils/cn';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { block } from "../../../../utils/cn.js";
3
3
  import './CustomSelectOption.css';
4
4
  const b = block('feed-custom-select-option');
5
- export const CustomSelectOption = ({ data }) => (React.createElement("div", { className: b() },
6
- React.createElement("span", { className: b('icon') }, data.icon),
7
- React.createElement("span", null, data.content)));
5
+ export const CustomSelectOption = ({ data }) => (_jsxs("div", { className: b(), children: [_jsx("span", { className: b('icon'), children: data.icon }), _jsx("span", { children: data.content })] }));
6
+ //# sourceMappingURL=CustomSelectOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomSelectOption.js","sourceRoot":"../../../../../../src","sources":["components/FeedHeader/components/CustomSelectOption/CustomSelectOption.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAE3C,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAQ7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAC,IAAI,EAA0B,EAAE,EAAE,CAAC,CACnE,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,eAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,CAAC,IAAI,GAAQ,EAC9C,yBAAO,IAAI,CAAC,OAAO,GAAQ,IACzB,CACT,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {SelectOption as SelectOptionType} from '@gravity-ui/uikit';\n\nimport {block} from '../../../../utils/cn';\n\nimport './CustomSelectOption.scss';\n\nconst b = block('feed-custom-select-option');\n\nexport type CustomSelectOptionProps = {\n data: {\n icon?: React.ReactElement;\n } & SelectOptionType;\n};\n\nexport const CustomSelectOption = ({data}: CustomSelectOptionProps) => (\n <div className={b()}>\n <span className={b('icon')}>{data.icon}</span>\n <span>{data.content}</span>\n </div>\n);\n"]}
@@ -24,7 +24,7 @@ unpredictable css rules order in build */
24
24
  .bc-feed-custom-switcher__custom-switcher:focus:not(:focus-visible) {
25
25
  outline: 0;
26
26
  }
27
- .bc-feed-custom-switcher__custom-switcher + .g-popup.g-popup_open {
27
+ .bc-feed-custom-switcher__custom-switcher + div[data-floating-ui-status] {
28
28
  position: absolute !important;
29
29
  inset: auto !important;
30
30
  transform: translate3d(0, 4px, 0) !important;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { SelectProps } from '@gravity-ui/uikit';
3
- import { SelectItem } from '../Controls/Controls';
2
+ import { SelectItem } from "../Controls/Controls.js";
4
3
  import './CustomSwitcher.css';
5
4
  type RenderControlParameters = Partial<Parameters<Required<SelectProps>['renderControl']>[0]>;
6
5
  type TriggerProps = Required<RenderControlParameters>['triggerProps'];
@@ -15,5 +14,5 @@ export type CustomSwitcherProps = {
15
14
  controlRef: RenderControlParameters['ref'];
16
15
  a11yProps: RenderControlA11yProps;
17
16
  } & Omit<RenderControlParameters, 'ref'> & Pick<TriggerProps, 'id' | 'disabled' | 'type'>;
18
- export declare const CustomSwitcher: ({ id, disabled, type, initial, defaultLabel, list, onClick, controlRef, onKeyDown, renderClear, a11yProps, }: CustomSwitcherProps) => React.JSX.Element;
17
+ export declare const CustomSwitcher: ({ id, disabled, type, initial, defaultLabel, list, triggerProps, controlRef, renderClear, a11yProps, }: CustomSwitcherProps) => import("react/jsx-runtime").JSX.Element;
19
18
  export {};
@@ -1,14 +1,15 @@
1
- import React, { useMemo } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
2
3
  import { Icon, useUniqId } from '@gravity-ui/uikit';
3
- import { DropdownArrow } from '../../../../icons/DropdownArrow';
4
- import { Close } from '../../../../icons/Close';
5
- import { block } from '../../../../utils/cn';
4
+ import { DropdownArrow } from "../../../../icons/DropdownArrow.js";
5
+ import { Close } from "../../../../icons/Close.js";
6
+ import { block } from "../../../../utils/cn.js";
6
7
  import './CustomSwitcher.css';
7
8
  const b = block('feed-custom-switcher');
8
9
  const ICON_SIZE = 12;
9
10
  const CLEAR_ICON_SIZE = 11;
10
- export const CustomSwitcher = ({ id, disabled, type, initial, defaultLabel, list, onClick, controlRef, onKeyDown, renderClear, a11yProps, }) => {
11
- const itemsNames = useMemo(() => {
11
+ export const CustomSwitcher = ({ id, disabled, type, initial, defaultLabel, list, triggerProps, controlRef, renderClear, a11yProps, }) => {
12
+ const itemsNames = React.useMemo(() => {
12
13
  const items = list
13
14
  .filter((item) => initial.includes(item.value))
14
15
  .map((item) => item.content);
@@ -16,14 +17,9 @@ export const CustomSwitcher = ({ id, disabled, type, initial, defaultLabel, list
16
17
  }, [defaultLabel, initial, list]);
17
18
  const hasCounter = itemsNames.length > 1;
18
19
  const contentElementId = useUniqId();
19
- return (React.createElement("div", { className: b('custom-switcher'), ref: controlRef },
20
- React.createElement("button", Object.assign({ id: id, disabled: disabled, type: type, onClick: onClick, className: b('custom-switcher-element', { overlay: true }), onKeyDown: onKeyDown }, a11yProps, { "aria-labelledby": contentElementId })),
21
- React.createElement("div", { id: contentElementId, className: b('custom-switcher-element', { content: true }), "aria-hidden": true }, itemsNames === null || itemsNames === void 0 ? void 0 : itemsNames.join(', ')),
22
- renderClear &&
23
- renderClear({
24
- renderIcon: () => (React.createElement(Icon, { data: Close, size: CLEAR_ICON_SIZE, className: b('clear') })),
25
- }),
26
- hasCounter && (React.createElement("div", { className: b('custom-switcher-element', { counter: true }) }, itemsNames.length)),
27
- React.createElement("div", { className: b('custom-switcher-element', { arrow: true }) },
28
- React.createElement(Icon, { data: DropdownArrow, size: ICON_SIZE, className: b('switcher-arrow') }))));
29
- };
20
+ return (_jsxs("div", { className: b('custom-switcher'), ref: controlRef, children: [_jsx("button", Object.assign({ id: id, disabled: disabled, type: type, onClick: triggerProps === null || triggerProps === void 0 ? void 0 : triggerProps.onClick, className: b('custom-switcher-element', { overlay: true }), onKeyDown: triggerProps === null || triggerProps === void 0 ? void 0 : triggerProps.onKeyDown }, a11yProps, { "aria-labelledby": contentElementId })), _jsx("div", { id: contentElementId, className: b('custom-switcher-element', { content: true }), "aria-hidden": true, children: itemsNames === null || itemsNames === void 0 ? void 0 : itemsNames.join(', ') }), renderClear &&
21
+ renderClear({
22
+ renderIcon: () => (_jsx(Icon, { data: Close, size: CLEAR_ICON_SIZE, className: b('clear') })),
23
+ }), hasCounter && (_jsx("div", { className: b('custom-switcher-element', { counter: true }), children: itemsNames.length })), _jsx("div", { className: b('custom-switcher-element', { arrow: true }), children: _jsx(Icon, { data: DropdownArrow, size: ICON_SIZE, className: b('switcher-arrow') }) })] }));
24
+ };
25
+ //# sourceMappingURL=CustomSwitcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomSwitcher.js","sourceRoot":"../../../../../../src","sources":["components/FeedHeader/components/CustomSwitcher/CustomSwitcher.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,IAAI,EAAe,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAC9D,OAAO,EAAC,KAAK,EAAC,mCAAgC;AAC9C,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAG3C,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAoBxC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC3B,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,GACS,EAAE,EAAE;IACtB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI;aACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC;IAErC,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,UAA6C,aAEpF,+BACI,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EAC9B,SAAS,EAAE,CAAC,CAAC,yBAAyB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACxD,SAAS,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,IAC9B,SAAS,uBACI,gBAAgB,IACnC,EACF,cACI,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,CAAC,CAAC,yBAAyB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,iCAGvD,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,IAAI,CAAC,GACrB,EACL,WAAW;gBACR,WAAW,CAAC;oBACR,UAAU,EAAE,GAAG,EAAE,CAAC,CACd,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAI,CACtE;iBACJ,CAAC,EACL,UAAU,IAAI,CACX,cAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,YACxD,UAAU,CAAC,MAAM,GAChB,CACT,EACD,cAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,YACvD,KAAC,IAAI,IAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAI,GAC5E,IACJ,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Icon, SelectProps, useUniqId} from '@gravity-ui/uikit';\n\nimport {DropdownArrow} from '../../../../icons/DropdownArrow';\nimport {Close} from '../../../../icons/Close';\nimport {block} from '../../../../utils/cn';\nimport {SelectItem} from '../Controls/Controls';\n\nimport './CustomSwitcher.scss';\n\nconst b = block('feed-custom-switcher');\n\ntype RenderControlParameters = Partial<Parameters<Required<SelectProps>['renderControl']>[0]>;\ntype TriggerProps = Required<RenderControlParameters>['triggerProps'];\n\ntype A11yKeys = {\n [K in keyof TriggerProps]-?: K extends `aria-${string}` | 'role' ? K : never;\n}[keyof TriggerProps];\n\ntype RenderControlA11yProps = Pick<TriggerProps, A11yKeys>;\n\nexport type CustomSwitcherProps = {\n initial: (string | number | null)[];\n defaultLabel: string;\n list: SelectItem[];\n controlRef: RenderControlParameters['ref'];\n a11yProps: RenderControlA11yProps;\n} & Omit<RenderControlParameters, 'ref'> &\n Pick<TriggerProps, 'id' | 'disabled' | 'type'>;\n\nconst ICON_SIZE = 12;\nconst CLEAR_ICON_SIZE = 11;\n\nexport const CustomSwitcher = ({\n id,\n disabled,\n type,\n initial,\n defaultLabel,\n list,\n triggerProps,\n controlRef,\n renderClear,\n a11yProps,\n}: CustomSwitcherProps) => {\n const itemsNames = React.useMemo(() => {\n const items = list\n .filter((item) => initial.includes(item.value))\n .map((item) => item.content);\n\n return items.length ? items : [defaultLabel];\n }, [defaultLabel, initial, list]);\n const hasCounter = itemsNames.length > 1;\n\n const contentElementId = useUniqId();\n\n return (\n <div className={b('custom-switcher')} ref={controlRef as React.LegacyRef<HTMLDivElement>}>\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props */}\n <button\n id={id}\n disabled={disabled}\n type={type}\n onClick={triggerProps?.onClick}\n className={b('custom-switcher-element', {overlay: true})}\n onKeyDown={triggerProps?.onKeyDown}\n {...a11yProps}\n aria-labelledby={contentElementId}\n />\n <div\n id={contentElementId}\n className={b('custom-switcher-element', {content: true})}\n aria-hidden\n >\n {itemsNames?.join(', ')}\n </div>\n {renderClear &&\n renderClear({\n renderIcon: () => (\n <Icon data={Close} size={CLEAR_ICON_SIZE} className={b('clear')} />\n ),\n })}\n {hasCounter && (\n <div className={b('custom-switcher-element', {counter: true})}>\n {itemsNames.length}\n </div>\n )}\n <div className={b('custom-switcher-element', {arrow: true})}>\n <Icon data={DropdownArrow} size={ICON_SIZE} className={b('switcher-arrow')} />\n </div>\n </div>\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { MetaProps } from '../../models/common';
1
+ import { MetaProps } from "../../models/common.js";
2
2
  /**
3
3
  * Wrapper on meta data of page
4
4
  *
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Helmet } from 'react-helmet';
3
3
  /**
4
4
  * Wrapper on meta data of page
@@ -8,4 +8,5 @@ import { Helmet } from 'react-helmet';
8
8
  *
9
9
  * @returns jsx
10
10
  */
11
- export const MetaWrapper = ({ needHelmetWrapper = false, metaComponent }) => needHelmetWrapper ? React.createElement(Helmet, null, metaComponent) : metaComponent;
11
+ export const MetaWrapper = ({ needHelmetWrapper = false, metaComponent }) => needHelmetWrapper ? _jsx(Helmet, { children: metaComponent }) : metaComponent;
12
+ //# sourceMappingURL=MetaWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaWrapper.js","sourceRoot":"../../../../src","sources":["components/MetaWrapper/MetaWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAIpC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,iBAAiB,GAAG,KAAK,EAAE,aAAa,EAAY,EAAE,EAAE,CACjF,iBAAiB,CAAC,CAAC,CAAC,KAAC,MAAM,cAAE,aAAa,GAAU,CAAC,CAAC,CAAC,aAAa,CAAC","sourcesContent":["import {Helmet} from 'react-helmet';\n\nimport {MetaProps} from '../../models/common';\n\n/**\n * Wrapper on meta data of page\n *\n * @param needHelmetWrapper - component needs helmet wrapper\n * @param metaComponent - meta data component\n *\n * @returns jsx\n */\nexport const MetaWrapper = ({needHelmetWrapper = false, metaComponent}: MetaProps) =>\n needHelmetWrapper ? <Helmet>{metaComponent}</Helmet> : metaComponent;\n"]}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
- import { PaginatorProps } from './types';
1
+ import { PaginatorProps } from "./types.js";
3
2
  import './Paginator.css';
4
- export declare const Paginator: ({ itemsPerPage, totalItems, maxPages, page, className, onPageChange, queryParams, pageCountForShowSupportButtons, }: PaginatorProps) => React.JSX.Element | null;
3
+ export declare const Paginator: ({ itemsPerPage, totalItems, maxPages, page, className, onPageChange, queryParams, pageCountForShowSupportButtons, }: PaginatorProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,30 +1,31 @@
1
1
  import { __rest } from "tslib";
2
- import React, { useEffect, useMemo, useState } from 'react';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
3
4
  import { useAnalytics } from '@gravity-ui/page-constructor';
4
- import { DefaultGoalIds } from '../../constants';
5
- import { AnalyticsCounter } from '../../counters/utils';
6
- import { DefaultEventNames } from '../../models/common';
7
- import { block } from '../../utils/cn';
8
- import { NavigationButton } from './components/NavigationButton';
9
- import { PaginatorItem } from './components/PaginatorItem';
10
- import { ArrowType } from './types';
11
- import { getPageConfigs, getPagesCount } from './utils';
12
- import { prepareAnalyticsEvent } from '../../utils/common';
5
+ import { DefaultGoalIds } from "../../constants.js";
6
+ import { AnalyticsCounter } from "../../counters/utils.js";
7
+ import { DefaultEventNames } from "../../models/common.js";
8
+ import { block } from "../../utils/cn.js";
9
+ import { NavigationButton } from "./components/NavigationButton.js";
10
+ import { PaginatorItem } from "./components/PaginatorItem.js";
11
+ import { ArrowType } from "./types.js";
12
+ import { getPageConfigs, getPagesCount } from "./utils.js";
13
+ import { prepareAnalyticsEvent } from "../../utils/common.js";
13
14
  import _ from 'lodash';
14
15
  import './Paginator.css';
15
16
  const b = block('paginator');
16
17
  const DEFAULT_PAGE_COUNT_FOR_SHOW_SUPPORT_BUTTONS = 6;
17
18
  export const Paginator = ({ itemsPerPage, totalItems, maxPages, page, className, onPageChange, queryParams, pageCountForShowSupportButtons = DEFAULT_PAGE_COUNT_FOR_SHOW_SUPPORT_BUTTONS, }) => {
18
- const [pagesCount, setPagesCount] = useState(getPagesCount({ itemsPerPage, totalItems, maxPages }));
19
- const nonPagedQuery = useMemo(() => {
19
+ const [pagesCount, setPagesCount] = React.useState(getPagesCount({ itemsPerPage, totalItems, maxPages }));
20
+ const nonPagedQuery = React.useMemo(() => {
20
21
  return _.omit(queryParams, ['page']);
21
22
  }, [queryParams]);
22
- useEffect(() => {
23
+ React.useEffect(() => {
23
24
  const count = getPagesCount({ itemsPerPage, totalItems, maxPages });
24
25
  setPagesCount(count);
25
26
  }, [itemsPerPage, totalItems, maxPages]);
26
27
  const handlePageChange = (pageIndex) => onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange(pageIndex);
27
- const isShowSupportButtons = useMemo(() => pagesCount > pageCountForShowSupportButtons, [pageCountForShowSupportButtons, pagesCount]);
28
+ const isShowSupportButtons = React.useMemo(() => pagesCount > pageCountForShowSupportButtons, [pageCountForShowSupportButtons, pagesCount]);
28
29
  const handleAnalyticsHome = useAnalytics(DefaultEventNames.PaginatorHome);
29
30
  const handleAnalyticsNext = useAnalytics(DefaultEventNames.PaginatorNext);
30
31
  const handleAnalyticsPage = useAnalytics(DefaultEventNames.PaginatorPage);
@@ -77,7 +78,7 @@ export const Paginator = ({ itemsPerPage, totalItems, maxPages, page, className,
77
78
  mods: { type: ArrowType.Prev },
78
79
  onClick: handleArrowClick,
79
80
  index: 0,
80
- content: React.createElement(NavigationButton, { arrowType: ArrowType.Prev }),
81
+ content: _jsx(NavigationButton, { arrowType: ArrowType.Prev }),
81
82
  });
82
83
  }
83
84
  if (page < pagesCount && isShowSupportButtons) {
@@ -88,22 +89,17 @@ export const Paginator = ({ itemsPerPage, totalItems, maxPages, page, className,
88
89
  mods: { type: ArrowType.Next },
89
90
  index: page + 1,
90
91
  onClick: handleArrowClick,
91
- content: React.createElement(NavigationButton, { arrowType: ArrowType.Next }),
92
+ content: _jsx(NavigationButton, { arrowType: ArrowType.Next }),
92
93
  });
93
94
  }
94
95
  const renderPaginatorItem = (item) => {
95
96
  const { key } = item, rest = __rest(item, ["key"]);
96
- return React.createElement(PaginatorItem, Object.assign({ key: `page_${key}` }, rest));
97
+ return _jsx(PaginatorItem, Object.assign({}, rest), `page_${key}`);
97
98
  };
98
- return (React.createElement("div", { className: b('pagination') },
99
- page > 1 && (React.createElement("div", { className: b('pagination-block') },
100
- React.createElement("ul", { className: b(null, className) }, paginatorItems.slice(0, 1).map(renderPaginatorItem)))),
101
- React.createElement("div", { className: b('pagination-block') },
102
- React.createElement("ul", { className: b(null, className) }, paginatorItems
103
- .slice(page > 1 ? 1 : 0, page < pagesCount ? paginatorItems.length - 1 : paginatorItems.length)
104
- .map(renderPaginatorItem))),
105
- page < pagesCount && (React.createElement("div", { className: b('pagination-block') },
106
- React.createElement("ul", { className: b(null, className) }, paginatorItems
107
- .slice(paginatorItems.length - 1, paginatorItems.length)
108
- .map(renderPaginatorItem))))));
109
- };
99
+ return (_jsxs("div", { className: b('pagination'), children: [page > 1 && (_jsx("div", { className: b('pagination-block'), children: _jsx("ul", { className: b(null, className), children: paginatorItems.slice(0, 1).map(renderPaginatorItem) }) })), _jsx("div", { className: b('pagination-block'), children: _jsx("ul", { className: b(null, className), children: paginatorItems
100
+ .slice(page > 1 ? 1 : 0, page < pagesCount ? paginatorItems.length - 1 : paginatorItems.length)
101
+ .map(renderPaginatorItem) }) }), page < pagesCount && (_jsx("div", { className: b('pagination-block'), children: _jsx("ul", { className: b(null, className), children: paginatorItems
102
+ .slice(paginatorItems.length - 1, paginatorItems.length)
103
+ .map(renderPaginatorItem) }) }))] }));
104
+ };
105
+ //# sourceMappingURL=Paginator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paginator.js","sourceRoot":"../../../../src","sources":["components/Paginator/Paginator.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {useAnalytics} from '@gravity-ui/page-constructor';\n\nimport {DefaultGoalIds} from '../../constants';\nimport {AnalyticsCounter} from '../../counters/utils';\nimport {DefaultEventNames} from '../../models/common';\nimport {block} from '../../utils/cn';\n\nimport {NavigationButton} from './components/NavigationButton';\nimport {PaginatorItem} from './components/PaginatorItem';\nimport {ArrowType, PaginatorItemProps, PaginatorProps} from './types';\nimport {getPageConfigs, getPagesCount} from './utils';\nimport {prepareAnalyticsEvent} from '../../utils/common';\n\nimport _ from 'lodash';\n\nimport './Paginator.scss';\n\nconst b = block('paginator');\n\nconst DEFAULT_PAGE_COUNT_FOR_SHOW_SUPPORT_BUTTONS = 6;\n\nexport const Paginator = ({\n itemsPerPage,\n totalItems,\n maxPages,\n page,\n className,\n onPageChange,\n queryParams,\n pageCountForShowSupportButtons = DEFAULT_PAGE_COUNT_FOR_SHOW_SUPPORT_BUTTONS,\n}: PaginatorProps) => {\n const [pagesCount, setPagesCount] = React.useState(\n getPagesCount({itemsPerPage, totalItems, maxPages}),\n );\n\n const nonPagedQuery = React.useMemo(() => {\n return _.omit(queryParams, ['page']);\n }, [queryParams]);\n\n React.useEffect(() => {\n const count = getPagesCount({itemsPerPage, totalItems, maxPages});\n setPagesCount(count);\n }, [itemsPerPage, totalItems, maxPages]);\n\n const handlePageChange = (pageIndex: number) => onPageChange?.(pageIndex);\n\n const isShowSupportButtons = React.useMemo(\n () => pagesCount > pageCountForShowSupportButtons,\n [pageCountForShowSupportButtons, pagesCount],\n );\n\n const handleAnalyticsHome = useAnalytics(DefaultEventNames.PaginatorHome);\n const handleAnalyticsNext = useAnalytics(DefaultEventNames.PaginatorNext);\n const handleAnalyticsPage = useAnalytics(DefaultEventNames.PaginatorPage);\n\n if (pagesCount <= 1) {\n return null;\n }\n\n const handleArrowClick = (type: ArrowType | number) => {\n let newPage = page;\n\n if (type === 'prev' && page > 1) {\n const event = prepareAnalyticsEvent({\n name: DefaultGoalIds.home,\n counter: AnalyticsCounter.CrossSite,\n });\n handleAnalyticsHome(event);\n newPage = 1;\n } else if (type === 'next' && page < pagesCount) {\n const event = prepareAnalyticsEvent({\n name: DefaultGoalIds.next,\n counter: AnalyticsCounter.CrossSite,\n });\n handleAnalyticsNext(event);\n newPage = page + 1;\n }\n\n if (newPage !== page) {\n handlePageChange(newPage);\n }\n };\n\n const handlePageClick = (index: number | ArrowType) => {\n if (index !== page && typeof index === 'number') {\n const event = prepareAnalyticsEvent({\n name: DefaultGoalIds.page,\n counter: AnalyticsCounter.CrossSite,\n });\n handleAnalyticsPage(event, {page: String(index)});\n handlePageChange(index);\n }\n };\n\n const paginatorItems = getPageConfigs({\n page,\n pagesCount,\n queryParams: nonPagedQuery,\n handlePageClick,\n });\n\n if (page > 1 && isShowSupportButtons) {\n paginatorItems.unshift({\n key: ArrowType.Prev,\n dataKey: ArrowType.Prev,\n queryParams: nonPagedQuery,\n mods: {type: ArrowType.Prev},\n onClick: handleArrowClick,\n index: 0,\n content: <NavigationButton arrowType={ArrowType.Prev} />,\n });\n }\n\n if (page < pagesCount && isShowSupportButtons) {\n paginatorItems.push({\n key: ArrowType.Next,\n queryParams: nonPagedQuery,\n dataKey: ArrowType.Next,\n mods: {type: ArrowType.Next},\n index: page + 1,\n onClick: handleArrowClick,\n content: <NavigationButton arrowType={ArrowType.Next} />,\n });\n }\n\n const renderPaginatorItem = (item: PaginatorItemProps) => {\n const {key, ...rest} = item;\n return <PaginatorItem key={`page_${key}`} {...rest} />;\n };\n\n return (\n <div className={b('pagination')}>\n {page > 1 && (\n <div className={b('pagination-block')}>\n <ul className={b(null, className)}>\n {paginatorItems.slice(0, 1).map(renderPaginatorItem)}\n </ul>\n </div>\n )}\n <div className={b('pagination-block')}>\n <ul className={b(null, className)}>\n {paginatorItems\n .slice(\n page > 1 ? 1 : 0,\n page < pagesCount ? paginatorItems.length - 1 : paginatorItems.length,\n )\n .map(renderPaginatorItem)}\n </ul>\n </div>\n {page < pagesCount && (\n <div className={b('pagination-block')}>\n <ul className={b(null, className)}>\n {paginatorItems\n .slice(paginatorItems.length - 1, paginatorItems.length)\n .map(renderPaginatorItem)}\n </ul>\n </div>\n )}\n </div>\n );\n};\n"]}
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
- import { ArrowType } from '../types';
1
+ import { ArrowType } from "../types.js";
3
2
  import '../Paginator.css';
4
3
  export type NavigationButtonProps = {
5
4
  arrowType: ArrowType;
6
5
  disabled?: boolean;
7
6
  };
8
- export declare const NavigationButton: ({ arrowType, disabled }: NavigationButtonProps) => React.JSX.Element | null;
7
+ export declare const NavigationButton: ({ arrowType, disabled }: NavigationButtonProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,7 +1,8 @@
1
- import React from 'react';
2
- import { Keyset, i18n } from '../../../i18n';
3
- import { block } from '../../../utils/cn';
4
- import { ArrowType } from '../types';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Keyset, i18n } from "../../../i18n/index.js";
3
+ import { block } from "../../../utils/cn.js";
4
+ import { ArrowType } from "../types.js";
5
5
  import '../Paginator.css';
6
6
  const b = block('paginator');
7
- export const NavigationButton = ({ arrowType, disabled }) => disabled ? null : (React.createElement("div", { className: b('icon') }, arrowType === ArrowType.Prev ? i18n(Keyset.ButtonBegin) : i18n(Keyset.ButtonFarther)));
7
+ export const NavigationButton = ({ arrowType, disabled }) => disabled ? null : (_jsx("div", { className: b('icon'), children: arrowType === ArrowType.Prev ? i18n(Keyset.ButtonBegin) : i18n(Keyset.ButtonFarther) }));
8
+ //# sourceMappingURL=NavigationButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationButton.js","sourceRoot":"../../../../../src","sources":["components/Paginator/components/NavigationButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,+BAAsB;AAC3C,OAAO,EAAC,KAAK,EAAC,6BAA0B;AACxC,OAAO,EAAC,SAAS,EAAC,oBAAiB;AAEnC,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAO7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAwB,EAAE,EAAE,CAC7E,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACpB,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GACnF,CACT,CAAC","sourcesContent":["import {Keyset, i18n} from '../../../i18n';\nimport {block} from '../../../utils/cn';\nimport {ArrowType} from '../types';\n\nimport '../Paginator.scss';\n\nconst b = block('paginator');\n\nexport type NavigationButtonProps = {\n arrowType: ArrowType;\n disabled?: boolean;\n};\n\nexport const NavigationButton = ({arrowType, disabled}: NavigationButtonProps) =>\n disabled ? null : (\n <div className={b('icon')}>\n {arrowType === ArrowType.Prev ? i18n(Keyset.ButtonBegin) : i18n(Keyset.ButtonFarther)}\n </div>\n );\n"]}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
- import { PaginatorItemProps } from '../types';
1
+ import { PaginatorItemProps } from "../types.js";
3
2
  import '../Paginator.css';
4
- export declare const PaginatorItem: ({ dataKey, mods, content, queryParams, onClick, loading, index, }: PaginatorItemProps) => React.JSX.Element;
3
+ export declare const PaginatorItem: ({ dataKey, mods, content, queryParams, onClick, loading, index, }: PaginatorItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,27 +1,29 @@
1
- import React, { useCallback, useContext, useMemo } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
2
3
  import { Button } from '@gravity-ui/uikit';
3
- import { LocaleContext } from '../../../contexts/LocaleContext';
4
- import { SettingsContext } from '../../../contexts/SettingsContext';
5
- import { block } from '../../../utils/cn';
6
- import { getBlogPath as getDefaultBlogPath } from '../../../utils/common';
4
+ import { LocaleContext } from "../../../contexts/LocaleContext.js";
5
+ import { SettingsContext } from "../../../contexts/SettingsContext.js";
6
+ import { block } from "../../../utils/cn.js";
7
+ import { getBlogPath as getDefaultBlogPath } from "../../../utils/common.js";
7
8
  import '../Paginator.css';
8
9
  const b = block('paginator');
9
10
  export const PaginatorItem = ({ dataKey, mods, content, queryParams, onClick, loading = false, index, }) => {
10
- const { locale } = useContext(LocaleContext);
11
- const { addNavigationLinkForPages, getBlogPath = getDefaultBlogPath } = useContext(SettingsContext);
11
+ const { locale } = React.useContext(LocaleContext);
12
+ const { addNavigationLinkForPages, getBlogPath = getDefaultBlogPath } = React.useContext(SettingsContext);
12
13
  const urlPath = getBlogPath((locale === null || locale === void 0 ? void 0 : locale.pathPrefix) || '');
13
14
  const itemKey = Number(dataKey) > 0 ? Number(dataKey) : dataKey;
14
- const navigationLink = useMemo(() => {
15
+ const navigationLink = React.useMemo(() => {
15
16
  const queryString = Object.entries(Object.assign(Object.assign({}, (index > 1 ? { page: index } : undefined)), queryParams))
16
17
  .map(([param, value]) => `${param}=${value}`)
17
18
  .join('&');
18
19
  return queryString ? `${urlPath}?${queryString}` : urlPath;
19
20
  }, [queryParams, index, urlPath]);
20
- const handleClick = useCallback((event) => {
21
+ const handleClick = React.useCallback((event) => {
21
22
  if (addNavigationLinkForPages && (event.metaKey || event.ctrlKey)) {
22
23
  return;
23
24
  }
24
25
  onClick === null || onClick === void 0 ? void 0 : onClick(itemKey);
25
26
  }, [addNavigationLinkForPages, itemKey, onClick]);
26
- return (React.createElement(Button, { view: "flat", size: "xl", className: b('item', mods), onClick: handleClick, href: addNavigationLinkForPages ? navigationLink : undefined, loading: loading && Boolean(mods.active) }, content));
27
- };
27
+ return (_jsx(Button, { view: "flat", size: "xl", className: b('item', mods), onClick: handleClick, href: addNavigationLinkForPages ? navigationLink : undefined, loading: loading && Boolean(mods.active), children: content }));
28
+ };
29
+ //# sourceMappingURL=PaginatorItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginatorItem.js","sourceRoot":"../../../../../src","sources":["components/Paginator/components/PaginatorItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAC9D,OAAO,EAAC,eAAe,EAAC,6CAA0C;AAClE,OAAO,EAAC,KAAK,EAAC,6BAA0B;AACxC,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,iCAA8B;AAGxE,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EACX,OAAO,EACP,OAAO,GAAG,KAAK,EACf,KAAK,GACY,EAAE,EAAE;IACrB,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,EAAC,yBAAyB,EAAE,WAAW,GAAG,kBAAkB,EAAC,GAC/D,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAqB,CAAC;IAC/E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iCAC3B,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACvC,WAAW,EAChB;aACG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;aAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/D,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAElC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAGjC,CAAC,KAAK,EAAE,EAAE;QACN,IAAI,yBAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,OAAO;QACX,CAAC;QAED,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,OAAO,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,yBAAyB,EAAE,OAAO,EAAE,OAAO,CAAC,CAChD,CAAC;IAEF,OAAO,CACH,KAAC,MAAM,IACH,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAC5D,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAEvC,OAAO,GACH,CACZ,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Button} from '@gravity-ui/uikit';\n\nimport {LocaleContext} from '../../../contexts/LocaleContext';\nimport {SettingsContext} from '../../../contexts/SettingsContext';\nimport {block} from '../../../utils/cn';\nimport {getBlogPath as getDefaultBlogPath} from '../../../utils/common';\nimport {ArrowType, PaginatorItemProps} from '../types';\n\nimport '../Paginator.scss';\n\nconst b = block('paginator');\n\nexport const PaginatorItem = ({\n dataKey,\n mods,\n content,\n queryParams,\n onClick,\n loading = false,\n index,\n}: PaginatorItemProps) => {\n const {locale} = React.useContext(LocaleContext);\n const {addNavigationLinkForPages, getBlogPath = getDefaultBlogPath} =\n React.useContext(SettingsContext);\n const urlPath = getBlogPath(locale?.pathPrefix || '');\n\n const itemKey = Number(dataKey) > 0 ? Number(dataKey) : (dataKey as ArrowType);\n const navigationLink = React.useMemo(() => {\n const queryString = Object.entries({\n ...(index > 1 ? {page: index} : undefined),\n ...queryParams,\n })\n .map(([param, value]) => `${param}=${value}`)\n .join('&');\n return queryString ? `${urlPath}?${queryString}` : urlPath;\n }, [queryParams, index, urlPath]);\n\n const handleClick = React.useCallback<\n (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>) => void\n >(\n (event) => {\n if (addNavigationLinkForPages && (event.metaKey || event.ctrlKey)) {\n return;\n }\n\n onClick?.(itemKey);\n },\n [addNavigationLinkForPages, itemKey, onClick],\n );\n\n return (\n <Button\n view=\"flat\"\n size=\"xl\"\n className={b('item', mods)}\n onClick={handleClick}\n href={addNavigationLinkForPages ? navigationLink : undefined}\n loading={loading && Boolean(mods.active)}\n >\n {content}\n </Button>\n );\n};\n"]}
@@ -1,11 +1,11 @@
1
- import type { ReactNode } from 'react';
1
+ import * as React from 'react';
2
2
  import type { NoStrictEntityMods } from '@bem-react/classname';
3
- import type { ClassNameProps, Query } from '../../models/common';
3
+ import type { ClassNameProps, Query } from "../../models/common.js";
4
4
  export interface PaginatorItemProps {
5
5
  key: string | ArrowType;
6
6
  dataKey: string | ArrowType;
7
7
  mods: NoStrictEntityMods;
8
- content: ReactNode;
8
+ content: React.ReactNode;
9
9
  queryParams: Query;
10
10
  onClick?: (key: number | ArrowType) => void;
11
11
  loading?: boolean;
@@ -2,4 +2,5 @@ export var ArrowType;
2
2
  (function (ArrowType) {
3
3
  ArrowType["Prev"] = "prev";
4
4
  ArrowType["Next"] = "next";
5
- })(ArrowType || (ArrowType = {}));
5
+ })(ArrowType || (ArrowType = {}));
6
+ //# sourceMappingURL=types.js.map