@gravity-ui/blog-constructor 6.5.0 → 6.5.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) 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.d.ts +2 -3
  103. package/build/cjs/components/PostCard/PostCard.js +16 -23
  104. package/build/cjs/components/PostCard/PostCard.js.map +1 -0
  105. package/build/cjs/components/PostInfo/PostInfo.d.ts +2 -3
  106. package/build/cjs/components/PostInfo/PostInfo.js +13 -15
  107. package/build/cjs/components/PostInfo/PostInfo.js.map +1 -0
  108. package/build/cjs/components/PostInfo/SuggestPostInfo.d.ts +2 -3
  109. package/build/cjs/components/PostInfo/SuggestPostInfo.js +12 -16
  110. package/build/cjs/components/PostInfo/SuggestPostInfo.js.map +1 -0
  111. package/build/cjs/components/PostInfo/components/Date.d.ts +2 -3
  112. package/build/cjs/components/PostInfo/components/Date.js +10 -8
  113. package/build/cjs/components/PostInfo/components/Date.js.map +1 -0
  114. package/build/cjs/components/PostInfo/components/ReadingTime.d.ts +2 -3
  115. package/build/cjs/components/PostInfo/components/ReadingTime.js +7 -10
  116. package/build/cjs/components/PostInfo/components/ReadingTime.js.map +1 -0
  117. package/build/cjs/components/PostInfo/components/Save.d.ts +2 -3
  118. package/build/cjs/components/PostInfo/components/Save.js +14 -16
  119. package/build/cjs/components/PostInfo/components/Save.js.map +1 -0
  120. package/build/cjs/components/PostInfo/components/Sharing.d.ts +1 -2
  121. package/build/cjs/components/PostInfo/components/Sharing.js +17 -17
  122. package/build/cjs/components/PostInfo/components/Sharing.js.map +1 -0
  123. package/build/cjs/components/Posts/Posts.d.ts +4 -4
  124. package/build/cjs/components/Posts/Posts.js +16 -28
  125. package/build/cjs/components/Posts/Posts.js.map +1 -0
  126. package/build/cjs/components/PostsEmpty/PostsEmpty.d.ts +1 -2
  127. package/build/cjs/components/PostsEmpty/PostsEmpty.js +6 -8
  128. package/build/cjs/components/PostsEmpty/PostsEmpty.js.map +1 -0
  129. package/build/cjs/components/PostsError/PostsError.d.ts +1 -2
  130. package/build/cjs/components/PostsError/PostsError.js +6 -10
  131. package/build/cjs/components/PostsError/PostsError.js.map +1 -0
  132. package/build/cjs/components/Prompt/Prompt.d.ts +1 -2
  133. package/build/cjs/components/Prompt/Prompt.js +10 -12
  134. package/build/cjs/components/Prompt/Prompt.js.map +1 -0
  135. package/build/cjs/components/PromptSignIn/PromptSignIn.d.ts +4 -4
  136. package/build/cjs/components/PromptSignIn/PromptSignIn.js +6 -5
  137. package/build/cjs/components/PromptSignIn/PromptSignIn.js.map +1 -0
  138. package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.d.ts +2 -2
  139. package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.js +6 -5
  140. package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.js.map +1 -0
  141. package/build/cjs/components/Search/Search.d.ts +2 -3
  142. package/build/cjs/components/Search/Search.js +17 -17
  143. package/build/cjs/components/Search/Search.js.map +1 -0
  144. package/build/cjs/components/Wrapper/Wrapper.d.ts +3 -3
  145. package/build/cjs/components/Wrapper/Wrapper.js +7 -7
  146. package/build/cjs/components/Wrapper/Wrapper.js.map +1 -0
  147. package/build/cjs/constants.d.ts +2 -2
  148. package/build/cjs/constants.js +4 -3
  149. package/build/cjs/constants.js.map +1 -0
  150. package/build/cjs/constructor/BlogConstructorProvider.d.ts +7 -7
  151. package/build/cjs/constructor/BlogConstructorProvider.js +21 -19
  152. package/build/cjs/constructor/BlogConstructorProvider.js.map +1 -0
  153. package/build/cjs/constructor/blocksMap.d.ts +12 -12
  154. package/build/cjs/constructor/blocksMap.js +15 -14
  155. package/build/cjs/constructor/blocksMap.js.map +1 -0
  156. package/build/cjs/containers/BlogPage/BlogPage.d.ts +4 -4
  157. package/build/cjs/containers/BlogPage/BlogPage.js +22 -25
  158. package/build/cjs/containers/BlogPage/BlogPage.js.map +1 -0
  159. package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +6 -5
  160. package/build/cjs/containers/BlogPostPage/BlogPostPage.js +28 -30
  161. package/build/cjs/containers/BlogPostPage/BlogPostPage.js.map +1 -0
  162. package/build/cjs/contexts/DeviceContext.d.ts +2 -2
  163. package/build/cjs/contexts/DeviceContext.js +3 -2
  164. package/build/cjs/contexts/DeviceContext.js.map +1 -0
  165. package/build/cjs/contexts/FeedContext.d.ts +2 -2
  166. package/build/cjs/contexts/FeedContext.js +3 -2
  167. package/build/cjs/contexts/FeedContext.js.map +1 -0
  168. package/build/cjs/contexts/LikesContext.d.ts +2 -2
  169. package/build/cjs/contexts/LikesContext.js +3 -2
  170. package/build/cjs/contexts/LikesContext.js.map +1 -0
  171. package/build/cjs/contexts/LocaleContext.d.ts +2 -2
  172. package/build/cjs/contexts/LocaleContext.js +4 -3
  173. package/build/cjs/contexts/LocaleContext.js.map +1 -0
  174. package/build/cjs/contexts/MobileContext.d.ts +1 -1
  175. package/build/cjs/contexts/MobileContext.js +3 -2
  176. package/build/cjs/contexts/MobileContext.js.map +1 -0
  177. package/build/cjs/contexts/PostPageContext.d.ts +4 -2
  178. package/build/cjs/contexts/PostPageContext.js +3 -2
  179. package/build/cjs/contexts/PostPageContext.js.map +1 -0
  180. package/build/cjs/contexts/RouterContext.d.ts +2 -2
  181. package/build/cjs/contexts/RouterContext.js +3 -2
  182. package/build/cjs/contexts/RouterContext.js.map +1 -0
  183. package/build/cjs/contexts/SettingsContext.d.ts +1 -1
  184. package/build/cjs/contexts/SettingsContext.js +3 -2
  185. package/build/cjs/contexts/SettingsContext.js.map +1 -0
  186. package/build/cjs/contexts/theme/ThemeContext.d.ts +2 -2
  187. package/build/cjs/contexts/theme/ThemeContext.js +4 -3
  188. package/build/cjs/contexts/theme/ThemeContext.js.map +1 -0
  189. package/build/cjs/contexts/theme/ThemeProvider.d.ts +4 -4
  190. package/build/cjs/contexts/theme/ThemeProvider.js +9 -8
  191. package/build/cjs/contexts/theme/ThemeProvider.js.map +1 -0
  192. package/build/cjs/contexts/theme/ThemeValueContext.d.ts +1 -1
  193. package/build/cjs/contexts/theme/ThemeValueContext.js +3 -2
  194. package/build/cjs/contexts/theme/ThemeValueContext.js.map +1 -0
  195. package/build/cjs/contexts/theme/index.d.ts +6 -6
  196. package/build/cjs/contexts/theme/index.js +7 -6
  197. package/build/cjs/contexts/theme/index.js.map +1 -0
  198. package/build/cjs/contexts/theme/useTheme.d.ts +1 -1
  199. package/build/cjs/contexts/theme/useTheme.js +5 -5
  200. package/build/cjs/contexts/theme/useTheme.js.map +1 -0
  201. package/build/cjs/contexts/theme/useThemeValue.d.ts +1 -1
  202. package/build/cjs/contexts/theme/useThemeValue.js +5 -5
  203. package/build/cjs/contexts/theme/useThemeValue.js.map +1 -0
  204. package/build/cjs/contexts/theme/withTheme.d.ts +2 -2
  205. package/build/cjs/contexts/theme/withTheme.js +7 -6
  206. package/build/cjs/contexts/theme/withTheme.js.map +1 -0
  207. package/build/cjs/contexts/theme/withThemeValue.d.ts +2 -2
  208. package/build/cjs/contexts/theme/withThemeValue.js +7 -6
  209. package/build/cjs/contexts/theme/withThemeValue.js.map +1 -0
  210. package/build/cjs/counters/metrika.js +3 -3
  211. package/build/cjs/counters/metrika.js.map +1 -0
  212. package/build/cjs/counters/utils.js +2 -1
  213. package/build/cjs/counters/utils.js.map +1 -0
  214. package/build/cjs/hooks/useAriaAttributes.js +6 -4
  215. package/build/cjs/hooks/useAriaAttributes.js.map +1 -0
  216. package/build/cjs/hooks/useExtendedComponentMap.d.ts +18 -17
  217. package/build/cjs/hooks/useExtendedComponentMap.js +5 -4
  218. package/build/cjs/hooks/useExtendedComponentMap.js.map +1 -0
  219. package/build/cjs/hooks/useHover.d.ts +1 -1
  220. package/build/cjs/hooks/useHover.js +6 -6
  221. package/build/cjs/hooks/useHover.js.map +1 -0
  222. package/build/cjs/hooks/useIsIPhone.js +6 -4
  223. package/build/cjs/hooks/useIsIPhone.js.map +1 -0
  224. package/build/cjs/hooks/useLikes.d.ts +1 -1
  225. package/build/cjs/hooks/useLikes.js +8 -6
  226. package/build/cjs/hooks/useLikes.js.map +1 -0
  227. package/build/cjs/hooks/useOpenCloseTimer.js +6 -5
  228. package/build/cjs/hooks/useOpenCloseTimer.js.map +1 -0
  229. package/build/cjs/i18n/index.d.ts +5 -1
  230. package/build/cjs/i18n/index.js +3 -2
  231. package/build/cjs/i18n/index.js.map +1 -0
  232. package/build/cjs/icons/Close.d.ts +2 -2
  233. package/build/cjs/icons/Close.js +5 -6
  234. package/build/cjs/icons/Close.js.map +1 -0
  235. package/build/cjs/icons/DropdownArrow.d.ts +2 -2
  236. package/build/cjs/icons/DropdownArrow.js +5 -6
  237. package/build/cjs/icons/DropdownArrow.js.map +1 -0
  238. package/build/cjs/icons/Save.d.ts +2 -2
  239. package/build/cjs/icons/Save.js +5 -6
  240. package/build/cjs/icons/Save.js.map +1 -0
  241. package/build/cjs/icons/SaveFilled.d.ts +2 -2
  242. package/build/cjs/icons/SaveFilled.js +5 -6
  243. package/build/cjs/icons/SaveFilled.js.map +1 -0
  244. package/build/cjs/icons/SearchIcon.d.ts +2 -2
  245. package/build/cjs/icons/SearchIcon.js +5 -6
  246. package/build/cjs/icons/SearchIcon.js.map +1 -0
  247. package/build/cjs/icons/ShareArrowUp.d.ts +2 -2
  248. package/build/cjs/icons/ShareArrowUp.js +5 -6
  249. package/build/cjs/icons/ShareArrowUp.js.map +1 -0
  250. package/build/cjs/icons/Time.d.ts +2 -2
  251. package/build/cjs/icons/Time.js +5 -6
  252. package/build/cjs/icons/Time.js.map +1 -0
  253. package/build/cjs/index.d.ts +8 -7
  254. package/build/cjs/index.js +10 -8
  255. package/build/cjs/index.js.map +1 -0
  256. package/build/cjs/models/blocks.d.ts +4 -4
  257. package/build/cjs/models/blocks.js +2 -1
  258. package/build/cjs/models/blocks.js.map +1 -0
  259. package/build/cjs/models/common.d.ts +3 -3
  260. package/build/cjs/models/common.js +6 -5
  261. package/build/cjs/models/common.js.map +1 -0
  262. package/build/cjs/models/locale.js +2 -1
  263. package/build/cjs/models/locale.js.map +1 -0
  264. package/build/cjs/models/paddings.js +2 -1
  265. package/build/cjs/models/paddings.js.map +1 -0
  266. package/build/cjs/package.json +1 -0
  267. package/build/cjs/schema/blocks.d.ts +10 -10
  268. package/build/cjs/schema/blocks.js +11 -10
  269. package/build/cjs/schema/blocks.js.map +1 -0
  270. package/build/cjs/schema/common.js +2 -1
  271. package/build/cjs/schema/common.js.map +1 -0
  272. package/build/cjs/schema/headers.d.ts +1 -1
  273. package/build/cjs/schema/headers.js +2 -1
  274. package/build/cjs/schema/headers.js.map +1 -0
  275. package/build/cjs/schema/index.d.ts +8 -2
  276. package/build/cjs/schema/index.js +5 -4
  277. package/build/cjs/schema/index.js.map +1 -0
  278. package/build/cjs/schema/utils.d.ts +1 -1
  279. package/build/cjs/schema/utils.js +2 -1
  280. package/build/cjs/schema/utils.js.map +1 -0
  281. package/build/cjs/utils/cn.js +2 -1
  282. package/build/cjs/utils/cn.js.map +1 -0
  283. package/build/cjs/utils/common.d.ts +17 -18
  284. package/build/cjs/utils/common.js +7 -6
  285. package/build/cjs/utils/common.js.map +1 -0
  286. package/build/cjs/utils/date.js +2 -1
  287. package/build/cjs/utils/date.js.map +1 -0
  288. package/build/cjs/utils/index.d.ts +1 -0
  289. package/build/cjs/utils/index.js +6 -0
  290. package/build/cjs/utils/index.js.map +1 -0
  291. package/build/cjs/utils/svg.js +2 -1
  292. package/build/cjs/utils/svg.js.map +1 -0
  293. package/build/esm/blocks/Author/Author.d.ts +2 -3
  294. package/build/esm/blocks/Author/Author.js +13 -13
  295. package/build/esm/blocks/Author/Author.js.map +1 -0
  296. package/build/esm/blocks/Author/schema.js +4 -3
  297. package/build/esm/blocks/Author/schema.js.map +1 -0
  298. package/build/esm/blocks/Banner/Banner.d.ts +2 -3
  299. package/build/esm/blocks/Banner/Banner.js +11 -15
  300. package/build/esm/blocks/Banner/Banner.js.map +1 -0
  301. package/build/esm/blocks/Banner/schema.js +4 -3
  302. package/build/esm/blocks/Banner/schema.js.map +1 -0
  303. package/build/esm/blocks/CTA/CTA.d.ts +2 -3
  304. package/build/esm/blocks/CTA/CTA.js +19 -19
  305. package/build/esm/blocks/CTA/CTA.js.map +1 -0
  306. package/build/esm/blocks/CTA/schema.js +4 -3
  307. package/build/esm/blocks/CTA/schema.js.map +1 -0
  308. package/build/esm/blocks/ColoredText/ColoredText.d.ts +2 -3
  309. package/build/esm/blocks/ColoredText/ColoredText.js +9 -12
  310. package/build/esm/blocks/ColoredText/ColoredText.js.map +1 -0
  311. package/build/esm/blocks/ColoredText/schema.js +4 -3
  312. package/build/esm/blocks/ColoredText/schema.js.map +1 -0
  313. package/build/esm/blocks/Feed/Feed.d.ts +2 -3
  314. package/build/esm/blocks/Feed/Feed.js +31 -31
  315. package/build/esm/blocks/Feed/Feed.js.map +1 -0
  316. package/build/esm/blocks/Feed/reducer.d.ts +1 -1
  317. package/build/esm/blocks/Feed/reducer.js +2 -1
  318. package/build/esm/blocks/Feed/reducer.js.map +1 -0
  319. package/build/esm/blocks/Feed/schema.js +3 -2
  320. package/build/esm/blocks/Feed/schema.js.map +1 -0
  321. package/build/esm/blocks/Form/Form.d.ts +2 -3
  322. package/build/esm/blocks/Form/Form.js +10 -10
  323. package/build/esm/blocks/Form/Form.js.map +1 -0
  324. package/build/esm/blocks/Form/schema.js +4 -3
  325. package/build/esm/blocks/Form/schema.js.map +1 -0
  326. package/build/esm/blocks/Header/Header.d.ts +2 -3
  327. package/build/esm/blocks/Header/Header.js +18 -18
  328. package/build/esm/blocks/Header/Header.js.map +1 -0
  329. package/build/esm/blocks/Header/schema.d.ts +3 -0
  330. package/build/esm/blocks/Header/schema.js +4 -3
  331. package/build/esm/blocks/Header/schema.js.map +1 -0
  332. package/build/esm/blocks/Layout/Layout.d.ts +3 -3
  333. package/build/esm/blocks/Layout/Layout.js +12 -13
  334. package/build/esm/blocks/Layout/Layout.js.map +1 -0
  335. package/build/esm/blocks/Layout/schema.js +4 -3
  336. package/build/esm/blocks/Layout/schema.js.map +1 -0
  337. package/build/esm/blocks/Media/Media.d.ts +2 -3
  338. package/build/esm/blocks/Media/Media.js +12 -15
  339. package/build/esm/blocks/Media/Media.js.map +1 -0
  340. package/build/esm/blocks/Media/schema.d.ts +3 -0
  341. package/build/esm/blocks/Media/schema.js +4 -3
  342. package/build/esm/blocks/Media/schema.js.map +1 -0
  343. package/build/esm/blocks/Meta/Meta.d.ts +2 -3
  344. package/build/esm/blocks/Meta/Meta.js +22 -23
  345. package/build/esm/blocks/Meta/Meta.js.map +1 -0
  346. package/build/esm/blocks/Meta/schema.js +4 -3
  347. package/build/esm/blocks/Meta/schema.js.map +1 -0
  348. package/build/esm/blocks/Suggest/Suggest.d.ts +2 -3
  349. package/build/esm/blocks/Suggest/Suggest.js +15 -14
  350. package/build/esm/blocks/Suggest/Suggest.js.map +1 -0
  351. package/build/esm/blocks/Suggest/schema.js +4 -3
  352. package/build/esm/blocks/Suggest/schema.js.map +1 -0
  353. package/build/esm/blocks/YFM/YFM.d.ts +2 -3
  354. package/build/esm/blocks/YFM/YFM.js +10 -10
  355. package/build/esm/blocks/YFM/YFM.js.map +1 -0
  356. package/build/esm/blocks/YFM/schema.js +4 -3
  357. package/build/esm/blocks/YFM/schema.js.map +1 -0
  358. package/build/esm/blocks/constants.js +2 -1
  359. package/build/esm/blocks/constants.js.map +1 -0
  360. package/build/esm/components/FeedHeader/FeedHeader.d.ts +3 -4
  361. package/build/esm/components/FeedHeader/FeedHeader.js +10 -13
  362. package/build/esm/components/FeedHeader/FeedHeader.js.map +1 -0
  363. package/build/esm/components/FeedHeader/components/Controls/Controls.d.ts +4 -4
  364. package/build/esm/components/FeedHeader/components/Controls/Controls.js +30 -40
  365. package/build/esm/components/FeedHeader/components/Controls/Controls.js.map +1 -0
  366. package/build/esm/components/FeedHeader/components/Controls/customRenders.d.ts +2 -3
  367. package/build/esm/components/FeedHeader/components/Controls/customRenders.js +12 -8
  368. package/build/esm/components/FeedHeader/components/Controls/customRenders.js.map +1 -0
  369. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  370. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +4 -5
  371. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js.map +1 -0
  372. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
  373. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +2 -3
  374. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +13 -17
  375. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js.map +1 -0
  376. package/build/esm/components/MetaWrapper/MetaWrapper.d.ts +1 -1
  377. package/build/esm/components/MetaWrapper/MetaWrapper.js +3 -2
  378. package/build/esm/components/MetaWrapper/MetaWrapper.js.map +1 -0
  379. package/build/esm/components/Paginator/Paginator.d.ts +2 -3
  380. package/build/esm/components/Paginator/Paginator.js +25 -29
  381. package/build/esm/components/Paginator/Paginator.js.map +1 -0
  382. package/build/esm/components/Paginator/components/NavigationButton.d.ts +2 -3
  383. package/build/esm/components/Paginator/components/NavigationButton.js +6 -5
  384. package/build/esm/components/Paginator/components/NavigationButton.js.map +1 -0
  385. package/build/esm/components/Paginator/components/PaginatorItem.d.ts +2 -3
  386. package/build/esm/components/Paginator/components/PaginatorItem.js +13 -11
  387. package/build/esm/components/Paginator/components/PaginatorItem.js.map +1 -0
  388. package/build/esm/components/Paginator/types.d.ts +3 -3
  389. package/build/esm/components/Paginator/types.js +2 -1
  390. package/build/esm/components/Paginator/types.js.map +1 -0
  391. package/build/esm/components/Paginator/utils.d.ts +2 -2
  392. package/build/esm/components/Paginator/utils.js +2 -1
  393. package/build/esm/components/Paginator/utils.js.map +1 -0
  394. package/build/esm/components/PostCard/PostCard.d.ts +2 -3
  395. package/build/esm/components/PostCard/PostCard.js +16 -23
  396. package/build/esm/components/PostCard/PostCard.js.map +1 -0
  397. package/build/esm/components/PostInfo/PostInfo.d.ts +2 -3
  398. package/build/esm/components/PostInfo/PostInfo.js +13 -15
  399. package/build/esm/components/PostInfo/PostInfo.js.map +1 -0
  400. package/build/esm/components/PostInfo/SuggestPostInfo.d.ts +2 -3
  401. package/build/esm/components/PostInfo/SuggestPostInfo.js +12 -15
  402. package/build/esm/components/PostInfo/SuggestPostInfo.js.map +1 -0
  403. package/build/esm/components/PostInfo/components/Date.d.ts +2 -3
  404. package/build/esm/components/PostInfo/components/Date.js +10 -8
  405. package/build/esm/components/PostInfo/components/Date.js.map +1 -0
  406. package/build/esm/components/PostInfo/components/ReadingTime.d.ts +2 -3
  407. package/build/esm/components/PostInfo/components/ReadingTime.js +6 -8
  408. package/build/esm/components/PostInfo/components/ReadingTime.js.map +1 -0
  409. package/build/esm/components/PostInfo/components/Save.d.ts +2 -3
  410. package/build/esm/components/PostInfo/components/Save.js +14 -16
  411. package/build/esm/components/PostInfo/components/Save.js.map +1 -0
  412. package/build/esm/components/PostInfo/components/Sharing.d.ts +1 -2
  413. package/build/esm/components/PostInfo/components/Sharing.js +17 -17
  414. package/build/esm/components/PostInfo/components/Sharing.js.map +1 -0
  415. package/build/esm/components/Posts/Posts.d.ts +4 -4
  416. package/build/esm/components/Posts/Posts.js +15 -26
  417. package/build/esm/components/Posts/Posts.js.map +1 -0
  418. package/build/esm/components/PostsEmpty/PostsEmpty.d.ts +1 -2
  419. package/build/esm/components/PostsEmpty/PostsEmpty.js +5 -6
  420. package/build/esm/components/PostsEmpty/PostsEmpty.js.map +1 -0
  421. package/build/esm/components/PostsError/PostsError.d.ts +1 -2
  422. package/build/esm/components/PostsError/PostsError.js +6 -9
  423. package/build/esm/components/PostsError/PostsError.js.map +1 -0
  424. package/build/esm/components/Prompt/Prompt.d.ts +1 -2
  425. package/build/esm/components/Prompt/Prompt.js +10 -12
  426. package/build/esm/components/Prompt/Prompt.js.map +1 -0
  427. package/build/esm/components/PromptSignIn/PromptSignIn.d.ts +4 -4
  428. package/build/esm/components/PromptSignIn/PromptSignIn.js +6 -5
  429. package/build/esm/components/PromptSignIn/PromptSignIn.js.map +1 -0
  430. package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.d.ts +2 -2
  431. package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.js +5 -4
  432. package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.js.map +1 -0
  433. package/build/esm/components/Search/Search.d.ts +2 -3
  434. package/build/esm/components/Search/Search.js +17 -17
  435. package/build/esm/components/Search/Search.js.map +1 -0
  436. package/build/esm/components/Wrapper/Wrapper.d.ts +3 -3
  437. package/build/esm/components/Wrapper/Wrapper.js +6 -5
  438. package/build/esm/components/Wrapper/Wrapper.js.map +1 -0
  439. package/build/esm/constants.d.ts +2 -2
  440. package/build/esm/constants.js +3 -2
  441. package/build/esm/constants.js.map +1 -0
  442. package/build/esm/constructor/BlogConstructorProvider.d.ts +7 -7
  443. package/build/esm/constructor/BlogConstructorProvider.js +20 -18
  444. package/build/esm/constructor/BlogConstructorProvider.js.map +1 -0
  445. package/build/esm/constructor/blocksMap.d.ts +12 -12
  446. package/build/esm/constructor/blocksMap.js +15 -14
  447. package/build/esm/constructor/blocksMap.js.map +1 -0
  448. package/build/esm/containers/BlogPage/BlogPage.d.ts +4 -4
  449. package/build/esm/containers/BlogPage/BlogPage.js +22 -25
  450. package/build/esm/containers/BlogPage/BlogPage.js.map +1 -0
  451. package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +6 -5
  452. package/build/esm/containers/BlogPostPage/BlogPostPage.js +28 -30
  453. package/build/esm/containers/BlogPostPage/BlogPostPage.js.map +1 -0
  454. package/build/esm/contexts/DeviceContext.d.ts +2 -2
  455. package/build/esm/contexts/DeviceContext.js +3 -2
  456. package/build/esm/contexts/DeviceContext.js.map +1 -0
  457. package/build/esm/contexts/FeedContext.d.ts +2 -2
  458. package/build/esm/contexts/FeedContext.js +3 -2
  459. package/build/esm/contexts/FeedContext.js.map +1 -0
  460. package/build/esm/contexts/LikesContext.d.ts +2 -2
  461. package/build/esm/contexts/LikesContext.js +3 -2
  462. package/build/esm/contexts/LikesContext.js.map +1 -0
  463. package/build/esm/contexts/LocaleContext.d.ts +2 -2
  464. package/build/esm/contexts/LocaleContext.js +3 -2
  465. package/build/esm/contexts/LocaleContext.js.map +1 -0
  466. package/build/esm/contexts/MobileContext.d.ts +1 -1
  467. package/build/esm/contexts/MobileContext.js +3 -2
  468. package/build/esm/contexts/MobileContext.js.map +1 -0
  469. package/build/esm/contexts/PostPageContext.d.ts +4 -2
  470. package/build/esm/contexts/PostPageContext.js +3 -2
  471. package/build/esm/contexts/PostPageContext.js.map +1 -0
  472. package/build/esm/contexts/RouterContext.d.ts +2 -2
  473. package/build/esm/contexts/RouterContext.js +3 -2
  474. package/build/esm/contexts/RouterContext.js.map +1 -0
  475. package/build/esm/contexts/SettingsContext.d.ts +1 -1
  476. package/build/esm/contexts/SettingsContext.js +3 -2
  477. package/build/esm/contexts/SettingsContext.js.map +1 -0
  478. package/build/esm/contexts/theme/ThemeContext.d.ts +2 -2
  479. package/build/esm/contexts/theme/ThemeContext.js +4 -3
  480. package/build/esm/contexts/theme/ThemeContext.js.map +1 -0
  481. package/build/esm/contexts/theme/ThemeProvider.d.ts +4 -4
  482. package/build/esm/contexts/theme/ThemeProvider.js +8 -7
  483. package/build/esm/contexts/theme/ThemeProvider.js.map +1 -0
  484. package/build/esm/contexts/theme/ThemeValueContext.d.ts +1 -1
  485. package/build/esm/contexts/theme/ThemeValueContext.js +3 -2
  486. package/build/esm/contexts/theme/ThemeValueContext.js.map +1 -0
  487. package/build/esm/contexts/theme/index.d.ts +6 -6
  488. package/build/esm/contexts/theme/index.js +7 -6
  489. package/build/esm/contexts/theme/index.js.map +1 -0
  490. package/build/esm/contexts/theme/useTheme.d.ts +1 -1
  491. package/build/esm/contexts/theme/useTheme.js +4 -3
  492. package/build/esm/contexts/theme/useTheme.js.map +1 -0
  493. package/build/esm/contexts/theme/useThemeValue.d.ts +1 -1
  494. package/build/esm/contexts/theme/useThemeValue.js +4 -3
  495. package/build/esm/contexts/theme/useThemeValue.js.map +1 -0
  496. package/build/esm/contexts/theme/withTheme.d.ts +2 -2
  497. package/build/esm/contexts/theme/withTheme.js +6 -4
  498. package/build/esm/contexts/theme/withTheme.js.map +1 -0
  499. package/build/esm/contexts/theme/withThemeValue.d.ts +2 -2
  500. package/build/esm/contexts/theme/withThemeValue.js +6 -4
  501. package/build/esm/contexts/theme/withThemeValue.js.map +1 -0
  502. package/build/esm/counters/metrika.js +2 -1
  503. package/build/esm/counters/metrika.js.map +1 -0
  504. package/build/esm/counters/utils.js +2 -1
  505. package/build/esm/counters/utils.js.map +1 -0
  506. package/build/esm/hooks/useAriaAttributes.js +5 -4
  507. package/build/esm/hooks/useAriaAttributes.js.map +1 -0
  508. package/build/esm/hooks/useExtendedComponentMap.d.ts +18 -17
  509. package/build/esm/hooks/useExtendedComponentMap.js +4 -3
  510. package/build/esm/hooks/useExtendedComponentMap.js.map +1 -0
  511. package/build/esm/hooks/useHover.d.ts +1 -1
  512. package/build/esm/hooks/useHover.js +3 -2
  513. package/build/esm/hooks/useHover.js.map +1 -0
  514. package/build/esm/hooks/useIsIPhone.js +5 -4
  515. package/build/esm/hooks/useIsIPhone.js.map +1 -0
  516. package/build/esm/hooks/useLikes.d.ts +1 -1
  517. package/build/esm/hooks/useLikes.js +7 -6
  518. package/build/esm/hooks/useLikes.js.map +1 -0
  519. package/build/esm/hooks/useOpenCloseTimer.js +5 -4
  520. package/build/esm/hooks/useOpenCloseTimer.js.map +1 -0
  521. package/build/esm/i18n/index.d.ts +5 -1
  522. package/build/esm/i18n/index.js +2 -1
  523. package/build/esm/i18n/index.js.map +1 -0
  524. package/build/esm/icons/Close.d.ts +2 -2
  525. package/build/esm/icons/Close.js +4 -4
  526. package/build/esm/icons/Close.js.map +1 -0
  527. package/build/esm/icons/DropdownArrow.d.ts +2 -2
  528. package/build/esm/icons/DropdownArrow.js +4 -4
  529. package/build/esm/icons/DropdownArrow.js.map +1 -0
  530. package/build/esm/icons/Save.d.ts +2 -2
  531. package/build/esm/icons/Save.js +4 -4
  532. package/build/esm/icons/Save.js.map +1 -0
  533. package/build/esm/icons/SaveFilled.d.ts +2 -2
  534. package/build/esm/icons/SaveFilled.js +4 -4
  535. package/build/esm/icons/SaveFilled.js.map +1 -0
  536. package/build/esm/icons/SearchIcon.d.ts +2 -2
  537. package/build/esm/icons/SearchIcon.js +4 -4
  538. package/build/esm/icons/SearchIcon.js.map +1 -0
  539. package/build/esm/icons/ShareArrowUp.d.ts +2 -2
  540. package/build/esm/icons/ShareArrowUp.js +4 -4
  541. package/build/esm/icons/ShareArrowUp.js.map +1 -0
  542. package/build/esm/icons/Time.d.ts +2 -2
  543. package/build/esm/icons/Time.js +4 -4
  544. package/build/esm/icons/Time.js.map +1 -0
  545. package/build/esm/index.d.ts +8 -7
  546. package/build/esm/index.js +9 -7
  547. package/build/esm/index.js.map +1 -0
  548. package/build/esm/models/blocks.d.ts +4 -4
  549. package/build/esm/models/blocks.js +2 -1
  550. package/build/esm/models/blocks.js.map +1 -0
  551. package/build/esm/models/common.d.ts +3 -3
  552. package/build/esm/models/common.js +2 -1
  553. package/build/esm/models/common.js.map +1 -0
  554. package/build/esm/models/locale.js +2 -1
  555. package/build/esm/models/locale.js.map +1 -0
  556. package/build/esm/models/paddings.js +2 -1
  557. package/build/esm/models/paddings.js.map +1 -0
  558. package/build/esm/package.json +1 -0
  559. package/build/esm/schema/blocks.d.ts +10 -10
  560. package/build/esm/schema/blocks.js +11 -10
  561. package/build/esm/schema/blocks.js.map +1 -0
  562. package/build/esm/schema/common.js +2 -1
  563. package/build/esm/schema/common.js.map +1 -0
  564. package/build/esm/schema/headers.d.ts +1 -1
  565. package/build/esm/schema/headers.js +2 -1
  566. package/build/esm/schema/headers.js.map +1 -0
  567. package/build/esm/schema/index.d.ts +8 -2
  568. package/build/esm/schema/index.js +5 -4
  569. package/build/esm/schema/index.js.map +1 -0
  570. package/build/esm/schema/utils.d.ts +1 -1
  571. package/build/esm/schema/utils.js +2 -1
  572. package/build/esm/schema/utils.js.map +1 -0
  573. package/build/esm/utils/cn.js +2 -1
  574. package/build/esm/utils/cn.js.map +1 -0
  575. package/build/esm/utils/common.d.ts +17 -18
  576. package/build/esm/utils/common.js +5 -4
  577. package/build/esm/utils/common.js.map +1 -0
  578. package/build/esm/utils/date.js +2 -1
  579. package/build/esm/utils/date.js.map +1 -0
  580. package/build/esm/utils/index.d.ts +1 -0
  581. package/build/esm/utils/index.js +2 -0
  582. package/build/esm/utils/index.js.map +1 -0
  583. package/build/esm/utils/svg.js +2 -1
  584. package/build/esm/utils/svg.js.map +1 -0
  585. package/package.json +37 -24
  586. package/server/data/config.js +1 -1
  587. package/server/data/contentFilter.js +5 -3
  588. package/server/data/createReadableContent.js +1 -1
  589. package/server/data/sanitizeMeta.d.ts +5 -5
  590. package/server/data/sanitizeMeta.js +1 -1
  591. package/server/data/transformPageContent.js +5 -3
  592. package/server/data/transformPost.js +13 -3
  593. package/server/index.d.ts +4 -4
  594. package/server/models/blocks.d.ts +2 -2
  595. package/server/models/blocks.js +1 -1
  596. package/server/models/common.d.ts +2 -2
  597. package/server/models/common.js +5 -5
  598. package/server/models/locale.js +1 -1
  599. package/server/models/paddings.js +1 -1
  600. package/styles/storybook/common.scss +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Layout/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,MAAM,EACF,MAAM,EAAE,EAAC,cAAc,EAAE,aAAa,EAAC,GAC1C,GAAG,UAAU,CAAC;AAEf,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,aAAa,EAAC,+BAA4B;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,UAAU,gDACH,cAAc,GACd,aAAa,KAChB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;aAChC,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import {validators} from '@gravity-ui/page-constructor';\n\nconst {\n common: {BlockBaseProps, ChildrenProps},\n} = validators;\n\nimport {BlockType} from '../../models/common';\nimport {BlogBlockBase} from '../../schema/common';\n\nexport const Layout = {\n [BlockType.Layout]: {\n type: 'object',\n additionalProperties: false,\n required: ['children'],\n properties: {\n ...BlockBaseProps,\n ...BlogBlockBase,\n children: ChildrenProps,\n mobileOrder: {\n type: 'string',\n enum: ['reverse', 'straight'],\n },\n },\n },\n};\n"]}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
