@gravity-ui/blog-constructor 1.0.0-aplha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (410) hide show
  1. package/CHANGELOG.md +231 -0
  2. package/LICENSE +21 -0
  3. package/README.md +14 -0
  4. package/build/cjs/blocks/Author/Author.css +31 -0
  5. package/build/cjs/blocks/Author/Author.d.ts +3 -0
  6. package/build/cjs/blocks/Author/Author.js +60 -0
  7. package/build/cjs/blocks/Banner/Banner.css +58 -0
  8. package/build/cjs/blocks/Banner/Banner.d.ts +3 -0
  9. package/build/cjs/blocks/Banner/Banner.js +51 -0
  10. package/build/cjs/blocks/CTA/CTA.css +56 -0
  11. package/build/cjs/blocks/CTA/CTA.d.ts +3 -0
  12. package/build/cjs/blocks/CTA/CTA.js +44 -0
  13. package/build/cjs/blocks/ColoredText/ColoredText.css +28 -0
  14. package/build/cjs/blocks/ColoredText/ColoredText.d.ts +3 -0
  15. package/build/cjs/blocks/ColoredText/ColoredText.js +37 -0
  16. package/build/cjs/blocks/Feed/Feed.d.ts +3 -0
  17. package/build/cjs/blocks/Feed/Feed.js +183 -0
  18. package/build/cjs/blocks/Feed/reducer.d.ts +65 -0
  19. package/build/cjs/blocks/Feed/reducer.js +40 -0
  20. package/build/cjs/blocks/Header/Header.d.ts +3 -0
  21. package/build/cjs/blocks/Header/Header.js +63 -0
  22. package/build/cjs/blocks/Layout/Layout.css +22 -0
  23. package/build/cjs/blocks/Layout/Layout.d.ts +3 -0
  24. package/build/cjs/blocks/Layout/Layout.js +78 -0
  25. package/build/cjs/blocks/Media/Media.css +41 -0
  26. package/build/cjs/blocks/Media/Media.d.ts +3 -0
  27. package/build/cjs/blocks/Media/Media.js +38 -0
  28. package/build/cjs/blocks/Meta/Meta.css +7 -0
  29. package/build/cjs/blocks/Meta/Meta.d.ts +3 -0
  30. package/build/cjs/blocks/Meta/Meta.js +66 -0
  31. package/build/cjs/blocks/Suggest/Suggest.d.ts +12 -0
  32. package/build/cjs/blocks/Suggest/Suggest.js +61 -0
  33. package/build/cjs/blocks/YFM/YFM.d.ts +3 -0
  34. package/build/cjs/blocks/YFM/YFM.js +24 -0
  35. package/build/cjs/blocks/constants.d.ts +8 -0
  36. package/build/cjs/blocks/constants.js +8 -0
  37. package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.css +76 -0
  38. package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.d.ts +12 -0
  39. package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.js +13 -0
  40. package/build/cjs/components/FeedHeader/FeedHeader.css +54 -0
  41. package/build/cjs/components/FeedHeader/FeedHeader.d.ts +8 -0
  42. package/build/cjs/components/FeedHeader/FeedHeader.js +24 -0
  43. package/build/cjs/components/FeedHeader/components/Controls/Controls.css +107 -0
  44. package/build/cjs/components/FeedHeader/components/Controls/Controls.d.ts +16 -0
  45. package/build/cjs/components/FeedHeader/components/Controls/Controls.js +106 -0
  46. package/build/cjs/components/FeedHeader/components/Controls/customRenders.d.ts +11 -0
  47. package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +22 -0
  48. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.css +14 -0
  49. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +8 -0
  50. package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +13 -0
  51. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +53 -0
  52. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +11 -0
  53. package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +47 -0
  54. package/build/cjs/components/MetaWrapper/MetaWrapper.d.ts +10 -0
  55. package/build/cjs/components/MetaWrapper/MetaWrapper.js +18 -0
  56. package/build/cjs/components/Paginator/Paginator.css +54 -0
  57. package/build/cjs/components/Paginator/Paginator.d.ts +2 -0
  58. package/build/cjs/components/Paginator/Paginator.js +118 -0
  59. package/build/cjs/components/Paginator/components/NavigationButton.d.ts +6 -0
  60. package/build/cjs/components/Paginator/components/NavigationButton.js +13 -0
  61. package/build/cjs/components/Paginator/components/PaginatorItem.d.ts +2 -0
  62. package/build/cjs/components/Paginator/components/PaginatorItem.js +15 -0
  63. package/build/cjs/components/Paginator/types.d.ts +29 -0
  64. package/build/cjs/components/Paginator/types.js +8 -0
  65. package/build/cjs/components/Paginator/utils.d.ts +3 -0
  66. package/build/cjs/components/Paginator/utils.js +32 -0
  67. package/build/cjs/components/PostCard/PostCard.css +85 -0
  68. package/build/cjs/components/PostCard/PostCard.d.ts +12 -0
  69. package/build/cjs/components/PostCard/PostCard.js +60 -0
  70. package/build/cjs/components/PostInfo/PostInfo.css +88 -0
  71. package/build/cjs/components/PostInfo/PostInfo.d.ts +28 -0
  72. package/build/cjs/components/PostInfo/PostInfo.js +55 -0
  73. package/build/cjs/components/PostInfo/SuggestPostInfo.d.ts +27 -0
  74. package/build/cjs/components/PostInfo/SuggestPostInfo.js +41 -0
  75. package/build/cjs/components/PostInfo/components/Date.d.ts +7 -0
  76. package/build/cjs/components/PostInfo/components/Date.js +36 -0
  77. package/build/cjs/components/PostInfo/components/ReadingTime.d.ts +7 -0
  78. package/build/cjs/components/PostInfo/components/ReadingTime.js +18 -0
  79. package/build/cjs/components/PostInfo/components/Save.d.ts +25 -0
  80. package/build/cjs/components/PostInfo/components/Save.js +73 -0
  81. package/build/cjs/components/PostInfo/components/Sharing.d.ts +7 -0
  82. package/build/cjs/components/PostInfo/components/Sharing.js +54 -0
  83. package/build/cjs/components/Posts/Posts.css +28 -0
  84. package/build/cjs/components/Posts/Posts.d.ts +19 -0
  85. package/build/cjs/components/Posts/Posts.js +32 -0
  86. package/build/cjs/components/PostsEmpty/PostsEmpty.css +25 -0
  87. package/build/cjs/components/PostsEmpty/PostsEmpty.d.ts +2 -0
  88. package/build/cjs/components/PostsEmpty/PostsEmpty.js +14 -0
  89. package/build/cjs/components/PostsError/PostError.css +30 -0
  90. package/build/cjs/components/PostsError/PostsError.d.ts +6 -0
  91. package/build/cjs/components/PostsError/PostsError.js +20 -0
  92. package/build/cjs/components/Search/Search.css +33 -0
  93. package/build/cjs/components/Search/Search.d.ts +15 -0
  94. package/build/cjs/components/Search/Search.js +67 -0
  95. package/build/cjs/components/Wrapper/Wrapper.css +32 -0
  96. package/build/cjs/components/Wrapper/Wrapper.d.ts +10 -0
  97. package/build/cjs/components/Wrapper/Wrapper.js +17 -0
  98. package/build/cjs/configure.d.ts +5 -0
  99. package/build/cjs/configure.js +8 -0
  100. package/build/cjs/constants.d.ts +27 -0
  101. package/build/cjs/constants.js +34 -0
  102. package/build/cjs/constructor/BlogConstructorProvider.d.ts +16 -0
  103. package/build/cjs/constructor/BlogConstructorProvider.js +46 -0
  104. package/build/cjs/constructor/blocksMap.d.ts +18 -0
  105. package/build/cjs/constructor/blocksMap.js +30 -0
  106. package/build/cjs/containers/BlogPage/BlogPage.css +21 -0
  107. package/build/cjs/containers/BlogPage/BlogPage.d.ts +15 -0
  108. package/build/cjs/containers/BlogPage/BlogPage.js +30 -0
  109. package/build/cjs/containers/BlogPostPage/BlogPostPage.css +251 -0
  110. package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +18 -0
  111. package/build/cjs/containers/BlogPostPage/BlogPostPage.js +42 -0
  112. package/build/cjs/contexts/DeviceContext.d.ts +4 -0
  113. package/build/cjs/contexts/DeviceContext.js +8 -0
  114. package/build/cjs/contexts/FeedContext.d.ts +13 -0
  115. package/build/cjs/contexts/FeedContext.js +8 -0
  116. package/build/cjs/contexts/LikesContext.d.ts +7 -0
  117. package/build/cjs/contexts/LikesContext.js +8 -0
  118. package/build/cjs/contexts/LocaleContext.d.ts +6 -0
  119. package/build/cjs/contexts/LocaleContext.js +16 -0
  120. package/build/cjs/contexts/MobileContext.d.ts +2 -0
  121. package/build/cjs/contexts/MobileContext.js +8 -0
  122. package/build/cjs/contexts/PostPageContext.d.ts +14 -0
  123. package/build/cjs/contexts/PostPageContext.js +8 -0
  124. package/build/cjs/contexts/RouterContext.d.ts +9 -0
  125. package/build/cjs/contexts/RouterContext.js +8 -0
  126. package/build/cjs/contexts/UserContext.d.ts +18 -0
  127. package/build/cjs/contexts/UserContext.js +8 -0
  128. package/build/cjs/contexts/theme/ThemeContext.d.ts +8 -0
  129. package/build/cjs/contexts/theme/ThemeContext.js +13 -0
  130. package/build/cjs/contexts/theme/ThemeProvider.d.ts +23 -0
  131. package/build/cjs/contexts/theme/ThemeProvider.js +51 -0
  132. package/build/cjs/contexts/theme/ThemeValueContext.d.ts +7 -0
  133. package/build/cjs/contexts/theme/ThemeValueContext.js +11 -0
  134. package/build/cjs/contexts/theme/index.d.ts +6 -0
  135. package/build/cjs/contexts/theme/index.js +22 -0
  136. package/build/cjs/contexts/theme/useTheme.d.ts +2 -0
  137. package/build/cjs/contexts/theme/useTheme.js +13 -0
  138. package/build/cjs/contexts/theme/useThemeValue.d.ts +2 -0
  139. package/build/cjs/contexts/theme/useThemeValue.js +13 -0
  140. package/build/cjs/contexts/theme/withTheme.d.ts +6 -0
  141. package/build/cjs/contexts/theme/withTheme.js +21 -0
  142. package/build/cjs/contexts/theme/withThemeValue.d.ts +6 -0
  143. package/build/cjs/contexts/theme/withThemeValue.js +21 -0
  144. package/build/cjs/counters/metrika.d.ts +59 -0
  145. package/build/cjs/counters/metrika.js +170 -0
  146. package/build/cjs/counters/utils.d.ts +5 -0
  147. package/build/cjs/counters/utils.js +9 -0
  148. package/build/cjs/hooks/useIsIPhone.d.ts +1 -0
  149. package/build/cjs/hooks/useIsIPhone.js +10 -0
  150. package/build/cjs/hooks/useLikes.d.ts +15 -0
  151. package/build/cjs/hooks/useLikes.js +35 -0
  152. package/build/cjs/i18n/index.d.ts +22 -0
  153. package/build/cjs/i18n/index.js +74 -0
  154. package/build/cjs/icons/Close.d.ts +2 -0
  155. package/build/cjs/icons/Close.js +11 -0
  156. package/build/cjs/icons/DropdownArrow.d.ts +2 -0
  157. package/build/cjs/icons/DropdownArrow.js +11 -0
  158. package/build/cjs/icons/Save.d.ts +2 -0
  159. package/build/cjs/icons/Save.js +11 -0
  160. package/build/cjs/icons/SaveFilled.d.ts +2 -0
  161. package/build/cjs/icons/SaveFilled.js +11 -0
  162. package/build/cjs/icons/SearchIcon.d.ts +2 -0
  163. package/build/cjs/icons/SearchIcon.js +11 -0
  164. package/build/cjs/icons/ShareArrowUp.d.ts +2 -0
  165. package/build/cjs/icons/ShareArrowUp.js +11 -0
  166. package/build/cjs/icons/Time.d.ts +2 -0
  167. package/build/cjs/icons/Time.js +11 -0
  168. package/build/cjs/index.d.ts +7 -0
  169. package/build/cjs/index.js +29 -0
  170. package/build/cjs/internal-typings/bem-cn-lite.d.ts +17 -0
  171. package/build/cjs/internal-typings/global.d.ts +5 -0
  172. package/build/cjs/models/blocks.d.ts +84 -0
  173. package/build/cjs/models/blocks.js +2 -0
  174. package/build/cjs/models/common.d.ts +151 -0
  175. package/build/cjs/models/common.js +22 -0
  176. package/build/cjs/models/locale.d.ts +29 -0
  177. package/build/cjs/models/locale.js +14 -0
  178. package/build/cjs/models/paddings.d.ts +16 -0
  179. package/build/cjs/models/paddings.js +10 -0
  180. package/build/cjs/utils/cn.d.ts +4 -0
  181. package/build/cjs/utils/cn.js +12 -0
  182. package/build/cjs/utils/common.d.ts +42 -0
  183. package/build/cjs/utils/common.js +120 -0
  184. package/build/cjs/utils/date.d.ts +13 -0
  185. package/build/cjs/utils/date.js +59 -0
  186. package/build/cjs/utils/svg.d.ts +3 -0
  187. package/build/cjs/utils/svg.js +7 -0
  188. package/build/esm/blocks/Author/Author.css +31 -0
  189. package/build/esm/blocks/Author/Author.d.ts +4 -0
  190. package/build/esm/blocks/Author/Author.js +34 -0
  191. package/build/esm/blocks/Banner/Banner.css +58 -0
  192. package/build/esm/blocks/Banner/Banner.d.ts +4 -0
  193. package/build/esm/blocks/Banner/Banner.js +45 -0
  194. package/build/esm/blocks/CTA/CTA.css +56 -0
  195. package/build/esm/blocks/CTA/CTA.d.ts +4 -0
  196. package/build/esm/blocks/CTA/CTA.js +38 -0
  197. package/build/esm/blocks/ColoredText/ColoredText.css +28 -0
  198. package/build/esm/blocks/ColoredText/ColoredText.d.ts +4 -0
  199. package/build/esm/blocks/ColoredText/ColoredText.js +31 -0
  200. package/build/esm/blocks/Feed/Feed.d.ts +3 -0
  201. package/build/esm/blocks/Feed/Feed.js +153 -0
  202. package/build/esm/blocks/Feed/reducer.d.ts +65 -0
  203. package/build/esm/blocks/Feed/reducer.js +36 -0
  204. package/build/esm/blocks/Header/Header.d.ts +3 -0
  205. package/build/esm/blocks/Header/Header.js +36 -0
  206. package/build/esm/blocks/Layout/Layout.css +22 -0
  207. package/build/esm/blocks/Layout/Layout.d.ts +4 -0
  208. package/build/esm/blocks/Layout/Layout.js +52 -0
  209. package/build/esm/blocks/Media/Media.css +41 -0
  210. package/build/esm/blocks/Media/Media.d.ts +4 -0
  211. package/build/esm/blocks/Media/Media.js +32 -0
  212. package/build/esm/blocks/Meta/Meta.css +7 -0
  213. package/build/esm/blocks/Meta/Meta.d.ts +4 -0
  214. package/build/esm/blocks/Meta/Meta.js +40 -0
  215. package/build/esm/blocks/Suggest/Suggest.d.ts +12 -0
  216. package/build/esm/blocks/Suggest/Suggest.js +34 -0
  217. package/build/esm/blocks/YFM/YFM.d.ts +3 -0
  218. package/build/esm/blocks/YFM/YFM.js +17 -0
  219. package/build/esm/blocks/constants.d.ts +8 -0
  220. package/build/esm/blocks/constants.js +5 -0
  221. package/build/esm/components/ButtonWithIcon/ButtonWithIcon.css +76 -0
  222. package/build/esm/components/ButtonWithIcon/ButtonWithIcon.d.ts +13 -0
  223. package/build/esm/components/ButtonWithIcon/ButtonWithIcon.js +7 -0
  224. package/build/esm/components/FeedHeader/FeedHeader.css +54 -0
  225. package/build/esm/components/FeedHeader/FeedHeader.d.ts +9 -0
  226. package/build/esm/components/FeedHeader/FeedHeader.js +18 -0
  227. package/build/esm/components/FeedHeader/components/Controls/Controls.css +107 -0
  228. package/build/esm/components/FeedHeader/components/Controls/Controls.d.ts +17 -0
  229. package/build/esm/components/FeedHeader/components/Controls/Controls.js +77 -0
  230. package/build/esm/components/FeedHeader/components/Controls/customRenders.d.ts +12 -0
  231. package/build/esm/components/FeedHeader/components/Controls/customRenders.js +14 -0
  232. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.css +14 -0
  233. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +9 -0
  234. package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +7 -0
  235. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +53 -0
  236. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +12 -0
  237. package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +21 -0
  238. package/build/esm/components/MetaWrapper/MetaWrapper.d.ts +10 -0
  239. package/build/esm/components/MetaWrapper/MetaWrapper.js +11 -0
  240. package/build/esm/components/Paginator/Paginator.css +54 -0
  241. package/build/esm/components/Paginator/Paginator.d.ts +3 -0
  242. package/build/esm/components/Paginator/Paginator.js +89 -0
  243. package/build/esm/components/Paginator/components/NavigationButton.d.ts +7 -0
  244. package/build/esm/components/Paginator/components/NavigationButton.js +7 -0
  245. package/build/esm/components/Paginator/components/PaginatorItem.d.ts +3 -0
  246. package/build/esm/components/Paginator/components/PaginatorItem.js +9 -0
  247. package/build/esm/components/Paginator/types.d.ts +29 -0
  248. package/build/esm/components/Paginator/types.js +5 -0
  249. package/build/esm/components/Paginator/utils.d.ts +3 -0
  250. package/build/esm/components/Paginator/utils.js +27 -0
  251. package/build/esm/components/PostCard/PostCard.css +85 -0
  252. package/build/esm/components/PostCard/PostCard.d.ts +13 -0
  253. package/build/esm/components/PostCard/PostCard.js +34 -0
  254. package/build/esm/components/PostInfo/PostInfo.css +88 -0
  255. package/build/esm/components/PostInfo/PostInfo.d.ts +29 -0
  256. package/build/esm/components/PostInfo/PostInfo.js +29 -0
  257. package/build/esm/components/PostInfo/SuggestPostInfo.d.ts +28 -0
  258. package/build/esm/components/PostInfo/SuggestPostInfo.js +35 -0
  259. package/build/esm/components/PostInfo/components/Date.d.ts +8 -0
  260. package/build/esm/components/PostInfo/components/Date.js +10 -0
  261. package/build/esm/components/PostInfo/components/ReadingTime.d.ts +8 -0
  262. package/build/esm/components/PostInfo/components/ReadingTime.js +12 -0
  263. package/build/esm/components/PostInfo/components/Save.d.ts +26 -0
  264. package/build/esm/components/PostInfo/components/Save.js +44 -0
  265. package/build/esm/components/PostInfo/components/Sharing.d.ts +8 -0
  266. package/build/esm/components/PostInfo/components/Sharing.js +25 -0
  267. package/build/esm/components/Posts/Posts.css +28 -0
  268. package/build/esm/components/Posts/Posts.d.ts +20 -0
  269. package/build/esm/components/Posts/Posts.js +26 -0
  270. package/build/esm/components/PostsEmpty/PostsEmpty.css +25 -0
  271. package/build/esm/components/PostsEmpty/PostsEmpty.d.ts +3 -0
  272. package/build/esm/components/PostsEmpty/PostsEmpty.js +8 -0
  273. package/build/esm/components/PostsError/PostError.css +30 -0
  274. package/build/esm/components/PostsError/PostsError.d.ts +7 -0
  275. package/build/esm/components/PostsError/PostsError.js +14 -0
  276. package/build/esm/components/Search/Search.css +33 -0
  277. package/build/esm/components/Search/Search.d.ts +16 -0
  278. package/build/esm/components/Search/Search.js +41 -0
  279. package/build/esm/components/Wrapper/Wrapper.css +32 -0
  280. package/build/esm/components/Wrapper/Wrapper.d.ts +11 -0
  281. package/build/esm/components/Wrapper/Wrapper.js +11 -0
  282. package/build/esm/configure.d.ts +5 -0
  283. package/build/esm/configure.js +4 -0
  284. package/build/esm/constants.d.ts +27 -0
  285. package/build/esm/constants.js +31 -0
  286. package/build/esm/constructor/BlogConstructorProvider.d.ts +16 -0
  287. package/build/esm/constructor/BlogConstructorProvider.js +19 -0
  288. package/build/esm/constructor/blocksMap.d.ts +18 -0
  289. package/build/esm/constructor/blocksMap.js +28 -0
  290. package/build/esm/containers/BlogPage/BlogPage.css +21 -0
  291. package/build/esm/containers/BlogPage/BlogPage.d.ts +16 -0
  292. package/build/esm/containers/BlogPage/BlogPage.js +24 -0
  293. package/build/esm/containers/BlogPostPage/BlogPostPage.css +251 -0
  294. package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +19 -0
  295. package/build/esm/containers/BlogPostPage/BlogPostPage.js +36 -0
  296. package/build/esm/contexts/DeviceContext.d.ts +4 -0
  297. package/build/esm/contexts/DeviceContext.js +2 -0
  298. package/build/esm/contexts/FeedContext.d.ts +13 -0
  299. package/build/esm/contexts/FeedContext.js +2 -0
  300. package/build/esm/contexts/LikesContext.d.ts +7 -0
  301. package/build/esm/contexts/LikesContext.js +2 -0
  302. package/build/esm/contexts/LocaleContext.d.ts +6 -0
  303. package/build/esm/contexts/LocaleContext.js +10 -0
  304. package/build/esm/contexts/MobileContext.d.ts +2 -0
  305. package/build/esm/contexts/MobileContext.js +2 -0
  306. package/build/esm/contexts/PostPageContext.d.ts +14 -0
  307. package/build/esm/contexts/PostPageContext.js +2 -0
  308. package/build/esm/contexts/RouterContext.d.ts +9 -0
  309. package/build/esm/contexts/RouterContext.js +2 -0
  310. package/build/esm/contexts/UserContext.d.ts +18 -0
  311. package/build/esm/contexts/UserContext.js +2 -0
  312. package/build/esm/contexts/theme/ThemeContext.d.ts +8 -0
  313. package/build/esm/contexts/theme/ThemeContext.js +7 -0
  314. package/build/esm/contexts/theme/ThemeProvider.d.ts +23 -0
  315. package/build/esm/contexts/theme/ThemeProvider.js +44 -0
  316. package/build/esm/contexts/theme/ThemeValueContext.d.ts +7 -0
  317. package/build/esm/contexts/theme/ThemeValueContext.js +5 -0
  318. package/build/esm/contexts/theme/index.d.ts +6 -0
  319. package/build/esm/contexts/theme/index.js +6 -0
  320. package/build/esm/contexts/theme/useTheme.d.ts +2 -0
  321. package/build/esm/contexts/theme/useTheme.js +6 -0
  322. package/build/esm/contexts/theme/useThemeValue.d.ts +2 -0
  323. package/build/esm/contexts/theme/useThemeValue.js +6 -0
  324. package/build/esm/contexts/theme/withTheme.d.ts +6 -0
  325. package/build/esm/contexts/theme/withTheme.js +14 -0
  326. package/build/esm/contexts/theme/withThemeValue.d.ts +6 -0
  327. package/build/esm/contexts/theme/withThemeValue.js +14 -0
  328. package/build/esm/counters/metrika.d.ts +59 -0
  329. package/build/esm/counters/metrika.js +166 -0
  330. package/build/esm/counters/utils.d.ts +5 -0
  331. package/build/esm/counters/utils.js +6 -0
  332. package/build/esm/hooks/useIsIPhone.d.ts +1 -0
  333. package/build/esm/hooks/useIsIPhone.js +6 -0
  334. package/build/esm/hooks/useLikes.d.ts +15 -0
  335. package/build/esm/hooks/useLikes.js +31 -0
  336. package/build/esm/i18n/index.d.ts +22 -0
  337. package/build/esm/i18n/index.js +71 -0
  338. package/build/esm/icons/Close.d.ts +2 -0
  339. package/build/esm/icons/Close.js +4 -0
  340. package/build/esm/icons/DropdownArrow.d.ts +2 -0
  341. package/build/esm/icons/DropdownArrow.js +4 -0
  342. package/build/esm/icons/Save.d.ts +2 -0
  343. package/build/esm/icons/Save.js +4 -0
  344. package/build/esm/icons/SaveFilled.d.ts +2 -0
  345. package/build/esm/icons/SaveFilled.js +4 -0
  346. package/build/esm/icons/SearchIcon.d.ts +2 -0
  347. package/build/esm/icons/SearchIcon.js +4 -0
  348. package/build/esm/icons/ShareArrowUp.d.ts +2 -0
  349. package/build/esm/icons/ShareArrowUp.js +4 -0
  350. package/build/esm/icons/Time.d.ts +2 -0
  351. package/build/esm/icons/Time.js +4 -0
  352. package/build/esm/index.d.ts +7 -0
  353. package/build/esm/index.js +7 -0
  354. package/build/esm/internal-typings/bem-cn-lite.d.ts +17 -0
  355. package/build/esm/internal-typings/global.d.ts +5 -0
  356. package/build/esm/models/blocks.d.ts +84 -0
  357. package/build/esm/models/blocks.js +1 -0
  358. package/build/esm/models/common.d.ts +151 -0
  359. package/build/esm/models/common.js +19 -0
  360. package/build/esm/models/locale.d.ts +29 -0
  361. package/build/esm/models/locale.js +11 -0
  362. package/build/esm/models/paddings.d.ts +16 -0
  363. package/build/esm/models/paddings.js +7 -0
  364. package/build/esm/utils/cn.d.ts +4 -0
  365. package/build/esm/utils/cn.js +5 -0
  366. package/build/esm/utils/common.d.ts +42 -0
  367. package/build/esm/utils/common.js +107 -0
  368. package/build/esm/utils/date.d.ts +13 -0
  369. package/build/esm/utils/date.js +55 -0
  370. package/build/esm/utils/svg.d.ts +3 -0
  371. package/build/esm/utils/svg.js +4 -0
  372. package/package.json +140 -0
  373. package/server/data/config.d.ts +32 -0
  374. package/server/data/config.js +39 -0
  375. package/server/data/contentFilter.d.ts +27 -0
  376. package/server/data/contentFilter.js +61 -0
  377. package/server/data/createReadableContent.d.ts +17 -0
  378. package/server/data/createReadableContent.js +47 -0
  379. package/server/data/sanitizeMeta.d.ts +24 -0
  380. package/server/data/sanitizeMeta.js +18 -0
  381. package/server/data/transformPageContent.d.ts +21 -0
  382. package/server/data/transformPageContent.js +35 -0
  383. package/server/data/transformPost.d.ts +11 -0
  384. package/server/data/transformPost.js +34 -0
  385. package/server/index.d.ts +4 -0
  386. package/server/index.js +11 -0
  387. package/server/models/blocks.d.ts +84 -0
  388. package/server/models/blocks.js +2 -0
  389. package/server/models/common.d.ts +151 -0
  390. package/server/models/common.js +22 -0
  391. package/server/models/locale.d.ts +29 -0
  392. package/server/models/locale.js +14 -0
  393. package/server/models/paddings.d.ts +16 -0
  394. package/server/models/paddings.js +10 -0
  395. package/styles/fonts.css +195 -0
  396. package/styles/fonts.scss +223 -0
  397. package/styles/mixins.css +2 -0
  398. package/styles/mixins.scss +59 -0
  399. package/styles/root.css +21 -0
  400. package/styles/root.scss +25 -0
  401. package/styles/storybook/common.scss +29 -0
  402. package/styles/storybook/index.scss +21 -0
  403. package/styles/storybook/palette.scss +75 -0
  404. package/styles/storybook/typography.scss +139 -0
  405. package/styles/styles.css +196 -0
  406. package/styles/styles.scss +2 -0
  407. package/styles/variables.css +0 -0
  408. package/styles/variables.scss +7 -0
  409. package/styles/yfm.css +103 -0
  410. package/styles/yfm.scss +123 -0
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { ThemeContext } from './ThemeContext';
3
+ import { ThemeValueContext } from './ThemeValueContext';
4
+ import { DEFAULT_THEME } from '../../constants';
5
+ export class ThemeProvider extends React.Component {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.state = {
9
+ theme: this.props.theme,
10
+ themeValue: this.props.theme,
11
+ setTheme: (theme) => {
12
+ this.setState({ theme });
13
+ },
14
+ };
15
+ }
16
+ componentDidMount() {
17
+ this.updateBodyClassName(this.state.themeValue);
18
+ }
19
+ componentDidUpdate(prevProps, prevState) {
20
+ if (prevState.theme !== this.state.theme) {
21
+ this.setState({ themeValue: this.state.theme });
22
+ this.updateBodyClassName(this.state.theme);
23
+ }
24
+ if (prevProps.theme !== this.props.theme) {
25
+ this.setState({ themeValue: this.state.theme });
26
+ this.updateBodyClassName(this.state.theme);
27
+ }
28
+ }
29
+ render() {
30
+ return (React.createElement(ThemeContext.Provider, { value: this.state },
31
+ React.createElement(ThemeValueContext.Provider, { value: { themeValue: this.state.themeValue } }, this.props.children)));
32
+ }
33
+ updateBodyClassName(theme) {
34
+ const bodyEl = document.body;
35
+ if (!bodyEl.classList.contains('yc-root')) {
36
+ bodyEl.classList.add('yc-root');
37
+ }
38
+ bodyEl.classList.toggle('yc-root_theme_light', theme === 'light');
39
+ bodyEl.classList.toggle('yc-root_theme_dark', theme === 'dark');
40
+ }
41
+ }
42
+ ThemeProvider.defaultProps = {
43
+ theme: DEFAULT_THEME,
44
+ };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export type ThemeValueType = 'light' | 'dark';
3
+ export interface ThemeValueContextProps {
4
+ themeValue: ThemeValueType;
5
+ }
6
+ export declare const initialValue: ThemeValueContextProps;
7
+ export declare const ThemeValueContext: React.Context<ThemeValueContextProps>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export const initialValue = {
3
+ themeValue: 'light',
4
+ };
5
+ export const ThemeValueContext = React.createContext(initialValue);
@@ -0,0 +1,6 @@
1
+ export * from './ThemeContext';
2
+ export * from './ThemeProvider';
3
+ export * from './useTheme';
4
+ export * from './useThemeValue';
5
+ export * from './withTheme';
6
+ export * from './withThemeValue';
@@ -0,0 +1,6 @@
1
+ export * from './ThemeContext';
2
+ export * from './ThemeProvider';
3
+ export * from './useTheme';
4
+ export * from './useThemeValue';
5
+ export * from './withTheme';
6
+ export * from './withThemeValue';
@@ -0,0 +1,2 @@
1
+ import { ThemeContextProps } from './ThemeContext';
2
+ export declare function useTheme(): [ThemeContextProps['theme'], ThemeContextProps['setTheme']];
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ThemeContext } from './ThemeContext';
3
+ export function useTheme() {
4
+ const { theme, setTheme } = React.useContext(ThemeContext);
5
+ return [theme, setTheme];
6
+ }
@@ -0,0 +1,2 @@
1
+ import { ThemeValueContextProps } from './ThemeValueContext';
2
+ export declare function useThemeValue(): ThemeValueContextProps['themeValue'];
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ThemeValueContext } from './ThemeValueContext';
3
+ export function useThemeValue() {
4
+ const { themeValue } = React.useContext(ThemeValueContext);
5
+ return themeValue;
6
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { Subtract } from 'utility-types';
3
+ import { ThemeContextProps } from './ThemeContext';
4
+ export interface WithThemeProps extends ThemeContextProps {
5
+ }
6
+ export declare function withTheme<T extends WithThemeProps>(WrappedComponent: React.ComponentType<T>): React.ComponentType<Subtract<T, WithThemeProps>>;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { ThemeContext } from './ThemeContext';
3
+ export function withTheme(WrappedComponent) {
4
+ var _a;
5
+ const componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
6
+ return _a = class WithThemeComponent extends React.Component {
7
+ render() {
8
+ return (React.createElement(WrappedComponent, Object.assign({}, this.props, { theme: this.context.theme, setTheme: this.context.setTheme })));
9
+ }
10
+ },
11
+ _a.displayName = `withTheme(${componentName})`,
12
+ _a.contextType = ThemeContext,
13
+ _a;
14
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { Subtract } from 'utility-types';
3
+ import { ThemeValueContextProps } from './ThemeValueContext';
4
+ export interface WithThemeValueProps extends ThemeValueContextProps {
5
+ }
6
+ export declare function withThemeValue<T extends WithThemeValueProps>(WrappedComponent: React.ComponentType<T>): React.ComponentType<Subtract<T, WithThemeValueProps>>;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { ThemeValueContext } from './ThemeValueContext';
3
+ export function withThemeValue(WrappedComponent) {
4
+ var _a;
5
+ const componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
6
+ return _a = class WithThemeValueComponent extends React.Component {
7
+ render() {
8
+ return React.createElement(WrappedComponent, Object.assign({}, this.props, { themeValue: this.context.themeValue }));
9
+ }
10
+ },
11
+ _a.displayName = `withThemeValue(${componentName})`,
12
+ _a.contextType = ThemeValueContext,
13
+ _a;
14
+ }
@@ -0,0 +1,59 @@
1
+ export function initCounters(configs: any): void;
2
+ declare namespace _default {
3
+ export { hit };
4
+ export { params };
5
+ export { reachGoal };
6
+ export { reachGoals };
7
+ export { Goal };
8
+ export { getServicePrefix };
9
+ export { getMarketPlacePrefix };
10
+ export { goalGoToConsole };
11
+ export { goalGoToForm };
12
+ export { goalGoToDocs };
13
+ export { goalFormSubmit };
14
+ export { goalEventFormSubmit };
15
+ export { goalEventVideoAction };
16
+ export { goalCaseFormSubmit };
17
+ export { goalSwitchLang };
18
+ }
19
+ export default _default;
20
+ declare function hit(...args: any[]): void;
21
+ declare function params(...args: any[]): void;
22
+ declare function reachGoal(counterName: any, ...args: any[]): void;
23
+ declare function reachGoals(goals: any, counterName?: string): void;
24
+ declare const Goal: {
25
+ SUPPORT_OPEN_FORM: string;
26
+ SUPPORT_STEP_1_SUBMIT: string;
27
+ SUPPORT_STEP_2_SUBMIT: string;
28
+ SUPPORT_STEP_3_SUBMIT: string;
29
+ SUPPORT_THANKYOU_SUBMIT: string;
30
+ MP_OPEN_FORM: string;
31
+ EDIT_ON_GITHUB: string;
32
+ MAIN_GO_TO_VAR: string;
33
+ MAIN_GO_TO_ISV: string;
34
+ MAIN_ALL_PARTNERS: string;
35
+ FIND_GO_TO_VAR: string;
36
+ ISV_GO_TO_MP: string;
37
+ FOOTER_SUBSCRIBE: string;
38
+ FOOTER_MNG_SUBSCRIPTIONS: string;
39
+ MOBILE_STORE_IOS: string;
40
+ MOBILE_STORE_ANDROID: string;
41
+ REGION_POPUP_SHOW: string;
42
+ REGION_POPUP_YES: string;
43
+ REGION_POPUP_NO: string;
44
+ REGION_POPUP_CLOSE: string;
45
+ SCALE_REGISTRATION: string;
46
+ DLGOTOPRODUCT_MPSITE: string;
47
+ MPK8S_CLCK: string;
48
+ 'SITE_CALCULATOR_SHARE-RESULT_CLICK': string;
49
+ };
50
+ declare function getServicePrefix(id: any): "CMPT" | "IAM" | "VPC" | "STRG" | "SK" | "CH" | "MONGO" | "POSTGR" | "MR" | "MMSQL" | "MK" | "TRSL" | "INSTGR" | "LB" | "MQ" | "DL" | "MNTRG" | "DP" | "KMS" | "YDB" | "INTRCNCT" | undefined;
51
+ declare function getMarketPlacePrefix(id: any): string;
52
+ declare function goalGoToConsole(prefix: any): any;
53
+ declare function goalGoToForm(prefix: any): any;
54
+ declare function goalGoToDocs(prefix: any): any;
55
+ declare function goalFormSubmit(prefix: any): any;
56
+ declare function goalEventFormSubmit(id: any): string;
57
+ declare function goalEventVideoAction(id: any, action: any): string;
58
+ declare function goalCaseFormSubmit(id: any): string;
59
+ declare function goalSwitchLang(place: any): string;
@@ -0,0 +1,166 @@
1
+ const Goal = {
2
+ SUPPORT_OPEN_FORM: 'SUPPORTOPENFORM',
3
+ SUPPORT_STEP_1_SUBMIT: 'SUPPORTSTEP1SUBMIT',
4
+ SUPPORT_STEP_2_SUBMIT: 'SUPPORTSTEP2SUBMIT',
5
+ SUPPORT_STEP_3_SUBMIT: 'SUPPORTSTEP3SUBMIT',
6
+ SUPPORT_THANKYOU_SUBMIT: 'SUPPORTTHANKYOUSUBMIT',
7
+ MP_OPEN_FORM: 'MPOPENFORM',
8
+ EDIT_ON_GITHUB: 'EDITONGITHUB',
9
+ MAIN_GO_TO_VAR: 'MAINGOTOVAR',
10
+ MAIN_GO_TO_ISV: 'MAINGOTOISV',
11
+ MAIN_ALL_PARTNERS: 'MAINALLPARTNERS',
12
+ FIND_GO_TO_VAR: 'FINDGOTOVAR',
13
+ ISV_GO_TO_MP: 'ISVGOTOMP',
14
+ FOOTER_SUBSCRIBE: 'FOOTERSUBSCRIBE',
15
+ FOOTER_MNG_SUBSCRIPTIONS: 'FOOTERMNGSUBSCRIPTIONS',
16
+ MOBILE_STORE_IOS: '154_Mobile_App_Store_Badge',
17
+ MOBILE_STORE_ANDROID: '155_Mobile_Google_Play_Badge',
18
+ REGION_POPUP_SHOW: 'REGIONPOPUP',
19
+ REGION_POPUP_YES: 'REGIONPOPUPYES',
20
+ REGION_POPUP_NO: 'REGIONPOPUPNO',
21
+ REGION_POPUP_CLOSE: 'REGIONPOPUPCLOSE',
22
+ SCALE_REGISTRATION: 'Scale_registration',
23
+ DLGOTOPRODUCT_MPSITE: 'DLGOTOPRODUCT_MPSITE',
24
+ MPK8S_CLCK: 'MPK8S_CLCK',
25
+ 'SITE_CALCULATOR_SHARE-RESULT_CLICK': 'SITE_CALCULATOR_SHARE-RESULT_CLICK',
26
+ };
27
+ const HIT_COUNTERS = ['main', 'cross-site', 'scale'];
28
+ const counterIds = {};
29
+ function getCounter(name) {
30
+ const counterId = counterIds[name];
31
+ return window['yaCounter' + counterId];
32
+ }
33
+ export function initCounters(configs) {
34
+ configs.forEach((config) => {
35
+ counterIds[config.name] = config.id;
36
+ });
37
+ }
38
+ function hit(...args) {
39
+ HIT_COUNTERS.forEach((counterName) => {
40
+ const counter = getCounter(counterName);
41
+ if (!counter) {
42
+ return;
43
+ }
44
+ counter.hit(...args);
45
+ });
46
+ }
47
+ function params(...args) {
48
+ const counter = getCounter('main');
49
+ if (!counter) {
50
+ return;
51
+ }
52
+ counter.params(...args);
53
+ }
54
+ function reachGoal(counterName, ...args) {
55
+ const counter = getCounter(counterName);
56
+ if (!counter) {
57
+ return;
58
+ }
59
+ counter.reachGoal(...args);
60
+ }
61
+ function reachGoals(goals, counterName = 'main') {
62
+ if (!goals) {
63
+ return;
64
+ }
65
+ const goalsArray = Array.isArray(goals) ? goals : [goals];
66
+ goalsArray.forEach((goal) => {
67
+ if (typeof goal === 'object') {
68
+ reachGoal(counterName, goal.name, goal.params);
69
+ }
70
+ else {
71
+ reachGoal(counterName, goal);
72
+ }
73
+ });
74
+ }
75
+ // eslint-disable-next-line complexity
76
+ function getServicePrefix(id) {
77
+ switch (id) {
78
+ case 'compute':
79
+ return 'CMPT';
80
+ case 'iam':
81
+ return 'IAM';
82
+ case 'vpc':
83
+ return 'VPC';
84
+ case 'storage':
85
+ return 'STRG';
86
+ case 'speechkit':
87
+ return 'SK';
88
+ case 'managed-clickhouse':
89
+ return 'CH';
90
+ case 'managed-mongodb':
91
+ return 'MONGO';
92
+ case 'managed-postgresql':
93
+ return 'POSTGR';
94
+ case 'managed-redis':
95
+ return 'MR';
96
+ case 'managed-mysql':
97
+ return 'MMSQL';
98
+ case 'managed-kubernetes':
99
+ return 'MK';
100
+ case 'translate':
101
+ return 'TRSL';
102
+ case 'instance-groups':
103
+ return 'INSTGR';
104
+ case 'load-balancer':
105
+ return 'LB';
106
+ case 'message-queue':
107
+ return 'MQ';
108
+ case 'datalens':
109
+ return 'DL';
110
+ case 'monitoring':
111
+ return 'MNTRG';
112
+ case 'data-proc':
113
+ return 'DP';
114
+ case 'kms':
115
+ return 'KMS';
116
+ case 'ydb':
117
+ return 'YDB';
118
+ case 'interconnect':
119
+ return 'INTRCNCT';
120
+ }
121
+ return undefined;
122
+ }
123
+ function getMarketPlacePrefix(id) {
124
+ return `product_${id}_`;
125
+ }
126
+ function goalGoToConsole(prefix) {
127
+ return prefix && `${prefix}GOTOCONSOLE`;
128
+ }
129
+ function goalGoToForm(prefix) {
130
+ return prefix && `${prefix}GOTOFORM`;
131
+ }
132
+ function goalGoToDocs(prefix) {
133
+ return prefix && `${prefix}GOTODOCS`;
134
+ }
135
+ function goalFormSubmit(prefix) {
136
+ return prefix && `${prefix}FORMSUBMIT`;
137
+ }
138
+ function goalEventFormSubmit(id) {
139
+ return `event${id || 's'}_form_submit`;
140
+ }
141
+ function goalEventVideoAction(id, action) {
142
+ return `event${id}_video_${action}`;
143
+ }
144
+ function goalCaseFormSubmit(id) {
145
+ return `case${id ? `_${id}` : 's'}_form_submit`;
146
+ }
147
+ function goalSwitchLang(place) {
148
+ return `SWITCH_LANG_${place}`;
149
+ }
150
+ export default {
151
+ hit,
152
+ params,
153
+ reachGoal,
154
+ reachGoals,
155
+ Goal,
156
+ getServicePrefix,
157
+ getMarketPlacePrefix,
158
+ goalGoToConsole,
159
+ goalGoToForm,
160
+ goalGoToDocs,
161
+ goalFormSubmit,
162
+ goalEventFormSubmit,
163
+ goalEventVideoAction,
164
+ goalCaseFormSubmit,
165
+ goalSwitchLang,
166
+ };
@@ -0,0 +1,5 @@
1
+ export declare enum MetrikaCounter {
2
+ Main = "main",
3
+ CrossSite = "cross-site",
4
+ Scale = "scale"
5
+ }
@@ -0,0 +1,6 @@
1
+ export var MetrikaCounter;
2
+ (function (MetrikaCounter) {
3
+ MetrikaCounter["Main"] = "main";
4
+ MetrikaCounter["CrossSite"] = "cross-site";
5
+ MetrikaCounter["Scale"] = "scale";
6
+ })(MetrikaCounter || (MetrikaCounter = {}));
@@ -0,0 +1 @@
1
+ export declare const useIsIPhone: () => boolean;
@@ -0,0 +1,6 @@
1
+ import { useContext } from 'react';
2
+ import { DeviceContext } from '../contexts/DeviceContext';
3
+ export const useIsIPhone = () => {
4
+ const { device } = useContext(DeviceContext);
5
+ return (device === null || device === void 0 ? void 0 : device.model) === 'iPhone';
6
+ };
@@ -0,0 +1,15 @@
1
+ import { ToggleLikeCallbackType } from '../models/common';
2
+ type UseLikesProps = {
3
+ hasLike?: boolean;
4
+ count?: number;
5
+ postId?: number;
6
+ toggleLikeCallback?: ToggleLikeCallbackType;
7
+ };
8
+ type UseLikeData = {
9
+ likesCount: number;
10
+ hasUserLike: boolean;
11
+ handleLike: () => void;
12
+ };
13
+ type UseLikesType = (props: UseLikesProps) => UseLikeData;
14
+ export declare const useLikes: UseLikesType;
15
+ export {};
@@ -0,0 +1,31 @@
1
+ import { useState, useCallback, useEffect } from 'react';
2
+ export const useLikes = ({ hasLike, count, toggleLikeCallback, postId }) => {
3
+ const [hasUserLike, setHasUserLike] = useState(hasLike !== null && hasLike !== void 0 ? hasLike : false);
4
+ const [likesCount, setLikesCount] = useState(count !== null && count !== void 0 ? count : 0);
5
+ const handleLike = useCallback(() => {
6
+ let newLikesCount = likesCount;
7
+ if (hasUserLike && likesCount > 0) {
8
+ newLikesCount--;
9
+ }
10
+ if (!hasUserLike) {
11
+ newLikesCount++;
12
+ }
13
+ setHasUserLike(!hasUserLike);
14
+ setLikesCount(newLikesCount);
15
+ if (toggleLikeCallback) {
16
+ toggleLikeCallback({
17
+ postId,
18
+ hasLike: !hasUserLike,
19
+ });
20
+ }
21
+ }, [hasUserLike, likesCount, postId, toggleLikeCallback]);
22
+ useEffect(() => {
23
+ setHasUserLike(hasLike !== null && hasLike !== void 0 ? hasLike : false);
24
+ setLikesCount(count !== null && count !== void 0 ? count : 0);
25
+ }, [hasLike, count]);
26
+ return {
27
+ likesCount,
28
+ hasUserLike,
29
+ handleLike,
30
+ };
31
+ };
@@ -0,0 +1,22 @@
1
+ import { I18N } from '@gravity-ui/i18n';
2
+ export declare const i18n: I18N;
3
+ export declare enum Keyset {
4
+ Title = "title",
5
+ TitleBreadcrumbs = "title_breadcrumbs",
6
+ TitleSuggest = "title_suggest",
7
+ ActionShare = "action_share",
8
+ ContextReadingTime = "context_reading_time",
9
+ ActionTryAgain = "action_try_again",
10
+ ActionLoadMore = "action_load_more",
11
+ ErrorTitle = "error_title",
12
+ PostLoadError = "post_load_error",
13
+ TitleEmptyContainer = "title_empty_container",
14
+ ContextEmptyContainer = "context_empty_container",
15
+ ButtonBegin = "button_begin",
16
+ ButtonFarther = "button_farther",
17
+ Search = "search_placeholder",
18
+ AllTags = "label_all_tags",
19
+ ActionSavedOnly = "action_saved_only",
20
+ AllServices = "label_all_services"
21
+ }
22
+ export declare const i18: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,71 @@
1
+ import { I18N } from '@gravity-ui/i18n';
2
+ import { Lang } from '../models/locale';
3
+ const KEYSET_NAME = 'blog';
4
+ export const i18n = new I18N();
5
+ export var Keyset;
6
+ (function (Keyset) {
7
+ Keyset["Title"] = "title";
8
+ Keyset["TitleBreadcrumbs"] = "title_breadcrumbs";
9
+ Keyset["TitleSuggest"] = "title_suggest";
10
+ Keyset["ActionShare"] = "action_share";
11
+ Keyset["ContextReadingTime"] = "context_reading_time";
12
+ Keyset["ActionTryAgain"] = "action_try_again";
13
+ Keyset["ActionLoadMore"] = "action_load_more";
14
+ Keyset["ErrorTitle"] = "error_title";
15
+ Keyset["PostLoadError"] = "post_load_error";
16
+ Keyset["TitleEmptyContainer"] = "title_empty_container";
17
+ Keyset["ContextEmptyContainer"] = "context_empty_container";
18
+ Keyset["ButtonBegin"] = "button_begin";
19
+ Keyset["ButtonFarther"] = "button_farther";
20
+ Keyset["Search"] = "search_placeholder";
21
+ Keyset["AllTags"] = "label_all_tags";
22
+ Keyset["ActionSavedOnly"] = "action_saved_only";
23
+ Keyset["AllServices"] = "label_all_services";
24
+ })(Keyset || (Keyset = {}));
25
+ i18n.registerKeyset(Lang.En, KEYSET_NAME, {
26
+ [Keyset.Title]: 'Blog',
27
+ [Keyset.TitleBreadcrumbs]: 'Blog',
28
+ [Keyset.TitleSuggest]: 'See also',
29
+ [Keyset.ActionShare]: 'Share',
30
+ [Keyset.ActionTryAgain]: 'Try again',
31
+ [Keyset.ActionLoadMore]: 'See more',
32
+ [Keyset.ErrorTitle]: 'Error',
33
+ [Keyset.PostLoadError]: "Posts didn't load",
34
+ [Keyset.TitleEmptyContainer]: "Looks like we haven't written about that yet",
35
+ [Keyset.ContextEmptyContainer]: 'Try different spellings or other keywords',
36
+ [Keyset.ButtonBegin]: 'Back to top',
37
+ [Keyset.ButtonFarther]: 'Load more',
38
+ [Keyset.Search]: 'Search',
39
+ [Keyset.AllTags]: 'All topics',
40
+ [Keyset.ActionSavedOnly]: 'Saved',
41
+ [Keyset.AllServices]: 'All Services',
42
+ [Keyset.ContextReadingTime]: [
43
+ '{{count}} min to read',
44
+ '{{count}} mins to read',
45
+ '{{count}} mins to read',
46
+ ],
47
+ });
48
+ i18n.registerKeyset(Lang.Ru, KEYSET_NAME, {
49
+ [Keyset.Title]: 'Блог',
50
+ [Keyset.TitleBreadcrumbs]: 'Блог',
51
+ [Keyset.TitleSuggest]: 'Читать также',
52
+ [Keyset.ActionShare]: 'Поделиться',
53
+ [Keyset.ActionTryAgain]: 'Попробуйте ещё раз',
54
+ [Keyset.ActionLoadMore]: 'Показать ещё',
55
+ [Keyset.ErrorTitle]: 'Произошла ошибка',
56
+ [Keyset.PostLoadError]: 'Посты не загрузились',
57
+ [Keyset.TitleEmptyContainer]: 'Возможно, мы об этом ещё не написали',
58
+ [Keyset.ContextEmptyContainer]: 'Пожалуйста, проверьте правильность написания или попробуйте другие ключевые слова',
59
+ [Keyset.ButtonBegin]: 'В начало',
60
+ [Keyset.ButtonFarther]: 'Дальше',
61
+ [Keyset.Search]: 'Поиск',
62
+ [Keyset.AllTags]: 'Все темы',
63
+ [Keyset.ActionSavedOnly]: 'Сохранённые',
64
+ [Keyset.AllServices]: 'Все сервисы',
65
+ [Keyset.ContextReadingTime]: [
66
+ '{{count}} минута чтения',
67
+ '{{count}} минуты чтения',
68
+ '{{count}} минут чтения',
69
+ ],
70
+ });
71
+ export const i18 = i18n.keyset(KEYSET_NAME);
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Close: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const Close = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "currentColor" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { d: "M10 0.7L9.3 0L5 4.3L0.7 0L0 0.7L4.3 5L0 9.3L0.7 10L5 5.7L9.3 10L10 9.3L5.7 5L10 0.7Z", fill: "currentColor" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const DropdownArrow: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const DropdownArrow = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", width: "16", height: "16", fill: "currentColor" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { d: "M3.50172 5.44253C3.19384 5.16544 2.71962 5.19039 2.44253 5.49828C2.16544 5.80616 2.19039 6.28038 2.49828 6.55747L3.50172 5.44253ZM8 10.5L7.49828 11.0575C7.7835 11.3142 8.2165 11.3142 8.50172 11.0575L8 10.5ZM13.5017 6.55747C13.8096 6.28038 13.8346 5.80616 13.5575 5.49828C13.2804 5.19039 12.8062 5.16544 12.4983 5.44253L13.5017 6.55747ZM2.49828 6.55747L7.49828 11.0575L8.50172 9.94253L3.50172 5.44253L2.49828 6.55747ZM8.50172 11.0575L13.5017 6.55747L12.4983 5.44253L7.49828 9.94253L8.50172 11.0575Z" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Save: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const Save = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M13 3H3v9.6l3.445-2.94.028-.022a2.624 2.624 0 0 1 3.054 0l.028.021L13 12.6V3Zm1.357-1.614A1.593 1.593 0 0 1 15 2.655v10.547c0 .678-.416 1.218-.841 1.499-.417.275-1.24.517-1.898-.103L8.32 11.234a.64.64 0 0 0-.64 0l-3.942 3.364c-.58.546-1.348.461-1.838.18a1.808 1.808 0 0 1-.9-1.576V2.786C1 2.055 1.515 1 2.667 1H13.2c.405 0 .822.13 1.157.386Z" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const SaveFilled: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const SaveFilled = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M14.357 1.386A1.593 1.593 0 0 1 15 2.655v10.547c0 .678-.416 1.218-.841 1.499-.417.275-1.24.517-1.898-.103L8.32 11.234a.64.64 0 0 0-.64 0l-3.942 3.364c-.58.546-1.348.461-1.838.18a1.808 1.808 0 0 1-.9-1.576V2.786C1 2.055 1.515 1 2.667 1H13.2c.405 0 .822.13 1.157.386Z" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const SearchIcon: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const SearchIcon = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { d: "M9.532 9.539A5 5 0 1 0 2.468 2.46a5 5 0 0 0 7.064 7.08zm0 0L15 15", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", vectorEffect: "non-scaling-stroke" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ShareArrowUp: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const ShareArrowUp = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.798 3.16a.5.5 0 0 0 .363.842H7V9a1 1 0 0 0 2 0V4.002h1.839a.5.5 0 0 0 .363-.844L8.363.156a.5.5 0 0 0-.726 0l-2.84 3.002.001.001ZM13 7a1 1 0 0 1 2 0v6.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5V7a1 1 0 0 1 2 0v6h10V7Z" })));
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Time: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { a11yHiddenSvgProps } from '../utils/svg';
3
+ export const Time = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "17", viewBox: "0 0 16 17", fill: "currentColor" }, a11yHiddenSvgProps, props),
4
+ React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8 16.004a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-2a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm3.357-3.736a1 1 0 0 0-.342-1.372L9 7.688V5.004a1 1 0 0 0-2 0v3.25a1 1 0 0 0 .486.857l2.5 1.5a1 1 0 0 0 1.371-.343Z" })));
@@ -0,0 +1,7 @@
1
+ export { configure } from './configure';
2
+ export { BlogConstructorProvider } from './constructor/BlogConstructorProvider';
3
+ export { BlogPostPage } from './containers/BlogPostPage/BlogPostPage';
4
+ export { BlogPage } from './containers/BlogPage/BlogPage';
5
+ export * from './models/common';
6
+ export * from './models/locale';
7
+ export { BREAKPOINTS } from './constants';
@@ -0,0 +1,7 @@
1
+ export { configure } from './configure';
2
+ export { BlogConstructorProvider } from './constructor/BlogConstructorProvider';
3
+ export { BlogPostPage } from './containers/BlogPostPage/BlogPostPage';
4
+ export { BlogPage } from './containers/BlogPage/BlogPage';
5
+ export * from './models/common';
6
+ export * from './models/locale';
7
+ export { BREAKPOINTS } from './constants';