@gravity-ui/blog-constructor 7.0.0-alpha.2 → 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 +18 -18
  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 +18 -18
  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 +18 -18
  606. package/styles/yfm.css +18 -18
  607. package/styles/yfm.scss +21 -21
@@ -2,31 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Paginator = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
6
7
  const page_constructor_1 = require("@gravity-ui/page-constructor");
7
- const constants_1 = require("../../constants");
8
- const utils_1 = require("../../counters/utils");
9
- const common_1 = require("../../models/common");
10
- const cn_1 = require("../../utils/cn");
11
- const NavigationButton_1 = require("./components/NavigationButton");
12
- const PaginatorItem_1 = require("./components/PaginatorItem");
13
- const types_1 = require("./types");
14
- const utils_2 = require("./utils");
15
- const common_2 = require("../../utils/common");
8
+ const constants_1 = require("../../constants.js");
9
+ const utils_1 = require("../../counters/utils.js");
10
+ const common_1 = require("../../models/common.js");
11
+ const cn_1 = require("../../utils/cn.js");
12
+ const NavigationButton_1 = require("./components/NavigationButton.js");
13
+ const PaginatorItem_1 = require("./components/PaginatorItem.js");
14
+ const types_1 = require("./types.js");
15
+ const utils_2 = require("./utils.js");
16
+ const common_2 = require("../../utils/common.js");
16
17
  const lodash_1 = tslib_1.__importDefault(require("lodash"));
17
18
  const b = (0, cn_1.block)('paginator');
18
19
  const DEFAULT_PAGE_COUNT_FOR_SHOW_SUPPORT_BUTTONS = 6;