- import { MediaProps } from '../../models/blocks';
1
+ import { MediaProps } from "../../models/blocks.js";
3
2
  import './Media.css';
4
- export declare const Media: ({ text, paddingTop, paddingBottom, ...mediaProps }: MediaProps) => React.JSX.Element;
3
+ export declare const Media: ({ text, paddingTop, paddingBottom, ...mediaProps }: MediaProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,23 +1,20 @@
1
1
  import { __rest } from "tslib";
2
- import React from 'react';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Media as PCMedia, YFMWrapper } from '@gravity-ui/page-constructor';
4
- import { Wrapper } from '../../components/Wrapper/Wrapper';
5
- import { PaddingsDirections } from '../../models/paddings';
6
- import { block } from '../../utils/cn';
4
+ import { Wrapper } from "../../components/Wrapper/Wrapper.js";
5
+ import { PaddingsDirections } from "../../models/paddings.js";
6
+ import { block } from "../../utils/cn.js";
7
7
  import './Media.css';
8
8
  const b = block('media');
9
9
  export const Media = (_a) => {
10
10
  var { text, paddingTop, paddingBottom } = _a, mediaProps = __rest(_a, ["text", "paddingTop", "paddingBottom"]);
11
- return (React.createElement(Wrapper, { paddings: {
11
+ return (_jsxs(Wrapper, { paddings: {
12
12
  [PaddingsDirections.top]: paddingTop,
13
13
  [PaddingsDirections.bottom]: paddingBottom,
14
- }, className: b('container') },
15
- React.createElement("div", { className: b('border'), "data-qa": "blog-media-content" },
16
- React.createElement(PCMedia, Object.assign({ className: b('content'), videoClassName: b('video'), imageClassName: b('image') }, mediaProps))),
17
- text && (React.createElement("div", { className: b('text-content') },
18
- React.createElement(YFMWrapper, { content: text, modifiers: {
19
- blog: true,
20
- blogMedia: true,
21
- resetPaddings: true,
22
- } })))));
23
- };
14
+ }, className: b('container'), children: [_jsx("div", { className: b('border'), "data-qa": "blog-media-content", children: _jsx(PCMedia, Object.assign({ className: b('content'), videoClassName: b('video'), imageClassName: b('image') }, mediaProps)) }), text && (_jsx("div", { className: b('text-content'), children: _jsx(YFMWrapper, { content: text, modifiers: {
15
+ blog: true,
16
+ blogMedia: true,
17
+ resetPaddings: true,
18
+ } }) }))] }));
19
+ };
20
+ //# sourceMappingURL=Media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Media.js","sourceRoot":"../../../../src","sources":["blocks/Media/Media.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAC,KAAK,IAAI,OAAO,EAAE,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAC,OAAO,EAAC,4CAAyC;AAEzD,OAAO,EAAC,kBAAkB,EAAC,iCAA8B;AACzD,OAAO,EAAC,KAAK,EAAC,0BAAuB;AAErC,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAEzB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAA4D,EAAE,EAAE;QAAhE,EAAC,IAAI,EAAE,UAAU,EAAE,aAAa,OAA4B,EAAvB,UAAU,cAA/C,uCAAgD,CAAD;IAAkB,OAAA,CACnF,MAAC,OAAO,IACJ,QAAQ,EAAE;YACN,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,UAAU;YACpC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,aAAa;SAC7C,EACD,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,aAEzB,cAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAU,oBAAoB,YACrD,KAAC,OAAO,kBACJ,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EACvB,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAC1B,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,IACtB,UAAU,EAChB,GACA,EACL,IAAI,IAAI,CACL,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,YAC7B,KAAC,UAAU,IACP,OAAO,EAAE,IAAI,EACb,SAAS,EAAE;wBACP,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,IAAI;wBACf,aAAa,EAAE,IAAI;qBACtB,GACH,GACA,CACT,IACK,CACb,CAAA;CAAA,CAAC","sourcesContent":["import {Media as PCMedia, YFMWrapper} from '@gravity-ui/page-constructor';\n\nimport {Wrapper} from '../../components/Wrapper/Wrapper';\nimport {MediaProps} from '../../models/blocks';\nimport {PaddingsDirections} from '../../models/paddings';\nimport {block} from '../../utils/cn';\n\nimport './Media.scss';\n\nconst b = block('media');\n\nexport const Media = ({text, paddingTop, paddingBottom, ...mediaProps}: MediaProps) => (\n <Wrapper\n paddings={{\n [PaddingsDirections.top]: paddingTop,\n [PaddingsDirections.bottom]: paddingBottom,\n }}\n className={b('container')}\n >\n <div className={b('border')} data-qa=\"blog-media-content\">\n <PCMedia\n className={b('content')}\n videoClassName={b('video')}\n imageClassName={b('image')}\n {...mediaProps}\n />\n </div>\n {text && (\n <div className={b('text-content')}>\n <YFMWrapper\n content={text}\n modifiers={{\n blog: true,\n blogMedia: true,\n resetPaddings: true,\n }}\n />\n </div>\n )}\n </Wrapper>\n);\n"]}
@@ -171,6 +171,9 @@ export declare const Media: {
171
171
  videoIframe: {
172
172
  type: string;
173
173
  };
174
+ autoplay: {
175
+ type: string;
176
+ };
174
177
  parallax: {
175
178
  type: string;
176
179
  };
@@ -1,6 +1,6 @@
1
1
  import { validators } from '@gravity-ui/page-constructor';
2
- import { BlockType } from '../../models/common';
3
- import { BlogBlockBase } from '../../schema/common';
2
+ import { BlockType } from "../../models/common.js";
3
+ import { BlogBlockBase } from "../../schema/common.js";
4
4
  const { common: { BlockBaseProps, MediaProps }, } = validators;
5
5
  export const Media = {
6
6
  [BlockType.Media]: {
@@ -11,4 +11,5 @@ export const Media = {
11
11
  contentType: 'text',
12
12
  } }),
13
13
  },
14
- };
14
+ };
15
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Media/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,aAAa,EAAC,+BAA4B;AAElD,MAAM,EACF,MAAM,EAAE,EAAC,cAAc,EAAE,UAAU,EAAC,GACvC,GAAG,UAAU,CAAC;AAEf,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,8DACH,cAAc,GACd,aAAa,GACb,UAAU,KACb,IAAI,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACtB,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import {validators} from '@gravity-ui/page-constructor';\n\nimport {BlockType} from '../../models/common';\nimport {BlogBlockBase} from '../../schema/common';\n\nconst {\n common: {BlockBaseProps, MediaProps},\n} = validators;\n\nexport const Media = {\n [BlockType.Media]: {\n type: 'object',\n additionalProperties: false,\n properties: {\n ...BlockBaseProps,\n ...BlogBlockBase,\n ...MediaProps,\n text: {\n type: 'string',\n contentType: 'text',\n },\n },\n },\n};\n"]}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
- import { MetaProps } from '../../models/blocks';
1
+ import { MetaProps } from "../../models/blocks.js";
3
2
  import './Meta.css';
4
- export declare const Meta: (props: MetaProps) => React.JSX.Element;
3
+ export declare const Meta: (props: MetaProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,16 @@
1
- import React, { useContext } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
2
3
  import { HeaderBreadcrumbs, YFMWrapper } from '@gravity-ui/page-constructor';
3
- import { PostInfo } from '../../components/PostInfo/PostInfo';
4
- import { Wrapper } from '../../components/Wrapper/Wrapper';
5
- import { DefaultGoalIds } from '../../constants';
6
- import { LocaleContext } from '../../contexts/LocaleContext';
7
- import { SettingsContext } from '../../contexts/SettingsContext';
8
- import { PostPageContext } from '../../contexts/PostPageContext';
9
- import { PaddingsDirections } from '../../models/paddings';
10
- import { block } from '../../utils/cn';
11
- import { getBreadcrumbs, getBlogPath as getDefaultBlogPath, getMergedAnalyticsEvents, getQaAttributes, prepareAnalyticsEvent, } from '../../utils/common';
12
- import { AnalyticsCounter } from '../../counters/utils';
4
+ import { PostInfo } from "../../components/PostInfo/PostInfo.js";
5
+ import { Wrapper } from "../../components/Wrapper/Wrapper.js";
6
+ import { DefaultGoalIds } from "../../constants.js";
7
+ import { LocaleContext } from "../../contexts/LocaleContext.js";
8
+ import { SettingsContext } from "../../contexts/SettingsContext.js";
9
+ import { PostPageContext } from "../../contexts/PostPageContext.js";
10
+ import { PaddingsDirections } from "../../models/paddings.js";
11
+ import { block } from "../../utils/cn.js";
12
+ import { getBreadcrumbs, getBlogPath as getDefaultBlogPath, getMergedAnalyticsEvents, getQaAttributes, prepareAnalyticsEvent, } from "../../utils/common.js";
13
+ import { AnalyticsCounter } from "../../counters/utils.js";
13
14
  import './Meta.css';
14
15
  const b = block('meta');
15
16
  const analyticsEventsContainer = {
@@ -22,22 +23,20 @@ const breadcrumbsGoals = prepareAnalyticsEvent({
22
23
  });
23
24
  export const Meta = (props) => {
24
25
  const { paddingTop = 'l', paddingBottom = 'l', theme = 'light', qa } = props;
25
- const { post } = useContext(PostPageContext);
26
- const { locale } = useContext(LocaleContext);
26
+ const { post } = React.useContext(PostPageContext);
27
+ const { locale } = React.useContext(LocaleContext);
27
28
  const qaAttributes = getQaAttributes(qa, 'post-info');
28
- const { getBlogPath = getDefaultBlogPath } = useContext(SettingsContext);
29
+ const { getBlogPath = getDefaultBlogPath } = React.useContext(SettingsContext);
29
30
  const blogPath = getBlogPath(locale.pathPrefix || '');
30
31
  const { title, id, date, readingTime, tags } = post;
31
32
  const breadcrumbs = getBreadcrumbs({ tags, blogPath });
32
33
  breadcrumbs.analyticsEvents = getMergedAnalyticsEvents(breadcrumbsGoals);
33
- return (React.createElement(Wrapper, { paddings: {
34
+ return (_jsxs(Wrapper, { paddings: {
34
35
  [PaddingsDirections.top]: paddingTop,
35
36
  [PaddingsDirections.bottom]: paddingBottom,
36
- }, qa: qaAttributes.wrapper },
37
- breadcrumbs && (React.createElement(HeaderBreadcrumbs, { items: breadcrumbs.items, className: b('breadcrumbs'), theme: theme })),
38
- title && (React.createElement(YFMWrapper, { content: title, modifiers: {
39
- blogBreadcrumbs: true,
40
- resetPaddings: true,
41
- } })),
42
- post && (React.createElement(PostInfo, { postId: id, date: date, readingTime: readingTime, analyticsEventsContainer: analyticsEventsContainer, qa: qaAttributes.postInfo }))));
43
- };
37
+ }, qa: qaAttributes.wrapper, children: [breadcrumbs && (_jsx(HeaderBreadcrumbs, { items: breadcrumbs.items, className: b('breadcrumbs'), theme: theme })), title && (_jsx(YFMWrapper, { content: title, modifiers: {
38
+ blogBreadcrumbs: true,
39
+ resetPaddings: true,
40
+ } })), post && (_jsx(PostInfo, { postId: id, date: date, readingTime: readingTime, analyticsEventsContainer: analyticsEventsContainer, qa: qaAttributes.postInfo }))] }));
41
+ };
42
+ //# sourceMappingURL=Meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Meta.js","sourceRoot":"../../../../src","sources":["blocks/Meta/Meta.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {AnalyticsEventsProp, HeaderBreadcrumbs, YFMWrapper} from '@gravity-ui/page-constructor';\n\nimport {PostInfo} from '../../components/PostInfo/PostInfo';\nimport {Wrapper} from '../../components/Wrapper/Wrapper';\nimport {DefaultGoalIds} from '../../constants';\nimport {LocaleContext} from '../../contexts/LocaleContext';\nimport {SettingsContext} from '../../contexts/SettingsContext';\nimport {PostPageContext} from '../../contexts/PostPageContext';\nimport {MetaProps} from '../../models/blocks';\nimport {PaddingsDirections} from '../../models/paddings';\nimport {block} from '../../utils/cn';\nimport {\n getBreadcrumbs,\n getBlogPath as getDefaultBlogPath,\n getMergedAnalyticsEvents,\n getQaAttributes,\n prepareAnalyticsEvent,\n} from '../../utils/common';\nimport {AnalyticsCounter} from '../../counters/utils';\n\nimport './Meta.scss';\n\nconst b = block('meta');\n\nconst analyticsEventsContainer: Record<string, AnalyticsEventsProp> = {\n sharing: prepareAnalyticsEvent({name: DefaultGoalIds.shareBottom}),\n save: prepareAnalyticsEvent({name: DefaultGoalIds.saveBottom}),\n};\n\nconst breadcrumbsGoals = prepareAnalyticsEvent({\n name: DefaultGoalIds.breadcrumbsBottom,\n counter: AnalyticsCounter.CrossSite,\n});\n\nexport const Meta = (props: MetaProps) => {\n const {paddingTop = 'l', paddingBottom = 'l', theme = 'light', qa} = props;\n const {post} = React.useContext(PostPageContext);\n const {locale} = React.useContext(LocaleContext);\n const qaAttributes = getQaAttributes(qa, 'post-info');\n const {getBlogPath = getDefaultBlogPath} = React.useContext(SettingsContext);\n const blogPath = getBlogPath(locale.pathPrefix || '');\n\n const {title, id, date, readingTime, tags} = post;\n\n const breadcrumbs = getBreadcrumbs({tags, blogPath});\n\n breadcrumbs.analyticsEvents = getMergedAnalyticsEvents(breadcrumbsGoals);\n\n return (\n <Wrapper\n paddings={{\n [PaddingsDirections.top]: paddingTop,\n [PaddingsDirections.bottom]: paddingBottom,\n }}\n qa={qaAttributes.wrapper}\n >\n {breadcrumbs && (\n <HeaderBreadcrumbs\n items={breadcrumbs.items}\n className={b('breadcrumbs')}\n theme={theme}\n />\n )}\n {title && (\n <YFMWrapper\n content={title}\n modifiers={{\n blogBreadcrumbs: true,\n resetPaddings: true,\n }}\n />\n )}\n {post && (\n <PostInfo\n postId={id}\n date={date}\n readingTime={readingTime}\n analyticsEventsContainer={analyticsEventsContainer}\n qa={qaAttributes.postInfo}\n />\n )}\n </Wrapper>\n );\n};\n"]}
@@ -1,11 +1,12 @@
1
1
  import { validators } from '@gravity-ui/page-constructor';
2
2
  const { common: { BlockBaseProps }, } = validators;
3
- import { BlockType } from '../../models/common';
4
- import { BlogBlockBase } from '../../schema/common';
3
+ import { BlockType } from "../../models/common.js";
4
+ import { BlogBlockBase } from "../../schema/common.js";
5
5
  export const Meta = {
6
6
  [BlockType.Meta]: {
7
7
  type: 'object',
8
8
  additionalProperties: false,
9
9
  properties: Object.assign(Object.assign({}, BlockBaseProps), BlogBlockBase),
10
10
  },
11
- };
11
+ };
12
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Meta/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,MAAM,EACF,MAAM,EAAE,EAAC,cAAc,EAAC,GAC3B,GAAG,UAAU,CAAC;AAEf,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,aAAa,EAAC,+BAA4B;AAElD,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,kCACH,cAAc,GACd,aAAa,CACnB;KACJ;CACJ,CAAC","sourcesContent":["import {validators} from '@gravity-ui/page-constructor';\n\nconst {\n common: {BlockBaseProps},\n} = validators;\n\nimport {BlockType} from '../../models/common';\nimport {BlogBlockBase} from '../../schema/common';\n\nexport const Meta = {\n [BlockType.Meta]: {\n type: 'object',\n additionalProperties: false,\n properties: {\n ...BlockBaseProps,\n ...BlogBlockBase,\n },\n },\n};\n"]}
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { SuggestProps } from '../../models/blocks';
1
+ import { SuggestProps } from "../../models/blocks.js";
3
2
  /**
4
3
  * Suggested posts block
5
4
  *
@@ -9,4 +8,4 @@ import { SuggestProps } from '../../models/blocks';
9
8
  *
10
9
  * @returns -jsx
11
10
  */