19
20
  const Paginator = ({ itemsPerPage, totalItems, maxPages, page, className, onPageChange, queryParams, pageCountForShowSupportButtons = DEFAULT_PAGE_COUNT_FOR_SHOW_SUPPORT_BUTTONS, }) => {
20
- const [pagesCount, setPagesCount] = (0, react_1.useState)((0, utils_2.getPagesCount)({ itemsPerPage, totalItems, maxPages }));
21
- const nonPagedQuery = (0, react_1.useMemo)(() => {
21
+ const [pagesCount, setPagesCount] = React.useState((0, utils_2.getPagesCount)({ itemsPerPage, totalItems, maxPages }));
22
+ const nonPagedQuery = React.useMemo(() => {
22
23
  return lodash_1.default.omit(queryParams, ['page']);
23
24
  }, [queryParams]);
24
- (0, react_1.useEffect)(() => {
25
+ React.useEffect(() => {
25
26
  const count = (0, utils_2.getPagesCount)({ itemsPerPage, totalItems, maxPages });
26
27
  setPagesCount(count);
27
28
  }, [itemsPerPage, totalItems, maxPages]);
28
29
  const handlePageChange = (pageIndex) => onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange(pageIndex);
29
- const isShowSupportButtons = (0, react_1.useMemo)(() => pagesCount > pageCountForShowSupportButtons, [pageCountForShowSupportButtons, pagesCount]);
30
+ const isShowSupportButtons = React.useMemo(() => pagesCount > pageCountForShowSupportButtons, [pageCountForShowSupportButtons, pagesCount]);
30
31
  const handleAnalyticsHome = (0, page_constructor_1.useAnalytics)(common_1.DefaultEventNames.PaginatorHome);
31
32
  const handleAnalyticsNext = (0, page_constructor_1.useAnalytics)(common_1.DefaultEventNames.PaginatorNext);
32
33
  const handleAnalyticsPage = (0, page_constructor_1.useAnalytics)(common_1.DefaultEventNames.PaginatorPage);
@@ -79,7 +80,7 @@ const Paginator = ({ itemsPerPage, totalItems, maxPages, page, className, onPage
79
80
  mods: { type: types_1.ArrowType.Prev },
80
81
  onClick: handleArrowClick,
81
82
  index: 0,
82
- content: react_1.default.createElement(NavigationButton_1.NavigationButton, { arrowType: types_1.ArrowType.Prev }),
83
+ content: (0, jsx_runtime_1.jsx)(NavigationButton_1.NavigationButton, { arrowType: types_1.ArrowType.Prev }),
83
84
  });
84
85
  }
85
86
  if (page < pagesCount && isShowSupportButtons) {
@@ -90,23 +91,18 @@ const Paginator = ({ itemsPerPage, totalItems, maxPages, page, className, onPage
90
91
  mods: { type: types_1.ArrowType.Next },
91
92
  index: page + 1,
92
93
  onClick: handleArrowClick,
93
- content: react_1.default.createElement(NavigationButton_1.NavigationButton, { arrowType: types_1.ArrowType.Next }),
94
+ content: (0, jsx_runtime_1.jsx)(NavigationButton_1.NavigationButton, { arrowType: types_1.ArrowType.Next }),
94
95
  });
95
96
  }
96
97
  const renderPaginatorItem = (item) => {
97
98
  const { key } = item, rest = tslib_1.__rest(item, ["key"]);
98
- return react_1.default.createElement(PaginatorItem_1.PaginatorItem, Object.assign({ key: `page_${key}` }, rest));
99
+ return (0, jsx_runtime_1.jsx)(PaginatorItem_1.PaginatorItem, Object.assign({}, rest), `page_${key}`);
99
100
  };
100
- return (react_1.default.createElement("div", { className: b('pagination') },
101
- page > 1 && (react_1.default.createElement("div", { className: b('pagination-block') },
102
- react_1.default.createElement("ul", { className: b(null, className) }, paginatorItems.slice(0, 1).map(renderPaginatorItem)))),
103
- react_1.default.createElement("div", { className: b('pagination-block') },
104
- react_1.default.createElement("ul", { className: b(null, className) }, paginatorItems
105
- .slice(page > 1 ? 1 : 0, page < pagesCount ? paginatorItems.length - 1 : paginatorItems.length)
106
- .map(renderPaginatorItem))),
107
- page < pagesCount && (react_1.default.createElement("div", { className: b('pagination-block') },
108
- react_1.default.createElement("ul", { className: b(null, className) }, paginatorItems
109
- .slice(paginatorItems.length - 1, paginatorItems.length)
110
- .map(renderPaginatorItem))))));
101
+ return ((0, jsx_runtime_1.jsxs)("div", { className: b('pagination'), children: [page > 1 && ((0, jsx_runtime_1.jsx)("div", { className: b('pagination-block'), children: (0, jsx_runtime_1.jsx)("ul", { className: b(null, className), children: paginatorItems.slice(0, 1).map(renderPaginatorItem) }) })), (0, jsx_runtime_1.jsx)("div", { className: b('pagination-block'), children: (0, jsx_runtime_1.jsx)("ul", { className: b(null, className), children: paginatorItems
102
+ .slice(page > 1 ? 1 : 0, page < pagesCount ? paginatorItems.length - 1 : paginatorItems.length)
103
+ .map(renderPaginatorItem) }) }), page < pagesCount && ((0, jsx_runtime_1.jsx)("div", { className: b('pagination-block'), children: (0, jsx_runtime_1.jsx)("ul", { className: b(null, className), children: paginatorItems
104
+ .slice(paginatorItems.length - 1, paginatorItems.length)
105
+ .map(renderPaginatorItem) }) }))] }));
111
106
  };
112
- exports.Paginator = Paginator;
107
+ exports.Paginator = Paginator;
108
+ //# 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,7 +1,6 @@
1
- import React from 'react';
2
- import { ArrowType } from '../types';
1
+ import { ArrowType } from "../types.js";
3
2
  export type NavigationButtonProps = {
4
3
  arrowType: ArrowType;
5
4
  disabled?: boolean;
6
5
  };
7
- export declare const NavigationButton: ({ arrowType, disabled }: NavigationButtonProps) => React.JSX.Element | null;
6
+ export declare const NavigationButton: ({ arrowType, disabled }: NavigationButtonProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NavigationButton = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
- const i18n_1 = require("../../../i18n");
7
- const cn_1 = require("../../../utils/cn");
8
- const types_1 = require("../types");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const i18n_1 = require("../../../i18n/index.js");
6
+ const cn_1 = require("../../../utils/cn.js");
7
+ const types_1 = require("../types.js");
9
8
  const b = (0, cn_1.block)('paginator');
10
- const NavigationButton = ({ arrowType, disabled }) => disabled ? null : (react_1.default.createElement("div", { className: b('icon') }, arrowType === types_1.ArrowType.Prev ? (0, i18n_1.i18n)(i18n_1.Keyset.ButtonBegin) : (0, i18n_1.i18n)(i18n_1.Keyset.ButtonFarther)));
11
- exports.NavigationButton = NavigationButton;
9
+ const NavigationButton = ({ arrowType, disabled }) => disabled ? null : ((0, jsx_runtime_1.jsx)("div", { className: b('icon'), children: arrowType === types_1.ArrowType.Prev ? (0, i18n_1.i18n)(i18n_1.Keyset.ButtonBegin) : (0, i18n_1.i18n)(i18n_1.Keyset.ButtonFarther) }));
10
+ exports.NavigationButton = NavigationButton;
11
+ //# sourceMappingURL=NavigationButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationButton.js","sourceRoot":"../../../../../src","sources":["components/Paginator/components/NavigationButton.tsx"],"names":[],"mappings":";;;;AAAA,iDAA2C;AAC3C,6CAAwC;AACxC,uCAAmC;AAInC,MAAM,CAAC,GAAG,IAAA,UAAK,EAAC,WAAW,CAAC,CAAC;AAOtB,MAAM,gBAAgB,GAAG,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAwB,EAAE,EAAE,CAC7E,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACpB,SAAS,KAAK,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,aAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,aAAM,CAAC,aAAa,CAAC,GACnF,CACT,CAAC;AALO,QAAA,gBAAgB,oBAKvB","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,3 +1,2 @@
1
- import React from 'react';
2
- import { PaginatorItemProps } from '../types';
3
- export declare const PaginatorItem: ({ dataKey, mods, content, queryParams, onClick, loading, index, }: PaginatorItemProps) => React.JSX.Element;
1
+ import { PaginatorItemProps } from "../types.js";
2
+ export declare const PaginatorItem: ({ dataKey, mods, content, queryParams, onClick, loading, index, }: PaginatorItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,30 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PaginatorItem = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
6
7
  const uikit_1 = require("@gravity-ui/uikit");
7
- const LocaleContext_1 = require("../../../contexts/LocaleContext");
8
- const SettingsContext_1 = require("../../../contexts/SettingsContext");
9
- const cn_1 = require("../../../utils/cn");
10
- const common_1 = require("../../../utils/common");
8
+ const LocaleContext_1 = require("../../../contexts/LocaleContext.js");
9
+ const SettingsContext_1 = require("../../../contexts/SettingsContext.js");
10
+ const cn_1 = require("../../../utils/cn.js");
11
+ const common_1 = require("../../../utils/common.js");
11
12
  const b = (0, cn_1.block)('paginator');
12
13
  const PaginatorItem = ({ dataKey, mods, content, queryParams, onClick, loading = false, index, }) => {
13
- const { locale } = (0, react_1.useContext)(LocaleContext_1.LocaleContext);
14
- const { addNavigationLinkForPages, getBlogPath = common_1.getBlogPath } = (0, react_1.useContext)(SettingsContext_1.SettingsContext);
14
+ const { locale } = React.useContext(LocaleContext_1.LocaleContext);
15
+ const { addNavigationLinkForPages, getBlogPath = common_1.getBlogPath } = React.useContext(SettingsContext_1.SettingsContext);
15
16
  const urlPath = getBlogPath((locale === null || locale === void 0 ? void 0 : locale.pathPrefix) || '');
16
17
  const itemKey = Number(dataKey) > 0 ? Number(dataKey) : dataKey;
17
- const navigationLink = (0, react_1.useMemo)(() => {
18
+ const navigationLink = React.useMemo(() => {
18
19
  const queryString = Object.entries(Object.assign(Object.assign({}, (index > 1 ? { page: index } : undefined)), queryParams))
19
20
  .map(([param, value]) => `${param}=${value}`)
20
21
  .join('&');
21
22
  return queryString ? `${urlPath}?${queryString}` : urlPath;
22
23
  }, [queryParams, index, urlPath]);
23
- const handleClick = (0, react_1.useCallback)((event) => {
24
+ const handleClick = React.useCallback((event) => {
24
25
  if (addNavigationLinkForPages && (event.metaKey || event.ctrlKey)) {
25
26
  return;
26
27
  }
27
28
  onClick === null || onClick === void 0 ? void 0 : onClick(itemKey);
28
29
  }, [addNavigationLinkForPages, itemKey, onClick]);
29
- return (react_1.default.createElement(uikit_1.Button, { view: "flat", size: "xl", className: b('item', mods), onClick: handleClick, href: addNavigationLinkForPages ? navigationLink : undefined, loading: loading && Boolean(mods.active) }, content));
30
+ return ((0, jsx_runtime_1.jsx)(uikit_1.Button, { view: "flat", size: "xl", className: b('item', mods), onClick: handleClick, href: addNavigationLinkForPages ? navigationLink : undefined, loading: loading && Boolean(mods.active), children: content }));
30
31
  };
31
- exports.PaginatorItem = PaginatorItem;
32
+ exports.PaginatorItem = PaginatorItem;
33
+ //# sourceMappingURL=PaginatorItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginatorItem.js","sourceRoot":"../../../../../src","sources":["components/Paginator/components/PaginatorItem.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6CAAyC;AAEzC,sEAA8D;AAC9D,0EAAkE;AAClE,6CAAwC;AACxC,qDAAwE;AAKxE,MAAM,CAAC,GAAG,IAAA,UAAK,EAAC,WAAW,CAAC,CAAC;AAEtB,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,6BAAa,CAAC,CAAC;IACjD,MAAM,EAAC,yBAAyB,EAAE,WAAW,GAAG,oBAAkB,EAAC,GAC/D,KAAK,CAAC,UAAU,CAAC,iCAAe,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,uBAAC,cAAM,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;AAlDW,QAAA,aAAa,iBAkDxB","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;
@@ -5,4 +5,5 @@ var ArrowType;
5
5
  (function (ArrowType) {
6
6
  ArrowType["Prev"] = "prev";
7
7
  ArrowType["Next"] = "next";
8
- })(ArrowType = exports.ArrowType || (exports.ArrowType = {}));
8
+ })(ArrowType || (exports.ArrowType = ArrowType = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"../../../../src","sources":["components/Paginator/types.ts"],"names":[],"mappings":";;;AA2BA,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,0BAAa,CAAA;AACjB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB","sourcesContent":["import * as React from 'react';\n\nimport type {NoStrictEntityMods} from '@bem-react/classname';\n\nimport type {ClassNameProps, Query} from '../../models/common';\n\nexport interface PaginatorItemProps {\n key: string | ArrowType;\n dataKey: string | ArrowType;\n mods: NoStrictEntityMods;\n content: React.ReactNode;\n queryParams: Query;\n onClick?: (key: number | ArrowType) => void;\n loading?: boolean;\n index: number;\n}\n\nexport type PaginatorProps = {\n page: number;\n totalItems: number;\n itemsPerPage: number;\n maxPages: number;\n onPageChange: (page: number) => void;\n pageCountForShowSupportButtons?: number;\n queryParams: Query;\n} & ClassNameProps;\n\nexport enum ArrowType {\n Prev = 'prev',\n Next = 'next',\n}\n\nexport type GetPageConfigParams = {\n page: number;\n pagesCount: number;\n queryParams: Query;\n handlePageClick: (key: number | ArrowType) => void;\n};\n"]}
@@ -1,3 +1,3 @@
1
- import { GetPageConfigParams, PaginatorItemProps, PaginatorProps } from './types';
1
+ import { GetPageConfigParams, PaginatorItemProps, PaginatorProps } from "./types.js";
2
2
  export declare const getPageConfigs: ({ page, queryParams, pagesCount, handlePageClick, }: GetPageConfigParams) => PaginatorItemProps[];
3
- export declare const getPagesCount: (props: Pick<PaginatorProps, 'totalItems' | 'itemsPerPage' | 'maxPages'>) => number;
3
+ export declare const getPagesCount: (props: Pick<PaginatorProps, "totalItems" | "itemsPerPage" | "maxPages">) => number;
@@ -31,4 +31,5 @@ const getPagesCount = (props) => {
31
31
  const totalPages = Math.ceil(props.totalItems / props.itemsPerPage);
32
32
  return Math.min(totalPages, props.maxPages);
33
33
  };
34
- exports.getPagesCount = getPagesCount;
34
+ exports.getPagesCount = getPagesCount;
35
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/Paginator/utils.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAErB,MAAM,cAAc,GAAG,CAAC,EAC3B,IAAI,EACJ,WAAW,EACX,UAAU,EACV,eAAe,GACG,EAAE,EAAE;IACtB,MAAM,cAAc,GAA8B,EAAE,CAAC;IACrD,sDAAsD;IACtD,MAAM,UAAU,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC;IAClC,IAAI,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;IAEhC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;QAC5C,SAAS,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACd,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAClB,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,EAAC;YACxC,WAAW;YACX,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,CAAC;SACb,CAAC,CAAC;IACP,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAhCW,QAAA,cAAc,kBAgCzB;AAEK,MAAM,aAAa,GAAG,CACzB,KAAuE,EACzE,EAAE;IACA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpE,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB","sourcesContent":["import {GetPageConfigParams, PaginatorItemProps, PaginatorProps} from './types';\n\nconst MAX_VISIBLE_PAGES = 5;\n\nexport const getPageConfigs = ({\n page,\n queryParams,\n pagesCount,\n handlePageClick,\n}: GetPageConfigParams) => {\n const paginatorItems: Array<PaginatorItemProps> = [];\n // it is calculating the middle of visible pages below\n const pageOffset = (MAX_VISIBLE_PAGES - 1) / 2;\n let startPage = page - pageOffset;\n let endPage = page + pageOffset;\n\n if (startPage < 1) {\n endPage = page + pageOffset - startPage + 1;\n startPage = 1;\n }\n\n endPage = Math.min(endPage, pagesCount);\n\n for (let i = startPage; i <= endPage; i++) {\n paginatorItems.push({\n key: String(i),\n dataKey: String(i),\n index: i,\n mods: {type: 'page', active: page === i},\n queryParams,\n onClick: handlePageClick,\n content: i,\n });\n }\n\n return paginatorItems;\n};\n\nexport const getPagesCount = (\n props: Pick<PaginatorProps, 'totalItems' | 'itemsPerPage' | 'maxPages'>,\n) => {\n const totalPages = Math.ceil(props.totalItems / props.itemsPerPage);\n\n return Math.min(totalPages, props.maxPages);\n};\n"]}
@@ -1,4 +1,4 @@
1
- .bc-post-card__title_size_m.bc-post-card__title_size_m, .bc-post-card__title_size_s.bc-post-card__title_size_s {
1
+ .bc-post-card__title_size_m, .bc-post-card__title_size_s {
2
2
  margin: 0;
3
3
  }
4
4
 
@@ -27,28 +27,27 @@ unpredictable css rules order in build */
27
27
  min-height: 480px;
28
28
  }
29
29
  }
30
- .bc-post-card__title_size_s.bc-post-card__title_size_s {
30
+ .bc-post-card__title {
31
+ margin-bottom: 8px;
32
+ }
33
+ .bc-post-card__title_size_s {
31
34
  font-size: var(--g-text-header-1-font-size);
32
35
  line-height: var(--g-text-header-1-line-height);
33
36
  color: var(--pc-text-header-color);
34
37
  font-weight: var(--g-text-accent-font-weight);
35
- margin-bottom: 8px;
36
38
  }
37
-
38
- .bc-post-card__title_size_m.bc-post-card__title_size_m {
39
+ .bc-post-card__title_size_m {
39
40
  font-size: var(--g-text-display-2-font-size);
40
41
  line-height: var(--g-text-display-2-line-height);
41
42
  color: var(--pc-text-header-color);
42
43
  font-weight: var(--g-text-accent-font-weight);
43
- margin-bottom: 8px;
44
44
  }
45
45
  @media (max-width: 576px) {
46
- .bc-post-card__title_size_m.bc-post-card__title_size_m {
46
+ .bc-post-card__title_size_m {
47
47
  font-size: var(--g-text-display-1-font-size);
48
48
  line-height: var(--g-text-display-1-line-height);
49
49
  }
50
50
  }
51
-
52
51
  .bc-post-card__image-container {
53
52
  height: 156px;
54
53
  }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { AnalyticsEventsProp } from '@gravity-ui/page-constructor';
3
- import { PostCardSize, PostCardTitleHeadingLevel, PostData } from '../../models/common';
2
+ import { PostCardSize, PostCardTitleHeadingLevel, PostData } from "../../models/common.js";
4
3
  type PostCardProps = {
5
4
  post: PostData;
6
5
  fullWidth?: boolean;
@@ -9,5 +8,5 @@ type PostCardProps = {
9
8
  titleHeadingLevel?: PostCardTitleHeadingLevel;
10
9
  analyticsEvents?: AnalyticsEventsProp;
11
10
  };
12
- export declare const PostCard: ({ post, fullWidth, size, showTag, titleHeadingLevel, analyticsEvents, }: PostCardProps) => React.JSX.Element;
11
+ export declare const PostCard: ({ post, fullWidth, size, showTag, titleHeadingLevel, analyticsEvents, }: PostCardProps) => import("react/jsx-runtime").JSX.Element;
13
12
  export {};
@@ -2,21 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostCard = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
6
7
  const page_constructor_1 = require("@gravity-ui/page-constructor");
7
8
  const uikit_1 = require("@gravity-ui/uikit");
8
- const LikesContext_1 = require("../../contexts/LikesContext");
9
- const common_1 = require("../../models/common");
10
- const cn_1 = require("../../utils/cn");
11
- const SuggestPostInfo_1 = require("../PostInfo/SuggestPostInfo");
12
- const useAriaAttributes_1 = require("../../hooks/useAriaAttributes");
9
+ const LikesContext_1 = require("../../contexts/LikesContext.js");
10
+ const common_1 = require("../../models/common.js");
11
+ const cn_1 = require("../../utils/cn.js");
12
+ const SuggestPostInfo_1 = require("../PostInfo/SuggestPostInfo.js");
13
+ const useAriaAttributes_1 = require("../../hooks/useAriaAttributes.js");
13
14
  const b = (0, cn_1.block)('post-card');
14
15
  const PostCard = ({ post, fullWidth = false, size = common_1.PostCardSize.SMALL, showTag = false, titleHeadingLevel = common_1.PostCardTitleHeadingLevel.H3, analyticsEvents, }) => {
15
16
  var _a;
16
17
  const { title: postTitle, htmlTitle, textTitle, blogPostId, id, date, readingTime, hasUserLike, likes, image, description, tags, url, } = post;
17
18
  const title = postTitle || textTitle || htmlTitle;
18
- const { toggleLike, hasLikes } = (0, react_1.useContext)(LikesContext_1.LikesContext);
19
- const likesProps = (0, react_1.useMemo)(() => hasLikes
19
+ const { toggleLike, hasLikes } = React.useContext(LikesContext_1.LikesContext);
20
+ const likesProps = React.useMemo(() => hasLikes
20
21
  ? {
21
22
  hasUserLike,
22
23
  likesCount: likes,
@@ -37,20 +38,11 @@ const PostCard = ({ post, fullWidth = false, size = common_1.PostCardSize.SMALL,
37
38
  readingTime && readingTimeId,
38
39
  ],
39
40
  });
40
- return (react_1.default.createElement(page_constructor_1.CardBase, { url: url, analyticsEvents: analyticsEvents, className: b('card', { fullWidth }), extraProps: ariaAttributes },
41
- react_1.default.createElement(page_constructor_1.CardBase.Header, { image: image, className: b('header', { fullWidth }) },
42
- react_1.default.createElement("div", { className: b('image-container'), "data-qa": "blog-suggest-header" })),
43
- react_1.default.createElement(page_constructor_1.CardBase.Content, null,
44
- isTagVisible && (react_1.default.createElement("div", { id: tagId, className: b('tag', { size }) }, tags[0].name)),
45
- title && (react_1.default.createElement(page_constructor_1.YFMWrapper, { contentClassName: b('title', { size }), content: title, modifiers: {
46
- blog: true,
47
- blogCard: true,
48
- }, id: titleId, tagName: titleHeadingLevel })),
49
- description && (react_1.default.createElement(page_constructor_1.YFMWrapper, { contentClassName: b('description'), content: description, modifiers: {
50
- blog: size === 'm',
51
- blogCard: true,
52
- }, id: descriptionId }))),
53
- react_1.default.createElement(page_constructor_1.CardBase.Footer, null,
54
- react_1.default.createElement(SuggestPostInfo_1.SuggestPostInfo, { postId: blogPostId || id, date: date, readingTime: readingTime, hasUserLike: hasUserLike, likes: likesProps, size: size, qa: "blog-suggest-block", dateId: dateId, readingTimeId: readingTimeId }))));
41
+ return ((0, jsx_runtime_1.jsxs)(page_constructor_1.CardBase, { url: url, analyticsEvents: analyticsEvents, className: b('card', { fullWidth }), extraProps: ariaAttributes, children: [(0, jsx_runtime_1.jsx)(page_constructor_1.CardBase.Header, { image: image, className: b('header', { fullWidth }), children: (0, jsx_runtime_1.jsx)("div", { className: b('image-container'), "data-qa": "blog-suggest-header" }) }), (0, jsx_runtime_1.jsxs)(page_constructor_1.CardBase.Content, { children: [isTagVisible && ((0, jsx_runtime_1.jsx)("div", { id: tagId, className: b('tag', { size }), children: tags[0].name })), title &&
42
+ React.createElement(titleHeadingLevel, { className: b('title', { size }) }, (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(page_constructor_1.HTML, { id: titleId, children: title }) })), description && ((0, jsx_runtime_1.jsx)(page_constructor_1.YFMWrapper, { className: b('description'), content: description, modifiers: {
43
+ blog: size === 'm',
44
+ blogCard: true,
45
+ }, id: descriptionId }))] }), (0, jsx_runtime_1.jsx)(page_constructor_1.CardBase.Footer, { children: (0, jsx_runtime_1.jsx)(SuggestPostInfo_1.SuggestPostInfo, { postId: blogPostId || id, date: date, readingTime: readingTime, hasUserLike: hasUserLike, likes: likesProps, size: size, qa: "blog-suggest-block", dateId: dateId, readingTimeId: readingTimeId }) })] }));
55
46
  };
56
- exports.PostCard = PostCard;
47
+ exports.PostCard = PostCard;
48
+ //# sourceMappingURL=PostCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostCard.js","sourceRoot":"../../../../src","sources":["components/PostCard/PostCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {AnalyticsEventsProp, CardBase, HTML, YFMWrapper} from '@gravity-ui/page-constructor';\nimport {useUniqId} from '@gravity-ui/uikit';\n\nimport {LikesContext} from '../../contexts/LikesContext';\nimport {PostCardSize, PostCardTitleHeadingLevel, PostData} from '../../models/common';\nimport {block} from '../../utils/cn';\nimport {SuggestPostInfo} from '../PostInfo/SuggestPostInfo';\nimport {useAriaAttributes} from '../../hooks/useAriaAttributes';\n\nimport './PostCard.scss';\n\ntype PostCardProps = {\n post: PostData;\n fullWidth?: boolean;\n showTag?: boolean;\n size?: PostCardSize;\n titleHeadingLevel?: PostCardTitleHeadingLevel;\n analyticsEvents?: AnalyticsEventsProp;\n};\n\nconst b = block('post-card');\n\nexport const PostCard = ({\n post,\n fullWidth = false,\n size = PostCardSize.SMALL,\n showTag = false,\n titleHeadingLevel = PostCardTitleHeadingLevel.H3,\n analyticsEvents,\n}: PostCardProps) => {\n const {\n title: postTitle,\n htmlTitle,\n textTitle,\n blogPostId,\n id,\n date,\n readingTime,\n hasUserLike,\n likes,\n image,\n description,\n tags,\n url,\n } = post;\n\n const title = postTitle || textTitle || htmlTitle;\n\n const {toggleLike, hasLikes} = React.useContext(LikesContext);\n\n const likesProps = React.useMemo(\n () =>\n hasLikes\n ? {\n hasUserLike,\n likesCount: likes,\n toggleLike,\n }\n : undefined,\n [hasUserLike, likes, toggleLike, hasLikes],\n );\n const titleId = useUniqId();\n const descriptionId = useUniqId();\n const dateId = useUniqId();\n const tagId = useUniqId();\n const readingTimeId = useUniqId();\n const isTagVisible = showTag && tags?.[0]?.name;\n const ariaAttributes = useAriaAttributes({\n labelIds: [isTagVisible && tagId, title && titleId],\n descriptionIds: [\n description && descriptionId,\n date && dateId,\n readingTime && readingTimeId,\n ],\n });\n\n return (\n <CardBase\n url={url}\n analyticsEvents={analyticsEvents}\n className={b('card', {fullWidth})}\n extraProps={ariaAttributes}\n >\n <CardBase.Header image={image} className={b('header', {fullWidth})}>\n <div className={b('image-container')} data-qa=\"blog-suggest-header\" />\n </CardBase.Header>\n <CardBase.Content>\n {isTagVisible && (\n <div id={tagId} className={b('tag', {size})}>\n {tags[0].name}\n </div>\n )}\n {title &&\n React.createElement(\n titleHeadingLevel,\n {className: b('title', {size})},\n <span>\n <HTML id={titleId}>{title}</HTML>\n </span>,\n )}\n {description && (\n <YFMWrapper\n className={b('description')}\n content={description}\n modifiers={{\n blog: size === 'm',\n blogCard: true,\n }}\n id={descriptionId}\n />\n )}\n </CardBase.Content>\n <CardBase.Footer>\n <SuggestPostInfo\n postId={blogPostId || id}\n date={date}\n readingTime={readingTime}\n hasUserLike={hasUserLike}\n likes={likesProps}\n size={size}\n qa=\"blog-suggest-block\"\n dateId={dateId}\n readingTimeId={readingTimeId}\n />\n </CardBase.Footer>\n </CardBase>\n );\n};\n"]}
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { AnalyticsEventsProp } from '@gravity-ui/page-constructor';
3
- import { PostData, QAProps } from '../../models/common';
2
+ import { PostData, QAProps } from "../../models/common.js";
4
3
  type PostInfoProps = QAProps & {
5
4
  postId: PostData['id'];
6
5
  readingTime: PostData['readingTime'];
@@ -20,5 +19,5 @@ type PostInfoProps = QAProps & {
20
19
  *
21
20
  * @returns jsx
22
21
  */
23
- export declare const PostInfo: ({ date, readingTime, postId, theme, qa, analyticsEventsContainer, }: PostInfoProps) => React.JSX.Element;
22
+ export declare const PostInfo: ({ date, readingTime, postId, theme, qa, analyticsEventsContainer, }: PostInfoProps) => import("react/jsx-runtime").JSX.Element;
24
23
  export {};
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostInfo = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
6
- const PostPageContext_1 = require("../../contexts/PostPageContext");
7
- const cn_1 = require("../../utils/cn");
8
- const Date_1 = require("./components/Date");
9
- const ReadingTime_1 = require("./components/ReadingTime");
10
- const Save_1 = require("./components/Save");
11
- const Sharing_1 = require("./components/Sharing");
12
- const common_1 = require("../../utils/common");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
7
+ const PostPageContext_1 = require("../../contexts/PostPageContext.js");
8
+ const cn_1 = require("../../utils/cn.js");
9
+ const Date_1 = require("./components/Date.js");
10
+ const ReadingTime_1 = require("./components/ReadingTime.js");
11
+ const Save_1 = require("./components/Save.js");
12
+ const Sharing_1 = require("./components/Sharing.js");
13
+ const common_1 = require("../../utils/common.js");
13
14
  const b = (0, cn_1.block)('post-info');
14
15
  /**
15
16
  * Blog post info panel component
@@ -24,12 +25,9 @@ const b = (0, cn_1.block)('post-info');
24
25
  * @returns jsx
25
26
  */
26
27
  const PostInfo = ({ date, readingTime, postId, theme = 'light', qa, analyticsEventsContainer, }) => {
27
- const { likes } = (0, react_1.useContext)(PostPageContext_1.PostPageContext);
28
+ const { likes } = React.useContext(PostPageContext_1.PostPageContext);
28
29
  const qaAttributes = (0, common_1.getQaAttributes)(qa, 'date', 'reading-time', 'save');
29
- return (react_1.default.createElement("div", { className: b('container', { theme }) },
30
- date && react_1.default.createElement(Date_1.Date, { date: date, qa: qaAttributes.date }),
31
- readingTime && react_1.default.createElement(ReadingTime_1.ReadingTime, { readingTime: readingTime, qa: qaAttributes.readingTime }),
32
- react_1.default.createElement(Sharing_1.Sharing, { theme: theme, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.sharing }),
33
- likes && (react_1.default.createElement(Save_1.Save, { postId: postId, title: likes.likesCount, hasUserLike: likes.hasUserLike, handleUserLike: likes.handleUserLike, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.save, theme: theme, qa: qaAttributes.save }))));
30
+ return ((0, jsx_runtime_1.jsxs)("div", { className: b('container', { theme }), children: [date && (0, jsx_runtime_1.jsx)(Date_1.Date, { date: date, qa: qaAttributes.date }), readingTime && (0, jsx_runtime_1.jsx)(ReadingTime_1.ReadingTime, { readingTime: readingTime, qa: qaAttributes.readingTime }), (0, jsx_runtime_1.jsx)(Sharing_1.Sharing, { theme: theme, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.sharing }), likes && ((0, jsx_runtime_1.jsx)(Save_1.Save, { postId: postId, title: likes.likesCount, hasUserLike: likes.hasUserLike, handleUserLike: likes.handleUserLike, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.save, theme: theme, qa: qaAttributes.save }))] }));
34
31
  };
35
- exports.PostInfo = PostInfo;
32
+ exports.PostInfo = PostInfo;
33
+ //# sourceMappingURL=PostInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostInfo.js","sourceRoot":"../../../../src","sources":["components/PostInfo/PostInfo.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAG/B,uEAA+D;AAE/D,0CAAqC;AAErC,+CAAuC;AACvC,6DAAqD;AACrD,+CAAuC;AACvC,qDAA6C;AAC7C,kDAAmD;AAInD,MAAM,CAAC,GAAG,IAAA,UAAK,EAAC,WAAW,CAAC,CAAC;AAU7B;;;;;;;;;;;GAWG;AACI,MAAM,QAAQ,GAAG,CAAC,EACrB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,KAAK,GAAG,OAAO,EACf,EAAE,EACF,wBAAwB,GACZ,EAAE,EAAE;IAChB,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAe,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAEzE,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,EAAC,KAAK,EAAC,CAAC,aAClC,IAAI,IAAI,uBAAC,WAAI,IAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,IAAI,GAAI,EACnD,WAAW,IAAI,uBAAC,yBAAW,IAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,CAAC,WAAW,GAAI,EACvF,uBAAC,iBAAO,IAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,OAAO,GAAI,EAC5E,KAAK,IAAI,CACN,uBAAC,WAAI,IACD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,eAAe,EAAE,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,IAAI,EAC/C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,YAAY,CAAC,IAAI,GACvB,CACL,IACC,CACT,CAAC;AACN,CAAC,CAAC;AA7BW,QAAA,QAAQ,YA6BnB","sourcesContent":["import * as React from 'react';\n\nimport {AnalyticsEventsProp} from '@gravity-ui/page-constructor';\nimport {PostPageContext} from '../../contexts/PostPageContext';\nimport {PostData, QAProps} from '../../models/common';\nimport {block} from '../../utils/cn';\n\nimport {Date} from './components/Date';\nimport {ReadingTime} from './components/ReadingTime';\nimport {Save} from './components/Save';\nimport {Sharing} from './components/Sharing';\nimport {getQaAttributes} from '../../utils/common';\n\nimport './PostInfo.scss';\n\nconst b = block('post-info');\n\ntype PostInfoProps = QAProps & {\n postId: PostData['id'];\n readingTime: PostData['readingTime'];\n date: PostData['date'];\n theme?: 'light' | 'dark';\n analyticsEventsContainer?: Record<string, AnalyticsEventsProp>;\n};\n\n/**\n * Blog post info panel component\n *\n * @param postId - post id\n * @param readingTime - post reading time\n * @param date - post create date\n * @param theme - theme name\n * @param qa - test-attr\n * @param analyticsEventsContainer - a map of records with a single or collection of objects detailing analytics events\n *\n * @returns jsx\n */\nexport const PostInfo = ({\n date,\n readingTime,\n postId,\n theme = 'light',\n qa,\n analyticsEventsContainer,\n}: PostInfoProps) => {\n const {likes} = React.useContext(PostPageContext);\n const qaAttributes = getQaAttributes(qa, 'date', 'reading-time', 'save');\n\n return (\n <div className={b('container', {theme})}>\n {date && <Date date={date} qa={qaAttributes.date} />}\n {readingTime && <ReadingTime readingTime={readingTime} qa={qaAttributes.readingTime} />}\n <Sharing theme={theme} analyticsEvents={analyticsEventsContainer?.sharing} />\n {likes && (\n <Save\n postId={postId}\n title={likes.likesCount}\n hasUserLike={likes.hasUserLike}\n handleUserLike={likes.handleUserLike}\n analyticsEvents={analyticsEventsContainer?.save}\n theme={theme}\n qa={qaAttributes.save}\n />\n )}\n </div>\n );\n};\n"]}
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { PostCardSize, PostData, QAProps, ToggleLikeCallbackType } from '../../models/common';
1
+ import { PostCardSize, PostData, QAProps, ToggleLikeCallbackType } from "../../models/common.js";
3
2
  export interface SuggestPostInfoProps extends Pick<PostData, 'date' | 'readingTime' | 'hasUserLike'>, QAProps {
4
3
  postId: PostData['blogPostId'];
5
4
  size?: PostCardSize;
@@ -27,4 +26,4 @@ export interface SuggestPostInfoProps extends Pick<PostData, 'date' | 'readingTi
27
26
  *
28
27
  * @returns jsx
29
28
  */
30
- export declare const SuggestPostInfo: ({ postId, date, readingTime, likes, size, qa, dateId, readingTimeId, }: SuggestPostInfoProps) => React.JSX.Element;
29
+ export declare const SuggestPostInfo: ({ postId, date, readingTime, likes, size, qa, dateId, readingTimeId, }: SuggestPostInfoProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuggestPostInfo = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
- const useLikes_1 = require("../../hooks/useLikes");
7
- const common_1 = require("../../models/common");
8
- const cn_1 = require("../../utils/cn");
9
- const Date_1 = require("./components/Date");
10
- const ReadingTime_1 = require("./components/ReadingTime");
11
- const Save_1 = require("./components/Save");
12
- const common_2 = require("../../utils/common");
13
- const constants_1 = require("../../constants");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const useLikes_1 = require("../../hooks/useLikes.js");
6
+ const common_1 = require("../../models/common.js");
7
+ const cn_1 = require("../../utils/cn.js");
8
+ const Date_1 = require("./components/Date.js");
9
+ const ReadingTime_1 = require("./components/ReadingTime.js");
10
+ const Save_1 = require("./components/Save.js");
11
+ const common_2 = require("../../utils/common.js");
12
+ const constants_1 = require("../../constants.js");
14
13
  const b = (0, cn_1.block)('post-info');
15
14
  const saveEvents = (0, common_2.prepareAnalyticsEvent)({ name: constants_1.DefaultGoalIds.saveSuggest });
16
15
  /**
@@ -36,10 +35,7 @@ const SuggestPostInfo = ({ postId, date, readingTime, likes, size = common_1.Pos
36
35
  toggleLikeCallback: likes === null || likes === void 0 ? void 0 : likes.toggleLike,
37
36
  postId: postId,
38
37
  });
39
- return (react_1.default.createElement("div", { className: b('container') },
40
- react_1.default.createElement("div", { className: b('suggest-container') },
41
- date && react_1.default.createElement(Date_1.Date, { date: date, size: size, id: dateId }),
42
- readingTime && (react_1.default.createElement(ReadingTime_1.ReadingTime, { readingTime: readingTime, size: size, id: readingTimeId }))),
43
- likes && postId && (react_1.default.createElement(Save_1.Save, { postId: postId, title: likesCount, analyticsEvents: saveEvents, hasUserLike: hasUserLike, handleUserLike: handleLike, size: size, qa: qa }))));
38
+ return ((0, jsx_runtime_1.jsxs)("div", { className: b('container'), children: [(0, jsx_runtime_1.jsxs)("div", { className: b('suggest-container'), children: [date && (0, jsx_runtime_1.jsx)(Date_1.Date, { date: date, size: size, id: dateId }), readingTime && ((0, jsx_runtime_1.jsx)(ReadingTime_1.ReadingTime, { readingTime: readingTime, size: size, id: readingTimeId }))] }), likes && postId && ((0, jsx_runtime_1.jsx)(Save_1.Save, { postId: postId, title: likesCount, analyticsEvents: saveEvents, hasUserLike: hasUserLike, handleUserLike: handleLike, size: size, qa: qa }))] }));
44
39
  };
45
- exports.SuggestPostInfo = SuggestPostInfo;
40
+ exports.SuggestPostInfo = SuggestPostInfo;
41
+ //# sourceMappingURL=SuggestPostInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestPostInfo.js","sourceRoot":"../../../../src","sources":["components/PostInfo/SuggestPostInfo.tsx"],"names":[],"mappings":";;;;AAAA,sDAA8C;AAC9C,mDAA4F;AAC5F,0CAAqC;AAErC,+CAAuC;AACvC,6DAAqD;AACrD,+CAAuC;AACvC,kDAAyD;AACzD,kDAA+C;AAI/C,MAAM,CAAC,GAAG,IAAA,UAAK,EAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,UAAU,GAAG,IAAA,8BAAqB,EAAC,EAAC,IAAI,EAAE,0BAAc,CAAC,WAAW,EAAC,CAAC,CAAC;AAgB7E;;;;;;;;;;;;;;;GAeG;AACI,MAAM,eAAe,GAAG,CAAC,EAC5B,MAAM,EACN,IAAI,EACJ,WAAW,EACX,KAAK,EACL,IAAI,GAAG,qBAAY,CAAC,KAAK,EACzB,EAAE,EACF,MAAM,EACN,aAAa,GACM,EAAE,EAAE;IACvB,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,IAAA,mBAAQ,EAAC;QACnD,OAAO,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW;QAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU;QACxB,kBAAkB,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU;QACrC,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,aAC1B,iCAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,aACjC,IAAI,IAAI,uBAAC,WAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAI,EACpD,WAAW,IAAI,CACZ,uBAAC,yBAAW,IAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,GAAI,CAC3E,IACC,EACL,KAAK,IAAI,MAAM,IAAI,CAChB,uBAAC,WAAI,IACD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,EACjB,eAAe,EAAE,UAAU,EAC3B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,UAAU,EAC1B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,GACR,CACL,IACC,CACT,CAAC;AACN,CAAC,CAAC;AAtCW,QAAA,eAAe,mBAsC1B","sourcesContent":["import {useLikes} from '../../hooks/useLikes';\nimport {PostCardSize, PostData, QAProps, ToggleLikeCallbackType} from '../../models/common';\nimport {block} from '../../utils/cn';\n\nimport {Date} from './components/Date';\nimport {ReadingTime} from './components/ReadingTime';\nimport {Save} from './components/Save';\nimport {prepareAnalyticsEvent} from '../../utils/common';\nimport {DefaultGoalIds} from '../../constants';\n\nimport './PostInfo.scss';\n\nconst b = block('post-info');\n\nconst saveEvents = prepareAnalyticsEvent({name: DefaultGoalIds.saveSuggest});\n\nexport interface SuggestPostInfoProps\n extends Pick<PostData, 'date' | 'readingTime' | 'hasUserLike'>,\n QAProps {\n postId: PostData['blogPostId'];\n size?: PostCardSize;\n likes?: {\n likesCount?: number;\n hasUserLike?: boolean;\n toggleLike?: ToggleLikeCallbackType;\n };\n dateId?: string;\n readingTimeId?: string;\n}\n\n/**\n * Suggest blog card info component\n *\n * @param postId - post id\n * @param date - post create date\n * @param readingTime - post reading time\n * @param hasUserLike - flag that the user liked the post\n * @param likes - likes count\n * @param qa - test-attr\n * @param size - text size\n * @param isModernIcon - flag what we need render 'bookmark' icon\n * @param dateId - id value for element with post date. Useful when providing accessible description\n * @param readingTimeId - id value for element with reading time. Useful when providing accessible description\n *\n * @returns jsx\n */\nexport const SuggestPostInfo = ({\n postId,\n date,\n readingTime,\n likes,\n size = PostCardSize.SMALL,\n qa,\n dateId,\n readingTimeId,\n}: SuggestPostInfoProps) => {\n const {hasUserLike, likesCount, handleLike} = useLikes({\n hasLike: likes?.hasUserLike,\n count: likes?.likesCount,\n toggleLikeCallback: likes?.toggleLike,\n postId: postId,\n });\n\n return (\n <div className={b('container')}>\n <div className={b('suggest-container')}>\n {date && <Date date={date} size={size} id={dateId} />}\n {readingTime && (\n <ReadingTime readingTime={readingTime} size={size} id={readingTimeId} />\n )}\n </div>\n {likes && postId && (\n <Save\n postId={postId}\n title={likesCount}\n analyticsEvents={saveEvents}\n hasUserLike={hasUserLike}\n handleUserLike={handleLike}\n size={size}\n qa={qa}\n />\n )}\n </div>\n );\n};\n"]}
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
- import { PostCardSize, QAProps } from '../../../models/common';
1
+ import { PostCardSize, QAProps } from "../../../models/common.js";
3
2
  type DateProps = QAProps & {
4
3
  date: string | number;
5
4
  size?: PostCardSize;
6
5
  id?: string;
7
6
  };
8
- export declare const Date: ({ date, size, id, qa }: DateProps) => React.JSX.Element;
7
+ export declare const Date: ({ date, size, id, qa }: DateProps) => import("react/jsx-runtime").JSX.Element;
9
8
  export {};
@@ -2,14 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Date = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
6
- const LocaleContext_1 = require("../../../contexts/LocaleContext");
7
- const common_1 = require("../../../models/common");
8
- const cn_1 = require("../../../utils/cn");
9
- const date_1 = require("../../../utils/date");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
7
+ const LocaleContext_1 = require("../../../contexts/LocaleContext.js");
8
+ const common_1 = require("../../../models/common.js");
9
+ const cn_1 = require("../../../utils/cn.js");
10
+ const date_1 = require("../../../utils/date.js");
10
11
  const b = (0, cn_1.block)('post-info');
11
12
  const Date = ({ date, size = common_1.PostCardSize.SMALL, id, qa }) => {
12
- const { locale } = (0, react_1.useContext)(LocaleContext_1.LocaleContext);
13
- return (react_1.default.createElement("div", { className: b('item', { size }), id: id, "data-qa": qa }, (0, date_1.format)(date, 'longDate', locale === null || locale === void 0 ? void 0 : locale.code)));
13
+ const { locale } = React.useContext(LocaleContext_1.LocaleContext);
14
+ return ((0, jsx_runtime_1.jsx)("div", { className: b('item', { size }), id: id, "data-qa": qa, children: (0, date_1.format)(date, 'longDate', locale === null || locale === void 0 ? void 0 : locale.code) }));
14
15
  };
15
- exports.Date = Date;
16
+ exports.Date = Date;
17
+ //# sourceMappingURL=Date.js.map