12
- export declare const Suggest: ({ paddingTop, paddingBottom }: SuggestProps) => React.JSX.Element | null;
11
+ export declare const Suggest: ({ paddingTop, paddingBottom }: SuggestProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,13 +1,14 @@
1
- import React, { useContext } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
2
3
  import { SliderBlock } from '@gravity-ui/page-constructor';
3
- import { PostCard } from '../../components/PostCard/PostCard';
4
- import { Wrapper } from '../../components/Wrapper/Wrapper';
5
- import { PostPageContext } from '../../contexts/PostPageContext';
6
- import { Keyset, i18n } from '../../i18n';
7
- import { PaddingsDirections } from '../../models/paddings';
8
- import { prepareAnalyticsEvent } from '../../utils/common';
9
- import { DefaultGoalIds } from '../../constants';
10
- import { AnalyticsCounter } from '../../counters/utils';
4
+ import { PostCard } from "../../components/PostCard/PostCard.js";
5
+ import { Wrapper } from "../../components/Wrapper/Wrapper.js";
6
+ import { PostPageContext } from "../../contexts/PostPageContext.js";
7
+ import { Keyset, i18n } from "../../i18n/index.js";
8
+ import { PaddingsDirections } from "../../models/paddings.js";
9
+ import { prepareAnalyticsEvent } from "../../utils/common.js";
10
+ import { DefaultGoalIds } from "../../constants.js";
11
+ import { AnalyticsCounter } from "../../counters/utils.js";
11
12
  const suggestGoals = prepareAnalyticsEvent({
12
13
  name: DefaultGoalIds.suggest,
13
14
  counter: AnalyticsCounter.CrossSite,
@@ -22,13 +23,13 @@ const suggestGoals = prepareAnalyticsEvent({
22
23
  * @returns -jsx
23
24
  */
24
25
  export const Suggest = ({ paddingTop = 'l', paddingBottom = 'l' }) => {
25
- const { suggestedPosts } = useContext(PostPageContext);
26
+ const { suggestedPosts } = React.useContext(PostPageContext);
26
27
  if (suggestedPosts.length === 0) {
27
28
  return null;
28
29
  }
29
- return (React.createElement(Wrapper, { paddings: {
30
+ return (_jsx(Wrapper, { paddings: {
30
31
  [PaddingsDirections.top]: paddingTop,
31
32
  [PaddingsDirections.bottom]: paddingBottom,
32
- } },
33
- React.createElement(SliderBlock, { slidesToShow: { xl: 3, lg: 2, sm: 1 }, title: { text: i18n(Keyset.TitleSuggest) }, lazyLoad: false }, suggestedPosts.map((post) => (React.createElement(PostCard, { key: post.id, analyticsEvents: suggestGoals, post: post }))))));
34
- };
33
+ }, children: _jsx(SliderBlock, { slidesToShow: { xl: 3, lg: 2, sm: 1 }, title: { text: i18n(Keyset.TitleSuggest) }, lazyLoad: false, children: suggestedPosts.map((post) => (_jsx(PostCard, { analyticsEvents: suggestGoals, post: post }, post.id))) }) }));
34
+ };
35
+ //# sourceMappingURL=Suggest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Suggest.js","sourceRoot":"../../../../src","sources":["blocks/Suggest/Suggest.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,QAAQ,EAAC,8CAA2C;AAC5D,OAAO,EAAC,OAAO,EAAC,4CAAyC;AACzD,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAC/D,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,4BAAmB;AAExC,OAAO,EAAC,kBAAkB,EAAC,iCAA8B;AACzD,OAAO,EAAC,qBAAqB,EAAC,8BAA2B;AACzD,OAAO,EAAC,cAAc,EAAC,2BAAwB;AAC/C,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AAEtD,MAAM,YAAY,GAAG,qBAAqB,CAAC;IACvC,IAAI,EAAE,cAAc,CAAC,OAAO;IAC5B,OAAO,EAAE,gBAAgB,CAAC,SAAS;CACtC,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAC,UAAU,GAAG,GAAG,EAAE,aAAa,GAAG,GAAG,EAAe,EAAE,EAAE;IAC7E,MAAM,EAAC,cAAc,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAE3D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,KAAC,OAAO,IACJ,QAAQ,EAAE;YACN,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,UAAU;YACpC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,aAAa;SAC7C,YAED,KAAC,WAAW,IACR,YAAY,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,EACnC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAC,EACxC,QAAQ,EAAE,KAAK,YAEd,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC1B,KAAC,QAAQ,IAAe,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,IAAlD,IAAI,CAAC,EAAE,CAA+C,CACxE,CAAC,GACQ,GACR,CACb,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {SliderBlock} from '@gravity-ui/page-constructor';\n\nimport {PostCard} from '../../components/PostCard/PostCard';\nimport {Wrapper} from '../../components/Wrapper/Wrapper';\nimport {PostPageContext} from '../../contexts/PostPageContext';\nimport {Keyset, i18n} from '../../i18n';\nimport {SuggestProps} from '../../models/blocks';\nimport {PaddingsDirections} from '../../models/paddings';\nimport {prepareAnalyticsEvent} from '../../utils/common';\nimport {DefaultGoalIds} from '../../constants';\nimport {AnalyticsCounter} from '../../counters/utils';\n\nconst suggestGoals = prepareAnalyticsEvent({\n name: DefaultGoalIds.suggest,\n counter: AnalyticsCounter.CrossSite,\n});\n\n/**\n * Suggested posts block\n *\n * @param posts - suggested posts list\n * @param paddingTop - padding top code\n * @param paddingBottom - padding bottom code\n *\n * @returns -jsx\n */\nexport const Suggest = ({paddingTop = 'l', paddingBottom = 'l'}: SuggestProps) => {\n const {suggestedPosts} = React.useContext(PostPageContext);\n\n if (suggestedPosts.length === 0) {\n return null;\n }\n\n return (\n <Wrapper\n paddings={{\n [PaddingsDirections.top]: paddingTop,\n [PaddingsDirections.bottom]: paddingBottom,\n }}\n >\n <SliderBlock\n slidesToShow={{xl: 3, lg: 2, sm: 1}}\n title={{text: i18n(Keyset.TitleSuggest)}}\n lazyLoad={false}\n >\n {suggestedPosts.map((post) => (\n <PostCard key={post.id} analyticsEvents={suggestGoals} post={post} />\n ))}\n </SliderBlock>\n </Wrapper>\n );\n};\n"]}
@@ -1,11 +1,12 @@
1
1
  import { validators } from '@gravity-ui/page-constructor';
2
2
  const { common: { BlockBaseProps }, } = validators;
3
- import { BlockType } from '../../models/common';
4
- import { BlogBlockBase } from '../../schema/common';
3
+ import { BlockType } from "../../models/common.js";
4
+ import { BlogBlockBase } from "../../schema/common.js";
5
5
  export const Suggest = {
6
6
  [BlockType.Suggest]: {
7
7
  type: 'object',
8
8
  additionalProperties: false,
9
9
  properties: Object.assign(Object.assign({}, BlockBaseProps), BlogBlockBase),
10
10
  },
11
- };
11
+ };
12
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Suggest/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,MAAM,EACF,MAAM,EAAE,EAAC,cAAc,EAAC,GAC3B,GAAG,UAAU,CAAC;AAEf,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,aAAa,EAAC,+BAA4B;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,kCACH,cAAc,GACd,aAAa,CACnB;KACJ;CACJ,CAAC","sourcesContent":["import {validators} from '@gravity-ui/page-constructor';\n\nconst {\n common: {BlockBaseProps},\n} = validators;\n\nimport {BlockType} from '../../models/common';\nimport {BlogBlockBase} from '../../schema/common';\n\nexport const Suggest = {\n [BlockType.Suggest]: {\n type: 'object',\n additionalProperties: false,\n properties: {\n ...BlockBaseProps,\n ...BlogBlockBase,\n },\n },\n};\n"]}
@@ -1,3 +1,2 @@
1
- import React from 'react';
2
- import { YFMProps } from '../../models/blocks';
3
- export declare const YFM: (props: YFMProps) => React.JSX.Element;
1
+ import { YFMProps } from "../../models/blocks.js";
2
+ export declare const YFM: (props: YFMProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,19 +1,19 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { YFMWrapper } from '@gravity-ui/page-constructor';
3
- import { Wrapper } from '../../components/Wrapper/Wrapper';
4
- import { PaddingsDirections } from '../../models/paddings';
5
- import { cn } from '../../utils/cn';
6
- import { getQaAttributes } from '../../utils/common';
3
+ import { Wrapper } from "../../components/Wrapper/Wrapper.js";
4
+ import { PaddingsDirections } from "../../models/paddings.js";
5
+ import { cn } from "../../utils/cn.js";
6
+ import { getQaAttributes } from "../../utils/common.js";
7
7
  const b = cn('yfm');
8
8
  export const YFM = (props) => {
9
9
  const { text, paddingTop, paddingBottom, qa } = props;
10
10
  const qaAttributes = getQaAttributes(qa);
11
- return (React.createElement(Wrapper, { paddings: {
11
+ return (_jsx(Wrapper, { paddings: {
12
12
  [PaddingsDirections.top]: paddingTop,
13
13
  [PaddingsDirections.bottom]: paddingBottom,
14
- }, qa: qaAttributes.wrapper },
15
- React.createElement(YFMWrapper, { content: text, modifiers: {
14
+ }, qa: qaAttributes.wrapper, children: _jsx(YFMWrapper, { content: text, modifiers: {
16
15
  blog: true,
17
16
  resetPaddings: true,
18
- }, className: b({ 'no-list-reset': true }) })));
19
- };
17
+ }, className: b({ 'no-list-reset': true }) }) }));
18
+ };
19
+ //# sourceMappingURL=YFM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YFM.js","sourceRoot":"../../../../src","sources":["blocks/YFM/YFM.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAC,OAAO,EAAC,4CAAyC;AAEzD,OAAO,EAAC,kBAAkB,EAAC,iCAA8B;AACzD,OAAO,EAAC,EAAE,EAAC,0BAAuB;AAClC,OAAO,EAAC,eAAe,EAAC,8BAA2B;AAEnD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEpB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,EAAE;IACnC,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAC,GAAG,KAAK,CAAC;IACpD,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEzC,OAAO,CACH,KAAC,OAAO,IACJ,QAAQ,EAAE;YACN,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,UAAU;YACpC,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,aAAa;SAC7C,EACD,EAAE,EAAE,YAAY,CAAC,OAAO,YAExB,KAAC,UAAU,IACP,OAAO,EAAE,IAAI,EACb,SAAS,EAAE;gBACP,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,IAAI;aACtB,EACD,SAAS,EAAE,CAAC,CAAC,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,GACvC,GACI,CACb,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {YFMWrapper} from '@gravity-ui/page-constructor';\n\nimport {Wrapper} from '../../components/Wrapper/Wrapper';\nimport {YFMProps} from '../../models/blocks';\nimport {PaddingsDirections} from '../../models/paddings';\nimport {cn} from '../../utils/cn';\nimport {getQaAttributes} from '../../utils/common';\n\nconst b = cn('yfm');\n\nexport const YFM = (props: YFMProps) => {\n const {text, paddingTop, paddingBottom, qa} = props;\n const qaAttributes = getQaAttributes(qa);\n\n return (\n <Wrapper\n paddings={{\n [PaddingsDirections.top]: paddingTop,\n [PaddingsDirections.bottom]: paddingBottom,\n }}\n qa={qaAttributes.wrapper}\n >\n <YFMWrapper\n content={text}\n modifiers={{\n blog: true,\n resetPaddings: true,\n }}\n className={b({'no-list-reset': true})}\n />\n </Wrapper>\n );\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import { validators } from '@gravity-ui/page-constructor';
2
2
  const { common: { BlockBaseProps }, } = validators;
3
- import { BlockType } from '../../models/common';
4
- import { BlogBlockBase } from '../../schema/common';
3
+ import { BlockType } from "../../models/common.js";
4
+ import { BlogBlockBase } from "../../schema/common.js";
5
5
  export const YFM = {
6
6
  [BlockType.YFM]: {
7
7
  type: 'object',
@@ -12,4 +12,5 @@ export const YFM = {
12
12
  contentType: 'yfm',
13
13
  } }),
14
14
  },
15
- };
15
+ };
16
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/YFM/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,MAAM,EACF,MAAM,EAAE,EAAC,cAAc,EAAC,GAC3B,GAAG,UAAU,CAAC;AAEf,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAC9C,OAAO,EAAC,aAAa,EAAC,+BAA4B;AAElD,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,gDACH,cAAc,GACd,aAAa,KAChB,IAAI,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,KAAK;aACrB,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import {validators} from '@gravity-ui/page-constructor';\n\nconst {\n common: {BlockBaseProps},\n} = validators;\n\nimport {BlockType} from '../../models/common';\nimport {BlogBlockBase} from '../../schema/common';\n\nexport const YFM = {\n [BlockType.YFM]: {\n type: 'object',\n additionalProperties: false,\n required: ['text'],\n properties: {\n ...BlockBaseProps,\n ...BlogBlockBase,\n text: {\n type: 'string',\n contentType: 'yfm',\n },\n },\n },\n};\n"]}
@@ -2,4 +2,5 @@ export const CONTENT_DEFAULT_SIZE = 's';
2
2
  export const CONTENT_DEFAULT_COL_SIZES = { all: 12, md: 12 };
3
3
  export const CONTENT_DEFAULT_THEME = 'default';
4
4
  export const DEFAULT_PAGE = 1;
5
- export const DEFAULT_ROWS_PER_PAGE = 12;
5
+ export const DEFAULT_ROWS_PER_PAGE = 12;
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"../../../src","sources":["blocks/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC","sourcesContent":["export const CONTENT_DEFAULT_SIZE = 's';\n\nexport const CONTENT_DEFAULT_COL_SIZES = {all: 12, md: 12};\n\nexport const CONTENT_DEFAULT_THEME = 'default';\n\nexport const DEFAULT_PAGE = 1;\n\nexport const DEFAULT_ROWS_PER_PAGE = 12;\n"]}
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
- import { ClassNameProps, HeaderBlockProps } from '../../models/common';
3
- import { ControlsProps } from './components/Controls/Controls';
1
+ import { ClassNameProps, HeaderBlockProps } from "../../models/common.js";
2
+ import { ControlsProps } from "./components/Controls/Controls.js";
4
3
  import './FeedHeader.css';
5
4
  type HeaderProps = Pick<HeaderBlockProps, 'background' | 'offset' | 'theme' | 'verticalOffset'>;
6
5
  type FeedHeaderProps = HeaderProps & ControlsProps;
7
6
  type FeedHeaderContainerProps = FeedHeaderProps & ClassNameProps;
8
- export declare const FeedHeader: ({ tags, services, handleLoadData, offset, background, theme, verticalOffset, className, queryParams, }: FeedHeaderContainerProps) => React.JSX.Element;
7
+ export declare const FeedHeader: ({ tags, services, handleLoadData, offset, background, theme, verticalOffset, className, queryParams, }: FeedHeaderContainerProps) => import("react/jsx-runtime").JSX.Element;
9
8
  export {};
@@ -1,18 +1,15 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { BackgroundImage, FullWidthBackground, Grid, getThemedValue, } from '@gravity-ui/page-constructor';
3
- import { block } from '../../utils/cn';
4
- import { Controls } from './components/Controls/Controls';
3
+ import { block } from "../../utils/cn.js";
4
+ import { Controls } from "./components/Controls/Controls.js";
5
5
  import './FeedHeader.css';
6
6
  const b = block('feed-header');
7
7
  export const FeedHeader = ({ tags, services, handleLoadData, offset = 'default', background, theme = 'light', verticalOffset = 'l', className, queryParams, }) => {
8
8
  const backgroundThemed = background && getThemedValue(background, theme);
9
- return (React.createElement("header", { className: b('header', { ['has-background']: Boolean(background) }, className) },
10
- (backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.color) ? (React.createElement(FullWidthBackground, { style: { backgroundColor: backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.color }, theme: "rounded" })) : null,
11
- React.createElement(Grid, { className: b('content', { offset, theme, 'vertical-offset': verticalOffset }) },
12
- backgroundThemed ? (React.createElement(BackgroundImage, { src: backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.url, className: b('background'), imageClassName: b('background-img'), style: {
13
- backgroundColor: backgroundThemed.fullWidth
14
- ? ''
15
- : backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.color,
16
- }, disableCompress: backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.disableCompress })) : null,
17
- React.createElement(Controls, { tags: tags, services: services, handleLoadData: handleLoadData, queryParams: queryParams }))));
18
- };
9
+ return (_jsxs("header", { className: b('header', { ['has-background']: Boolean(background) }, className), children: [(backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.color) ? (_jsx(FullWidthBackground, { style: { backgroundColor: backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.color }, theme: "rounded" })) : null, _jsxs(Grid, { className: b('content', { offset, theme, 'vertical-offset': verticalOffset }), children: [backgroundThemed ? (_jsx(BackgroundImage, { src: backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.url, className: b('background'), imageClassName: b('background-img'), style: {
10
+ backgroundColor: backgroundThemed.fullWidth
11
+ ? ''
12
+ : backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.color,
13
+ }, disableCompress: backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.disableCompress })) : null, _jsx(Controls, { tags: tags, services: services, handleLoadData: handleLoadData, queryParams: queryParams })] })] }));
14
+ };
15
+ //# sourceMappingURL=FeedHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedHeader.js","sourceRoot":"../../../../src","sources":["components/FeedHeader/FeedHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,IAAI,EAEJ,cAAc,GACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAC,KAAK,EAAC,0BAAuB;AAErC,OAAO,EAAC,QAAQ,EAAgB,0CAAuC;AAEvE,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAQ/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,MAAM,GAAG,SAAS,EAClB,UAAU,EACV,KAAK,GAAG,OAAO,EACf,cAAc,GAAG,GAAG,EACpB,SAAS,EACT,WAAW,GACY,EAAE,EAAE;IAC3B,MAAM,gBAAgB,GAAG,UAAU,IAAI,cAAc,CAAC,UAAU,EAAE,KAAc,CAAC,CAAC;IAElF,OAAO,CACH,kBAAQ,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAC,EAAE,SAAS,CAAC,aAC/E,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAC,CAAC,CAAC,CACvB,KAAC,mBAAmB,IAChB,KAAK,EAAE,EAAC,eAAe,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAC,EACjD,KAAK,EAAC,SAAS,GACjB,CACL,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAC,CAAC,aAC5E,gBAAgB,CAAC,CAAC,CAAC,CAChB,KAAC,eAAe,IACZ,GAAG,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAC1B,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,EAC1B,cAAc,EAAE,CAAC,CAAC,gBAAgB,CAAC,EACnC,KAAK,EAAE;4BACH,eAAe,EAAE,gBAAgB,CAAC,SAAS;gCACvC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK;yBAChC,EACD,eAAe,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,GACpD,CACL,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,QAAQ,IACL,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,GAC1B,IACC,IACF,CACZ,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {\n BackgroundImage,\n FullWidthBackground,\n Grid,\n Theme,\n getThemedValue,\n} from '@gravity-ui/page-constructor';\n\nimport {ClassNameProps, HeaderBlockProps} from '../../models/common';\nimport {block} from '../../utils/cn';\n\nimport {Controls, ControlsProps} from './components/Controls/Controls';\n\nimport './FeedHeader.scss';\n\nconst b = block('feed-header');\n\ntype HeaderProps = Pick<HeaderBlockProps, 'background' | 'offset' | 'theme' | 'verticalOffset'>;\n\ntype FeedHeaderProps = HeaderProps & ControlsProps;\n\ntype FeedHeaderContainerProps = FeedHeaderProps & ClassNameProps;\n\nexport const FeedHeader = ({\n tags,\n services,\n handleLoadData,\n offset = 'default',\n background,\n theme = 'light',\n verticalOffset = 'l',\n className,\n queryParams,\n}: FeedHeaderContainerProps) => {\n const backgroundThemed = background && getThemedValue(background, theme as Theme);\n\n return (\n <header className={b('header', {['has-background']: Boolean(background)}, className)}>\n {backgroundThemed?.color ? (\n <FullWidthBackground\n style={{backgroundColor: backgroundThemed?.color}}\n theme=\"rounded\"\n />\n ) : null}\n <Grid className={b('content', {offset, theme, 'vertical-offset': verticalOffset})}>\n {backgroundThemed ? (\n <BackgroundImage\n src={backgroundThemed?.url}\n className={b('background')}\n imageClassName={b('background-img')}\n style={{\n backgroundColor: backgroundThemed.fullWidth\n ? ''\n : backgroundThemed?.color,\n }}\n disableCompress={backgroundThemed?.disableCompress}\n />\n ) : null}\n <Controls\n tags={tags}\n services={services}\n handleLoadData={handleLoadData}\n queryParams={queryParams}\n />\n </Grid>\n </header>\n );\n};\n"]}
@@ -1,10 +1,10 @@
1
- import React, { ReactNode } from 'react';
2
- import { FetchArgs, Query } from '../../../../models/common';
1
+ import * as React from 'react';
2
+ import { FetchArgs, Query } from "../../../../models/common.js";
3
3
  import './Controls.css';
4
4
  export type SelectItem = {
5
5
  content: string;
6
6
  value: string;
7
- icon?: ReactNode;
7
+ icon?: React.ReactNode;
8
8
  };
9
9
  export type ControlsProps = {
10
10
  handleLoadData: (props: FetchArgs) => void;
@@ -12,4 +12,4 @@ export type ControlsProps = {
12
12
  services?: SelectItem[];
13
13
  queryParams: Query;
14
14
  };
15
- export declare const Controls: ({ handleLoadData, tags, services, queryParams, }: ControlsProps) => React.JSX.Element;
15
+ export declare const Controls: ({ handleLoadData, tags, services, queryParams, }: ControlsProps) => import("react/jsx-runtime").JSX.Element;
@@ -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":"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","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"]}