@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.
- package/CHANGELOG.md +231 -0
- package/LICENSE +21 -0
- package/README.md +14 -0
- package/build/cjs/blocks/Author/Author.css +31 -0
- package/build/cjs/blocks/Author/Author.d.ts +3 -0
- package/build/cjs/blocks/Author/Author.js +60 -0
- package/build/cjs/blocks/Banner/Banner.css +58 -0
- package/build/cjs/blocks/Banner/Banner.d.ts +3 -0
- package/build/cjs/blocks/Banner/Banner.js +51 -0
- package/build/cjs/blocks/CTA/CTA.css +56 -0
- package/build/cjs/blocks/CTA/CTA.d.ts +3 -0
- package/build/cjs/blocks/CTA/CTA.js +44 -0
- package/build/cjs/blocks/ColoredText/ColoredText.css +28 -0
- package/build/cjs/blocks/ColoredText/ColoredText.d.ts +3 -0
- package/build/cjs/blocks/ColoredText/ColoredText.js +37 -0
- package/build/cjs/blocks/Feed/Feed.d.ts +3 -0
- package/build/cjs/blocks/Feed/Feed.js +183 -0
- package/build/cjs/blocks/Feed/reducer.d.ts +65 -0
- package/build/cjs/blocks/Feed/reducer.js +40 -0
- package/build/cjs/blocks/Header/Header.d.ts +3 -0
- package/build/cjs/blocks/Header/Header.js +63 -0
- package/build/cjs/blocks/Layout/Layout.css +22 -0
- package/build/cjs/blocks/Layout/Layout.d.ts +3 -0
- package/build/cjs/blocks/Layout/Layout.js +78 -0
- package/build/cjs/blocks/Media/Media.css +41 -0
- package/build/cjs/blocks/Media/Media.d.ts +3 -0
- package/build/cjs/blocks/Media/Media.js +38 -0
- package/build/cjs/blocks/Meta/Meta.css +7 -0
- package/build/cjs/blocks/Meta/Meta.d.ts +3 -0
- package/build/cjs/blocks/Meta/Meta.js +66 -0
- package/build/cjs/blocks/Suggest/Suggest.d.ts +12 -0
- package/build/cjs/blocks/Suggest/Suggest.js +61 -0
- package/build/cjs/blocks/YFM/YFM.d.ts +3 -0
- package/build/cjs/blocks/YFM/YFM.js +24 -0
- package/build/cjs/blocks/constants.d.ts +8 -0
- package/build/cjs/blocks/constants.js +8 -0
- package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.css +76 -0
- package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.d.ts +12 -0
- package/build/cjs/components/ButtonWithIcon/ButtonWithIcon.js +13 -0
- package/build/cjs/components/FeedHeader/FeedHeader.css +54 -0
- package/build/cjs/components/FeedHeader/FeedHeader.d.ts +8 -0
- package/build/cjs/components/FeedHeader/FeedHeader.js +24 -0
- package/build/cjs/components/FeedHeader/components/Controls/Controls.css +107 -0
- package/build/cjs/components/FeedHeader/components/Controls/Controls.d.ts +16 -0
- package/build/cjs/components/FeedHeader/components/Controls/Controls.js +106 -0
- package/build/cjs/components/FeedHeader/components/Controls/customRenders.d.ts +11 -0
- package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +22 -0
- package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.css +14 -0
- package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +8 -0
- package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +13 -0
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +53 -0
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +11 -0
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +47 -0
- package/build/cjs/components/MetaWrapper/MetaWrapper.d.ts +10 -0
- package/build/cjs/components/MetaWrapper/MetaWrapper.js +18 -0
- package/build/cjs/components/Paginator/Paginator.css +54 -0
- package/build/cjs/components/Paginator/Paginator.d.ts +2 -0
- package/build/cjs/components/Paginator/Paginator.js +118 -0
- package/build/cjs/components/Paginator/components/NavigationButton.d.ts +6 -0
- package/build/cjs/components/Paginator/components/NavigationButton.js +13 -0
- package/build/cjs/components/Paginator/components/PaginatorItem.d.ts +2 -0
- package/build/cjs/components/Paginator/components/PaginatorItem.js +15 -0
- package/build/cjs/components/Paginator/types.d.ts +29 -0
- package/build/cjs/components/Paginator/types.js +8 -0
- package/build/cjs/components/Paginator/utils.d.ts +3 -0
- package/build/cjs/components/Paginator/utils.js +32 -0
- package/build/cjs/components/PostCard/PostCard.css +85 -0
- package/build/cjs/components/PostCard/PostCard.d.ts +12 -0
- package/build/cjs/components/PostCard/PostCard.js +60 -0
- package/build/cjs/components/PostInfo/PostInfo.css +88 -0
- package/build/cjs/components/PostInfo/PostInfo.d.ts +28 -0
- package/build/cjs/components/PostInfo/PostInfo.js +55 -0
- package/build/cjs/components/PostInfo/SuggestPostInfo.d.ts +27 -0
- package/build/cjs/components/PostInfo/SuggestPostInfo.js +41 -0
- package/build/cjs/components/PostInfo/components/Date.d.ts +7 -0
- package/build/cjs/components/PostInfo/components/Date.js +36 -0
- package/build/cjs/components/PostInfo/components/ReadingTime.d.ts +7 -0
- package/build/cjs/components/PostInfo/components/ReadingTime.js +18 -0
- package/build/cjs/components/PostInfo/components/Save.d.ts +25 -0
- package/build/cjs/components/PostInfo/components/Save.js +73 -0
- package/build/cjs/components/PostInfo/components/Sharing.d.ts +7 -0
- package/build/cjs/components/PostInfo/components/Sharing.js +54 -0
- package/build/cjs/components/Posts/Posts.css +28 -0
- package/build/cjs/components/Posts/Posts.d.ts +19 -0
- package/build/cjs/components/Posts/Posts.js +32 -0
- package/build/cjs/components/PostsEmpty/PostsEmpty.css +25 -0
- package/build/cjs/components/PostsEmpty/PostsEmpty.d.ts +2 -0
- package/build/cjs/components/PostsEmpty/PostsEmpty.js +14 -0
- package/build/cjs/components/PostsError/PostError.css +30 -0
- package/build/cjs/components/PostsError/PostsError.d.ts +6 -0
- package/build/cjs/components/PostsError/PostsError.js +20 -0
- package/build/cjs/components/Search/Search.css +33 -0
- package/build/cjs/components/Search/Search.d.ts +15 -0
- package/build/cjs/components/Search/Search.js +67 -0
- package/build/cjs/components/Wrapper/Wrapper.css +32 -0
- package/build/cjs/components/Wrapper/Wrapper.d.ts +10 -0
- package/build/cjs/components/Wrapper/Wrapper.js +17 -0
- package/build/cjs/configure.d.ts +5 -0
- package/build/cjs/configure.js +8 -0
- package/build/cjs/constants.d.ts +27 -0
- package/build/cjs/constants.js +34 -0
- package/build/cjs/constructor/BlogConstructorProvider.d.ts +16 -0
- package/build/cjs/constructor/BlogConstructorProvider.js +46 -0
- package/build/cjs/constructor/blocksMap.d.ts +18 -0
- package/build/cjs/constructor/blocksMap.js +30 -0
- package/build/cjs/containers/BlogPage/BlogPage.css +21 -0
- package/build/cjs/containers/BlogPage/BlogPage.d.ts +15 -0
- package/build/cjs/containers/BlogPage/BlogPage.js +30 -0
- package/build/cjs/containers/BlogPostPage/BlogPostPage.css +251 -0
- package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +18 -0
- package/build/cjs/containers/BlogPostPage/BlogPostPage.js +42 -0
- package/build/cjs/contexts/DeviceContext.d.ts +4 -0
- package/build/cjs/contexts/DeviceContext.js +8 -0
- package/build/cjs/contexts/FeedContext.d.ts +13 -0
- package/build/cjs/contexts/FeedContext.js +8 -0
- package/build/cjs/contexts/LikesContext.d.ts +7 -0
- package/build/cjs/contexts/LikesContext.js +8 -0
- package/build/cjs/contexts/LocaleContext.d.ts +6 -0
- package/build/cjs/contexts/LocaleContext.js +16 -0
- package/build/cjs/contexts/MobileContext.d.ts +2 -0
- package/build/cjs/contexts/MobileContext.js +8 -0
- package/build/cjs/contexts/PostPageContext.d.ts +14 -0
- package/build/cjs/contexts/PostPageContext.js +8 -0
- package/build/cjs/contexts/RouterContext.d.ts +9 -0
- package/build/cjs/contexts/RouterContext.js +8 -0
- package/build/cjs/contexts/UserContext.d.ts +18 -0
- package/build/cjs/contexts/UserContext.js +8 -0
- package/build/cjs/contexts/theme/ThemeContext.d.ts +8 -0
- package/build/cjs/contexts/theme/ThemeContext.js +13 -0
- package/build/cjs/contexts/theme/ThemeProvider.d.ts +23 -0
- package/build/cjs/contexts/theme/ThemeProvider.js +51 -0
- package/build/cjs/contexts/theme/ThemeValueContext.d.ts +7 -0
- package/build/cjs/contexts/theme/ThemeValueContext.js +11 -0
- package/build/cjs/contexts/theme/index.d.ts +6 -0
- package/build/cjs/contexts/theme/index.js +22 -0
- package/build/cjs/contexts/theme/useTheme.d.ts +2 -0
- package/build/cjs/contexts/theme/useTheme.js +13 -0
- package/build/cjs/contexts/theme/useThemeValue.d.ts +2 -0
- package/build/cjs/contexts/theme/useThemeValue.js +13 -0
- package/build/cjs/contexts/theme/withTheme.d.ts +6 -0
- package/build/cjs/contexts/theme/withTheme.js +21 -0
- package/build/cjs/contexts/theme/withThemeValue.d.ts +6 -0
- package/build/cjs/contexts/theme/withThemeValue.js +21 -0
- package/build/cjs/counters/metrika.d.ts +59 -0
- package/build/cjs/counters/metrika.js +170 -0
- package/build/cjs/counters/utils.d.ts +5 -0
- package/build/cjs/counters/utils.js +9 -0
- package/build/cjs/hooks/useIsIPhone.d.ts +1 -0
- package/build/cjs/hooks/useIsIPhone.js +10 -0
- package/build/cjs/hooks/useLikes.d.ts +15 -0
- package/build/cjs/hooks/useLikes.js +35 -0
- package/build/cjs/i18n/index.d.ts +22 -0
- package/build/cjs/i18n/index.js +74 -0
- package/build/cjs/icons/Close.d.ts +2 -0
- package/build/cjs/icons/Close.js +11 -0
- package/build/cjs/icons/DropdownArrow.d.ts +2 -0
- package/build/cjs/icons/DropdownArrow.js +11 -0
- package/build/cjs/icons/Save.d.ts +2 -0
- package/build/cjs/icons/Save.js +11 -0
- package/build/cjs/icons/SaveFilled.d.ts +2 -0
- package/build/cjs/icons/SaveFilled.js +11 -0
- package/build/cjs/icons/SearchIcon.d.ts +2 -0
- package/build/cjs/icons/SearchIcon.js +11 -0
- package/build/cjs/icons/ShareArrowUp.d.ts +2 -0
- package/build/cjs/icons/ShareArrowUp.js +11 -0
- package/build/cjs/icons/Time.d.ts +2 -0
- package/build/cjs/icons/Time.js +11 -0
- package/build/cjs/index.d.ts +7 -0
- package/build/cjs/index.js +29 -0
- package/build/cjs/internal-typings/bem-cn-lite.d.ts +17 -0
- package/build/cjs/internal-typings/global.d.ts +5 -0
- package/build/cjs/models/blocks.d.ts +84 -0
- package/build/cjs/models/blocks.js +2 -0
- package/build/cjs/models/common.d.ts +151 -0
- package/build/cjs/models/common.js +22 -0
- package/build/cjs/models/locale.d.ts +29 -0
- package/build/cjs/models/locale.js +14 -0
- package/build/cjs/models/paddings.d.ts +16 -0
- package/build/cjs/models/paddings.js +10 -0
- package/build/cjs/utils/cn.d.ts +4 -0
- package/build/cjs/utils/cn.js +12 -0
- package/build/cjs/utils/common.d.ts +42 -0
- package/build/cjs/utils/common.js +120 -0
- package/build/cjs/utils/date.d.ts +13 -0
- package/build/cjs/utils/date.js +59 -0
- package/build/cjs/utils/svg.d.ts +3 -0
- package/build/cjs/utils/svg.js +7 -0
- package/build/esm/blocks/Author/Author.css +31 -0
- package/build/esm/blocks/Author/Author.d.ts +4 -0
- package/build/esm/blocks/Author/Author.js +34 -0
- package/build/esm/blocks/Banner/Banner.css +58 -0
- package/build/esm/blocks/Banner/Banner.d.ts +4 -0
- package/build/esm/blocks/Banner/Banner.js +45 -0
- package/build/esm/blocks/CTA/CTA.css +56 -0
- package/build/esm/blocks/CTA/CTA.d.ts +4 -0
- package/build/esm/blocks/CTA/CTA.js +38 -0
- package/build/esm/blocks/ColoredText/ColoredText.css +28 -0
- package/build/esm/blocks/ColoredText/ColoredText.d.ts +4 -0
- package/build/esm/blocks/ColoredText/ColoredText.js +31 -0
- package/build/esm/blocks/Feed/Feed.d.ts +3 -0
- package/build/esm/blocks/Feed/Feed.js +153 -0
- package/build/esm/blocks/Feed/reducer.d.ts +65 -0
- package/build/esm/blocks/Feed/reducer.js +36 -0
- package/build/esm/blocks/Header/Header.d.ts +3 -0
- package/build/esm/blocks/Header/Header.js +36 -0
- package/build/esm/blocks/Layout/Layout.css +22 -0
- package/build/esm/blocks/Layout/Layout.d.ts +4 -0
- package/build/esm/blocks/Layout/Layout.js +52 -0
- package/build/esm/blocks/Media/Media.css +41 -0
- package/build/esm/blocks/Media/Media.d.ts +4 -0
- package/build/esm/blocks/Media/Media.js +32 -0
- package/build/esm/blocks/Meta/Meta.css +7 -0
- package/build/esm/blocks/Meta/Meta.d.ts +4 -0
- package/build/esm/blocks/Meta/Meta.js +40 -0
- package/build/esm/blocks/Suggest/Suggest.d.ts +12 -0
- package/build/esm/blocks/Suggest/Suggest.js +34 -0
- package/build/esm/blocks/YFM/YFM.d.ts +3 -0
- package/build/esm/blocks/YFM/YFM.js +17 -0
- package/build/esm/blocks/constants.d.ts +8 -0
- package/build/esm/blocks/constants.js +5 -0
- package/build/esm/components/ButtonWithIcon/ButtonWithIcon.css +76 -0
- package/build/esm/components/ButtonWithIcon/ButtonWithIcon.d.ts +13 -0
- package/build/esm/components/ButtonWithIcon/ButtonWithIcon.js +7 -0
- package/build/esm/components/FeedHeader/FeedHeader.css +54 -0
- package/build/esm/components/FeedHeader/FeedHeader.d.ts +9 -0
- package/build/esm/components/FeedHeader/FeedHeader.js +18 -0
- package/build/esm/components/FeedHeader/components/Controls/Controls.css +107 -0
- package/build/esm/components/FeedHeader/components/Controls/Controls.d.ts +17 -0
- package/build/esm/components/FeedHeader/components/Controls/Controls.js +77 -0
- package/build/esm/components/FeedHeader/components/Controls/customRenders.d.ts +12 -0
- package/build/esm/components/FeedHeader/components/Controls/customRenders.js +14 -0
- package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.css +14 -0
- package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +9 -0
- package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +7 -0
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +53 -0
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +12 -0
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +21 -0
- package/build/esm/components/MetaWrapper/MetaWrapper.d.ts +10 -0
- package/build/esm/components/MetaWrapper/MetaWrapper.js +11 -0
- package/build/esm/components/Paginator/Paginator.css +54 -0
- package/build/esm/components/Paginator/Paginator.d.ts +3 -0
- package/build/esm/components/Paginator/Paginator.js +89 -0
- package/build/esm/components/Paginator/components/NavigationButton.d.ts +7 -0
- package/build/esm/components/Paginator/components/NavigationButton.js +7 -0
- package/build/esm/components/Paginator/components/PaginatorItem.d.ts +3 -0
- package/build/esm/components/Paginator/components/PaginatorItem.js +9 -0
- package/build/esm/components/Paginator/types.d.ts +29 -0
- package/build/esm/components/Paginator/types.js +5 -0
- package/build/esm/components/Paginator/utils.d.ts +3 -0
- package/build/esm/components/Paginator/utils.js +27 -0
- package/build/esm/components/PostCard/PostCard.css +85 -0
- package/build/esm/components/PostCard/PostCard.d.ts +13 -0
- package/build/esm/components/PostCard/PostCard.js +34 -0
- package/build/esm/components/PostInfo/PostInfo.css +88 -0
- package/build/esm/components/PostInfo/PostInfo.d.ts +29 -0
- package/build/esm/components/PostInfo/PostInfo.js +29 -0
- package/build/esm/components/PostInfo/SuggestPostInfo.d.ts +28 -0
- package/build/esm/components/PostInfo/SuggestPostInfo.js +35 -0
- package/build/esm/components/PostInfo/components/Date.d.ts +8 -0
- package/build/esm/components/PostInfo/components/Date.js +10 -0
- package/build/esm/components/PostInfo/components/ReadingTime.d.ts +8 -0
- package/build/esm/components/PostInfo/components/ReadingTime.js +12 -0
- package/build/esm/components/PostInfo/components/Save.d.ts +26 -0
- package/build/esm/components/PostInfo/components/Save.js +44 -0
- package/build/esm/components/PostInfo/components/Sharing.d.ts +8 -0
- package/build/esm/components/PostInfo/components/Sharing.js +25 -0
- package/build/esm/components/Posts/Posts.css +28 -0
- package/build/esm/components/Posts/Posts.d.ts +20 -0
- package/build/esm/components/Posts/Posts.js +26 -0
- package/build/esm/components/PostsEmpty/PostsEmpty.css +25 -0
- package/build/esm/components/PostsEmpty/PostsEmpty.d.ts +3 -0
- package/build/esm/components/PostsEmpty/PostsEmpty.js +8 -0
- package/build/esm/components/PostsError/PostError.css +30 -0
- package/build/esm/components/PostsError/PostsError.d.ts +7 -0
- package/build/esm/components/PostsError/PostsError.js +14 -0
- package/build/esm/components/Search/Search.css +33 -0
- package/build/esm/components/Search/Search.d.ts +16 -0
- package/build/esm/components/Search/Search.js +41 -0
- package/build/esm/components/Wrapper/Wrapper.css +32 -0
- package/build/esm/components/Wrapper/Wrapper.d.ts +11 -0
- package/build/esm/components/Wrapper/Wrapper.js +11 -0
- package/build/esm/configure.d.ts +5 -0
- package/build/esm/configure.js +4 -0
- package/build/esm/constants.d.ts +27 -0
- package/build/esm/constants.js +31 -0
- package/build/esm/constructor/BlogConstructorProvider.d.ts +16 -0
- package/build/esm/constructor/BlogConstructorProvider.js +19 -0
- package/build/esm/constructor/blocksMap.d.ts +18 -0
- package/build/esm/constructor/blocksMap.js +28 -0
- package/build/esm/containers/BlogPage/BlogPage.css +21 -0
- package/build/esm/containers/BlogPage/BlogPage.d.ts +16 -0
- package/build/esm/containers/BlogPage/BlogPage.js +24 -0
- package/build/esm/containers/BlogPostPage/BlogPostPage.css +251 -0
- package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +19 -0
- package/build/esm/containers/BlogPostPage/BlogPostPage.js +36 -0
- package/build/esm/contexts/DeviceContext.d.ts +4 -0
- package/build/esm/contexts/DeviceContext.js +2 -0
- package/build/esm/contexts/FeedContext.d.ts +13 -0
- package/build/esm/contexts/FeedContext.js +2 -0
- package/build/esm/contexts/LikesContext.d.ts +7 -0
- package/build/esm/contexts/LikesContext.js +2 -0
- package/build/esm/contexts/LocaleContext.d.ts +6 -0
- package/build/esm/contexts/LocaleContext.js +10 -0
- package/build/esm/contexts/MobileContext.d.ts +2 -0
- package/build/esm/contexts/MobileContext.js +2 -0
- package/build/esm/contexts/PostPageContext.d.ts +14 -0
- package/build/esm/contexts/PostPageContext.js +2 -0
- package/build/esm/contexts/RouterContext.d.ts +9 -0
- package/build/esm/contexts/RouterContext.js +2 -0
- package/build/esm/contexts/UserContext.d.ts +18 -0
- package/build/esm/contexts/UserContext.js +2 -0
- package/build/esm/contexts/theme/ThemeContext.d.ts +8 -0
- package/build/esm/contexts/theme/ThemeContext.js +7 -0
- package/build/esm/contexts/theme/ThemeProvider.d.ts +23 -0
- package/build/esm/contexts/theme/ThemeProvider.js +44 -0
- package/build/esm/contexts/theme/ThemeValueContext.d.ts +7 -0
- package/build/esm/contexts/theme/ThemeValueContext.js +5 -0
- package/build/esm/contexts/theme/index.d.ts +6 -0
- package/build/esm/contexts/theme/index.js +6 -0
- package/build/esm/contexts/theme/useTheme.d.ts +2 -0
- package/build/esm/contexts/theme/useTheme.js +6 -0
- package/build/esm/contexts/theme/useThemeValue.d.ts +2 -0
- package/build/esm/contexts/theme/useThemeValue.js +6 -0
- package/build/esm/contexts/theme/withTheme.d.ts +6 -0
- package/build/esm/contexts/theme/withTheme.js +14 -0
- package/build/esm/contexts/theme/withThemeValue.d.ts +6 -0
- package/build/esm/contexts/theme/withThemeValue.js +14 -0
- package/build/esm/counters/metrika.d.ts +59 -0
- package/build/esm/counters/metrika.js +166 -0
- package/build/esm/counters/utils.d.ts +5 -0
- package/build/esm/counters/utils.js +6 -0
- package/build/esm/hooks/useIsIPhone.d.ts +1 -0
- package/build/esm/hooks/useIsIPhone.js +6 -0
- package/build/esm/hooks/useLikes.d.ts +15 -0
- package/build/esm/hooks/useLikes.js +31 -0
- package/build/esm/i18n/index.d.ts +22 -0
- package/build/esm/i18n/index.js +71 -0
- package/build/esm/icons/Close.d.ts +2 -0
- package/build/esm/icons/Close.js +4 -0
- package/build/esm/icons/DropdownArrow.d.ts +2 -0
- package/build/esm/icons/DropdownArrow.js +4 -0
- package/build/esm/icons/Save.d.ts +2 -0
- package/build/esm/icons/Save.js +4 -0
- package/build/esm/icons/SaveFilled.d.ts +2 -0
- package/build/esm/icons/SaveFilled.js +4 -0
- package/build/esm/icons/SearchIcon.d.ts +2 -0
- package/build/esm/icons/SearchIcon.js +4 -0
- package/build/esm/icons/ShareArrowUp.d.ts +2 -0
- package/build/esm/icons/ShareArrowUp.js +4 -0
- package/build/esm/icons/Time.d.ts +2 -0
- package/build/esm/icons/Time.js +4 -0
- package/build/esm/index.d.ts +7 -0
- package/build/esm/index.js +7 -0
- package/build/esm/internal-typings/bem-cn-lite.d.ts +17 -0
- package/build/esm/internal-typings/global.d.ts +5 -0
- package/build/esm/models/blocks.d.ts +84 -0
- package/build/esm/models/blocks.js +1 -0
- package/build/esm/models/common.d.ts +151 -0
- package/build/esm/models/common.js +19 -0
- package/build/esm/models/locale.d.ts +29 -0
- package/build/esm/models/locale.js +11 -0
- package/build/esm/models/paddings.d.ts +16 -0
- package/build/esm/models/paddings.js +7 -0
- package/build/esm/utils/cn.d.ts +4 -0
- package/build/esm/utils/cn.js +5 -0
- package/build/esm/utils/common.d.ts +42 -0
- package/build/esm/utils/common.js +107 -0
- package/build/esm/utils/date.d.ts +13 -0
- package/build/esm/utils/date.js +55 -0
- package/build/esm/utils/svg.d.ts +3 -0
- package/build/esm/utils/svg.js +4 -0
- package/package.json +140 -0
- package/server/data/config.d.ts +32 -0
- package/server/data/config.js +39 -0
- package/server/data/contentFilter.d.ts +27 -0
- package/server/data/contentFilter.js +61 -0
- package/server/data/createReadableContent.d.ts +17 -0
- package/server/data/createReadableContent.js +47 -0
- package/server/data/sanitizeMeta.d.ts +24 -0
- package/server/data/sanitizeMeta.js +18 -0
- package/server/data/transformPageContent.d.ts +21 -0
- package/server/data/transformPageContent.js +35 -0
- package/server/data/transformPost.d.ts +11 -0
- package/server/data/transformPost.js +34 -0
- package/server/index.d.ts +4 -0
- package/server/index.js +11 -0
- package/server/models/blocks.d.ts +84 -0
- package/server/models/blocks.js +2 -0
- package/server/models/common.d.ts +151 -0
- package/server/models/common.js +22 -0
- package/server/models/locale.d.ts +29 -0
- package/server/models/locale.js +14 -0
- package/server/models/paddings.d.ts +16 -0
- package/server/models/paddings.js +10 -0
- package/styles/fonts.css +195 -0
- package/styles/fonts.scss +223 -0
- package/styles/mixins.css +2 -0
- package/styles/mixins.scss +59 -0
- package/styles/root.css +21 -0
- package/styles/root.scss +25 -0
- package/styles/storybook/common.scss +29 -0
- package/styles/storybook/index.scss +21 -0
- package/styles/storybook/palette.scss +75 -0
- package/styles/storybook/typography.scss +139 -0
- package/styles/styles.css +196 -0
- package/styles/styles.scss +2 -0
- package/styles/variables.css +0 -0
- package/styles/variables.scss +7 -0
- package/styles/yfm.css +103 -0
- package/styles/yfm.scss +123 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.PostsError = void 0;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const uikit_1 = require("@gravity-ui/uikit");
|
9
|
+
const i18n_1 = require("../../i18n");
|
10
|
+
const cn_1 = require("../../utils/cn");
|
11
|
+
const b = (0, cn_1.block)('posts-error');
|
12
|
+
const PostsError = ({ onButtonClick }) => {
|
13
|
+
const handleClick = () => (onButtonClick ? onButtonClick() : window.location.reload());
|
14
|
+
return (react_1.default.createElement("div", { className: b('container') },
|
15
|
+
react_1.default.createElement("div", { className: b('title') }, (0, i18n_1.i18)(i18n_1.Keyset.ErrorTitle)),
|
16
|
+
react_1.default.createElement("div", { className: b('subtitle') }, (0, i18n_1.i18)(i18n_1.Keyset.PostLoadError)),
|
17
|
+
react_1.default.createElement("div", { className: b('button') },
|
18
|
+
react_1.default.createElement(uikit_1.Button, { size: "xl", view: "outlined", onClick: handleClick }, (0, i18n_1.i18)(i18n_1.Keyset.ActionTryAgain)))));
|
19
|
+
};
|
20
|
+
exports.PostsError = PostsError;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
2
|
+
unpredictable css rules order in build */
|
3
|
+
.bc-search {
|
4
|
+
font-size: var(--yc-text-body-1-font-size);
|
5
|
+
line-height: var(--yc-text-body-1-line-height);
|
6
|
+
position: relative;
|
7
|
+
display: flex;
|
8
|
+
align-items: center;
|
9
|
+
justify-content: flex-end;
|
10
|
+
max-width: 376px;
|
11
|
+
height: 44px;
|
12
|
+
transition: width 0.3s;
|
13
|
+
}
|
14
|
+
.bc-search__close-button, .bc-search__search-button {
|
15
|
+
position: absolute;
|
16
|
+
z-index: 2;
|
17
|
+
right: 10px;
|
18
|
+
color: var(--yc-color-text-hint);
|
19
|
+
}
|
20
|
+
.bc-search__search-button:hover {
|
21
|
+
color: var(--yc-color-text-secondary);
|
22
|
+
}
|
23
|
+
.bc-search__search-suggest-container {
|
24
|
+
width: 100%;
|
25
|
+
}
|
26
|
+
.bc-search__search-suggest .yc-text-input__control {
|
27
|
+
padding-right: 32px;
|
28
|
+
}
|
29
|
+
.bc-search_size_s {
|
30
|
+
height: 36px;
|
31
|
+
width: 352px;
|
32
|
+
max-width: 100%;
|
33
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ClassNameProps } from '../../models/common';
|
3
|
+
export type SearchSize = 's' | 'm';
|
4
|
+
interface SearchProps extends ClassNameProps {
|
5
|
+
value?: string;
|
6
|
+
initialValue: string;
|
7
|
+
onSubmit: (value: string) => void;
|
8
|
+
debounce?: number;
|
9
|
+
placeholder?: string;
|
10
|
+
size?: SearchSize;
|
11
|
+
autoFocus?: boolean;
|
12
|
+
className?: string;
|
13
|
+
}
|
14
|
+
export declare const Search: React.FC<SearchProps>;
|
15
|
+
export {};
|
@@ -0,0 +1,67 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.Search = void 0;
|
27
|
+
const react_1 = __importStar(require("react"));
|
28
|
+
const lodash_1 = require("lodash");
|
29
|
+
const uikit_1 = require("@gravity-ui/uikit");
|
30
|
+
const ButtonWithIcon_1 = require("../ButtonWithIcon/ButtonWithIcon");
|
31
|
+
const useIsIPhone_1 = require("../../hooks/useIsIPhone");
|
32
|
+
const Close_1 = require("../../icons/Close");
|
33
|
+
const SearchIcon_1 = require("../../icons/SearchIcon");
|
34
|
+
const i18n_1 = require("../../i18n");
|
35
|
+
const cn_1 = require("../../utils/cn");
|
36
|
+
const b = (0, cn_1.block)('search');
|
37
|
+
const SEARCH_ICON_SIZE = 16;
|
38
|
+
const CLOSE_ICON_SIZE = 12;
|
39
|
+
const Search = (props) => {
|
40
|
+
const { className, initialValue, onSubmit, debounce = 300, placeholder = (0, i18n_1.i18)(i18n_1.Keyset.Search), size = 'm', autoFocus = false, value: externalValue, } = props;
|
41
|
+
const handleChange = (0, lodash_1.debounce)(onSubmit, debounce);
|
42
|
+
const [value, setValue] = (0, react_1.useState)(initialValue);
|
43
|
+
const inputRef = (0, react_1.useRef)(null);
|
44
|
+
const isIPhone = (0, useIsIPhone_1.useIsIPhone)();
|
45
|
+
(0, react_1.useEffect)(() => {
|
46
|
+
if (externalValue !== undefined) {
|
47
|
+
setValue(externalValue);
|
48
|
+
}
|
49
|
+
}, [externalValue]);
|
50
|
+
(0, react_1.useEffect)(() => {
|
51
|
+
if (autoFocus && !isIPhone) {
|
52
|
+
setTimeout(() => { var _a; return (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true }); }, 0);
|
53
|
+
}
|
54
|
+
}, [autoFocus, inputRef, isIPhone]);
|
55
|
+
return (react_1.default.createElement("div", { className: b({ size }, className) },
|
56
|
+
react_1.default.createElement("div", { className: b('search-suggest-container') },
|
57
|
+
react_1.default.createElement(uikit_1.TextInput, { value: value, onUpdate: (query) => {
|
58
|
+
setValue(query);
|
59
|
+
handleChange(query);
|
60
|
+
}, placeholder: placeholder, className: b('search-suggest'), size: size === 'm' ? 'xl' : 'l', controlRef: inputRef })),
|
61
|
+
value ? (react_1.default.createElement(ButtonWithIcon_1.ButtonWithIcon, { className: b('close-button'), icon: Close_1.Close, iconSize: CLOSE_ICON_SIZE, size: "xs", onClick: () => {
|
62
|
+
handleChange.cancel();
|
63
|
+
setValue('');
|
64
|
+
onSubmit('');
|
65
|
+
} })) : (react_1.default.createElement(ButtonWithIcon_1.ButtonWithIcon, { className: b('search-button'), icon: SearchIcon_1.SearchIcon, iconSize: SEARCH_ICON_SIZE, size: "xs", disabled: true }))));
|
66
|
+
};
|
67
|
+
exports.Search = Search;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
2
|
+
unpredictable css rules order in build */
|
3
|
+
.bc-wrapper_padding-top_xs {
|
4
|
+
padding-top: 0px;
|
5
|
+
}
|
6
|
+
.bc-wrapper_padding-top_s {
|
7
|
+
padding-top: 16px;
|
8
|
+
}
|
9
|
+
.bc-wrapper_padding-top_m {
|
10
|
+
padding-top: 32px;
|
11
|
+
}
|
12
|
+
.bc-wrapper_padding-top_l {
|
13
|
+
padding-top: 48px;
|
14
|
+
}
|
15
|
+
.bc-wrapper_padding-top_xl {
|
16
|
+
padding-top: 64px;
|
17
|
+
}
|
18
|
+
.bc-wrapper_padding-bottom_xs {
|
19
|
+
padding-bottom: 0px;
|
20
|
+
}
|
21
|
+
.bc-wrapper_padding-bottom_s {
|
22
|
+
padding-bottom: 16px;
|
23
|
+
}
|
24
|
+
.bc-wrapper_padding-bottom_m {
|
25
|
+
padding-bottom: 32px;
|
26
|
+
}
|
27
|
+
.bc-wrapper_padding-bottom_l {
|
28
|
+
padding-bottom: 48px;
|
29
|
+
}
|
30
|
+
.bc-wrapper_padding-bottom_xl {
|
31
|
+
padding-bottom: 64px;
|
32
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ClassNameProps } from '../../models/common';
|
3
|
+
import { Paddings } from '../../models/paddings';
|
4
|
+
type WrapperProps = ClassNameProps & {
|
5
|
+
paddings?: Paddings;
|
6
|
+
dataQa?: string;
|
7
|
+
children?: React.ReactNode;
|
8
|
+
};
|
9
|
+
export declare const Wrapper: React.FunctionComponent<WrapperProps>;
|
10
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.Wrapper = void 0;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const cn_1 = require("../../utils/cn");
|
9
|
+
const constants_1 = require("../../constants");
|
10
|
+
const b = (0, cn_1.block)('wrapper');
|
11
|
+
const Wrapper = ({ children, paddings = constants_1.DEFAULT_PADDINGS, className, dataQa, }) => (react_1.default.createElement("section", { className: b({
|
12
|
+
['padding-top']: (paddings === null || paddings === void 0 ? void 0 : paddings.top) || 'xs',
|
13
|
+
['padding-bottom']: (paddings === null || paddings === void 0 ? void 0 : paddings.bottom) || 'l',
|
14
|
+
['padding-left']: (paddings === null || paddings === void 0 ? void 0 : paddings.left) || '',
|
15
|
+
['padding-right']: (paddings === null || paddings === void 0 ? void 0 : paddings.right) || '',
|
16
|
+
}, className), "data-qa": dataQa }, children));
|
17
|
+
exports.Wrapper = Wrapper;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Paddings } from './models/paddings';
|
2
|
+
export declare const BREAKPOINTS: {
|
3
|
+
xs: number;
|
4
|
+
sm: number;
|
5
|
+
md: number;
|
6
|
+
lg: number;
|
7
|
+
xl: number;
|
8
|
+
};
|
9
|
+
export declare const DEFAULT_THEME = "light";
|
10
|
+
export declare enum BlogMetrikaGoalIds {
|
11
|
+
shareTop = "SITE_BLOG_SHARE-TOP_CLICK",
|
12
|
+
shareBottom = "SITE_BLOG_SHARE-BOTTOM_CLICK",
|
13
|
+
breadcrumbsTop = "SITE_BLOG_BREADCRUMBS-TOP_CLICK",
|
14
|
+
breadcrumbsBottom = "SITE_BLOG_BREADCRUMBS-BOTTOM_CLICK",
|
15
|
+
saveTop = "SITE_BLOG_SAVE-TOP_CLICK",
|
16
|
+
saveBottom = "SITE_BLOG_SAVE-BOTTOM_CLICK",
|
17
|
+
suggest = "SITE_BLOG_INTERESTING-CARD_CLICK",
|
18
|
+
bannerCommon = "SITE_BLOG_TEXT-BANNER_CLICK",
|
19
|
+
cta = "SITE_BLOG_CTA_CLICK",
|
20
|
+
tag = "SITE_BLOG_THEME-SELECTOR_CLCK",
|
21
|
+
service = "SITE_BLOG_SERVICE-SELECTOR_CLCK",
|
22
|
+
showMore = "SITE_BLOG-PAGINATION_SHOW-MORE_CLCK",
|
23
|
+
next = "SITE_BLOG-PAGINATION_NEXT_CLCK",
|
24
|
+
home = "SITE_BLOG-PAGINATION_HOME_CLCK",
|
25
|
+
page = "SITE_BLOG-PAGINATION_PAGE-NMBR_CLCK"
|
26
|
+
}
|
27
|
+
export declare const DEFAULT_PADDINGS: Paddings;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DEFAULT_PADDINGS = exports.BlogMetrikaGoalIds = exports.DEFAULT_THEME = exports.BREAKPOINTS = void 0;
|
4
|
+
const paddings_1 = require("./models/paddings");
|
5
|
+
exports.BREAKPOINTS = {
|
6
|
+
xs: 0,
|
7
|
+
sm: 577,
|
8
|
+
md: 769,
|
9
|
+
lg: 1081,
|
10
|
+
xl: 1185,
|
11
|
+
};
|
12
|
+
exports.DEFAULT_THEME = 'light';
|
13
|
+
var BlogMetrikaGoalIds;
|
14
|
+
(function (BlogMetrikaGoalIds) {
|
15
|
+
BlogMetrikaGoalIds["shareTop"] = "SITE_BLOG_SHARE-TOP_CLICK";
|
16
|
+
BlogMetrikaGoalIds["shareBottom"] = "SITE_BLOG_SHARE-BOTTOM_CLICK";
|
17
|
+
BlogMetrikaGoalIds["breadcrumbsTop"] = "SITE_BLOG_BREADCRUMBS-TOP_CLICK";
|
18
|
+
BlogMetrikaGoalIds["breadcrumbsBottom"] = "SITE_BLOG_BREADCRUMBS-BOTTOM_CLICK";
|
19
|
+
BlogMetrikaGoalIds["saveTop"] = "SITE_BLOG_SAVE-TOP_CLICK";
|
20
|
+
BlogMetrikaGoalIds["saveBottom"] = "SITE_BLOG_SAVE-BOTTOM_CLICK";
|
21
|
+
BlogMetrikaGoalIds["suggest"] = "SITE_BLOG_INTERESTING-CARD_CLICK";
|
22
|
+
BlogMetrikaGoalIds["bannerCommon"] = "SITE_BLOG_TEXT-BANNER_CLICK";
|
23
|
+
BlogMetrikaGoalIds["cta"] = "SITE_BLOG_CTA_CLICK";
|
24
|
+
BlogMetrikaGoalIds["tag"] = "SITE_BLOG_THEME-SELECTOR_CLCK";
|
25
|
+
BlogMetrikaGoalIds["service"] = "SITE_BLOG_SERVICE-SELECTOR_CLCK";
|
26
|
+
BlogMetrikaGoalIds["showMore"] = "SITE_BLOG-PAGINATION_SHOW-MORE_CLCK";
|
27
|
+
BlogMetrikaGoalIds["next"] = "SITE_BLOG-PAGINATION_NEXT_CLCK";
|
28
|
+
BlogMetrikaGoalIds["home"] = "SITE_BLOG-PAGINATION_HOME_CLCK";
|
29
|
+
BlogMetrikaGoalIds["page"] = "SITE_BLOG-PAGINATION_PAGE-NMBR_CLCK";
|
30
|
+
})(BlogMetrikaGoalIds = exports.BlogMetrikaGoalIds || (exports.BlogMetrikaGoalIds = {}));
|
31
|
+
exports.DEFAULT_PADDINGS = {
|
32
|
+
[paddings_1.PaddingsDirections.bottom]: 'l',
|
33
|
+
[paddings_1.PaddingsDirections.top]: 'xs',
|
34
|
+
};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { RouterContextProps } from '../contexts/RouterContext';
|
3
|
+
import { UserContextProps } from '../contexts/UserContext';
|
4
|
+
import { DeviceContextProps } from '../contexts/DeviceContext';
|
5
|
+
import { ThemeValueType } from '../contexts/theme/ThemeValueContext';
|
6
|
+
import { Locale } from '../models/locale';
|
7
|
+
export interface BlogConstructorProviderProps {
|
8
|
+
isMobile?: boolean;
|
9
|
+
locale?: Locale;
|
10
|
+
router?: RouterContextProps;
|
11
|
+
theme?: ThemeValueType;
|
12
|
+
user?: UserContextProps;
|
13
|
+
device?: DeviceContextProps;
|
14
|
+
children?: React.ReactNode;
|
15
|
+
}
|
16
|
+
export declare const BlogConstructorProvider: React.FC<BlogConstructorProviderProps>;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.BlogConstructorProvider = void 0;
|
27
|
+
const react_1 = __importStar(require("react"));
|
28
|
+
const MobileContext_1 = require("../contexts/MobileContext");
|
29
|
+
const LocaleContext_1 = require("../contexts/LocaleContext");
|
30
|
+
const RouterContext_1 = require("../contexts/RouterContext");
|
31
|
+
const UserContext_1 = require("../contexts/UserContext");
|
32
|
+
const DeviceContext_1 = require("../contexts/DeviceContext");
|
33
|
+
const ThemeValueContext_1 = require("../contexts/theme/ThemeValueContext");
|
34
|
+
const constants_1 = require("../constants");
|
35
|
+
const BlogConstructorProvider = ({ isMobile, locale = {}, router = {}, theme = constants_1.DEFAULT_THEME, user = {}, device = {}, children, }) => {
|
36
|
+
const context = [
|
37
|
+
react_1.default.createElement(ThemeValueContext_1.ThemeValueContext.Provider, { value: { themeValue: theme }, key: "theme-context" }),
|
38
|
+
react_1.default.createElement(LocaleContext_1.LocaleContext.Provider, { value: { locale }, key: "locale-context" }),
|
39
|
+
react_1.default.createElement(RouterContext_1.RouterContext.Provider, { value: router, key: "router-context" }),
|
40
|
+
react_1.default.createElement(MobileContext_1.MobileContext.Provider, { value: Boolean(isMobile), key: "is-mobile-context" }),
|
41
|
+
react_1.default.createElement(UserContext_1.UserContext.Provider, { value: user, key: "user-context" }),
|
42
|
+
react_1.default.createElement(DeviceContext_1.DeviceContext.Provider, { value: device, key: "device-context" }),
|
43
|
+
].reduceRight((prev, provider) => react_1.default.cloneElement(provider, {}, prev), children);
|
44
|
+
return react_1.default.createElement(react_1.Fragment, null, context);
|
45
|
+
};
|
46
|
+
exports.BlogConstructorProvider = BlogConstructorProvider;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
declare const _default: {
|
2
|
+
blocks: {
|
3
|
+
"blog-yfm-block": import("react").FC<import("../models/blocks").YFMProps>;
|
4
|
+
"blog-layout-block": import("react").FC<import("../models/blocks").LayoutProps>;
|
5
|
+
"blog-media-block": import("react").FC<import("../models/blocks").MediaProps>;
|
6
|
+
"blog-banner-block": import("react").FC<import("../models/blocks").BannerProps>;
|
7
|
+
"blog-cta-block": import("react").FC<import("../models/blocks").CTAProps>;
|
8
|
+
"blog-colored-text-block": import("react").FC<import("../models/blocks").ColoredTextProps>;
|
9
|
+
"blog-author-block": import("react").FC<import("../models/blocks").AuthorProps>;
|
10
|
+
"blog-suggest-block": import("react").FC<import("../models/blocks").SuggestProps>;
|
11
|
+
"blog-meta-block": import("react").FC<import("../models/blocks").MetaProps>;
|
12
|
+
"blog-feed-block": import("react").FC<import("../models/blocks").FeedProps>;
|
13
|
+
};
|
14
|
+
headers: {
|
15
|
+
"blog-header-block": import("react").FC<import("../models/blocks").HeaderProps>;
|
16
|
+
};
|
17
|
+
};
|
18
|
+
export default _default;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const common_1 = require("../models/common");
|
4
|
+
const Header_1 = require("../blocks/Header/Header");
|
5
|
+
const YFM_1 = require("../blocks/YFM/YFM");
|
6
|
+
const Layout_1 = require("../blocks/Layout/Layout");
|
7
|
+
const Media_1 = require("../blocks/Media/Media");
|
8
|
+
const CTA_1 = require("../blocks/CTA/CTA");
|
9
|
+
const ColoredText_1 = require("../blocks/ColoredText/ColoredText");
|
10
|
+
const Author_1 = require("../blocks/Author/Author");
|
11
|
+
const Suggest_1 = require("../blocks/Suggest/Suggest");
|
12
|
+
const Banner_1 = require("../blocks/Banner/Banner");
|
13
|
+
const Meta_1 = require("../blocks/Meta/Meta");
|
14
|
+
const Feed_1 = require("../blocks/Feed/Feed");
|
15
|
+
const blocks = {
|
16
|
+
[common_1.BlockType.YFM]: YFM_1.YFM,
|
17
|
+
[common_1.BlockType.Layout]: Layout_1.Layout,
|
18
|
+
[common_1.BlockType.Media]: Media_1.Media,
|
19
|
+
[common_1.BlockType.Banner]: Banner_1.Banner,
|
20
|
+
[common_1.BlockType.CTA]: CTA_1.CTA,
|
21
|
+
[common_1.BlockType.ColoredText]: ColoredText_1.ColoredText,
|
22
|
+
[common_1.BlockType.Author]: Author_1.Author,
|
23
|
+
[common_1.BlockType.Suggest]: Suggest_1.Suggest,
|
24
|
+
[common_1.BlockType.Meta]: Meta_1.Meta,
|
25
|
+
[common_1.BlockType.Feed]: Feed_1.Feed,
|
26
|
+
};
|
27
|
+
const headers = {
|
28
|
+
[common_1.BlockType.Header]: Header_1.Header,
|
29
|
+
};
|
30
|
+
exports.default = { blocks, headers };
|
@@ -0,0 +1,21 @@
|
|
1
|
+
:root {
|
2
|
+
--header-height: 64px;
|
3
|
+
}
|
4
|
+
|
5
|
+
.yc-root {
|
6
|
+
--yc-text-accent-font-weight: 500;
|
7
|
+
--bc-transparent: rgba(255, 255, 255, 0);
|
8
|
+
--bc-image-padding: 4px;
|
9
|
+
--bc-border-radius: var(--pc-border-radius, 24px);
|
10
|
+
--bc-color-sfx-shadow: var(--yc-color-base-simple-hover);
|
11
|
+
--bc-color-line-generic-active-solid: #b3b3b3;
|
12
|
+
--bc-color-base-float-hover: var(--yc-color-base-float);
|
13
|
+
--bc-monochrome-button: #262626;
|
14
|
+
--bc-monochrome-button-hover: #393939;
|
15
|
+
--bc-text-header-color: var(--yc-color-text-primary);
|
16
|
+
}
|
17
|
+
.yc-root.yc-root_theme_dark {
|
18
|
+
--bc-color-sfx-shadow: var(--yc-color-sfx-shadow);
|
19
|
+
--bc-color-line-generic-active-solid: #6c6c70;
|
20
|
+
--bc-color-base-float-hover: var(--yc-color-base-float-hover);
|
21
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { PageContent, PageConstructorProviderProps } from '@gravity-ui/page-constructor';
|
2
|
+
import { Tag, PostsProps, ToggleLikeCallbackType, MetaProps, GetPostsType, SetQueryType, Service } from '../../models/common';
|
3
|
+
export type BlogPageProps = {
|
4
|
+
content: PageContent;
|
5
|
+
posts: PostsProps;
|
6
|
+
tags: Tag[];
|
7
|
+
services?: Service[];
|
8
|
+
getPosts: GetPostsType;
|
9
|
+
toggleLike?: ToggleLikeCallbackType;
|
10
|
+
metaData?: MetaProps;
|
11
|
+
setQuery?: SetQueryType;
|
12
|
+
settings?: PageConstructorProviderProps;
|
13
|
+
pageCountForShowSupportButtons?: number;
|
14
|
+
};
|
15
|
+
export declare const BlogPage: ({ content, posts, tags, services, getPosts, metaData, toggleLike, settings, pageCountForShowSupportButtons, }: BlogPageProps) => JSX.Element;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.BlogPage = void 0;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const page_constructor_1 = require("@gravity-ui/page-constructor");
|
9
|
+
const FeedContext_1 = require("../../contexts/FeedContext");
|
10
|
+
const LikesContext_1 = require("../../contexts/LikesContext");
|
11
|
+
const MetaWrapper_1 = require("../../components/MetaWrapper/MetaWrapper");
|
12
|
+
const blocksMap_1 = __importDefault(require("../../constructor/blocksMap"));
|
13
|
+
const BlogPage = ({ content, posts, tags, services, getPosts, metaData, toggleLike, settings, pageCountForShowSupportButtons, }) => (react_1.default.createElement("main", null,
|
14
|
+
react_1.default.createElement(LikesContext_1.LikesContext.Provider, { value: {
|
15
|
+
toggleLike: toggleLike,
|
16
|
+
hasLikes: Boolean(toggleLike),
|
17
|
+
} },
|
18
|
+
react_1.default.createElement(FeedContext_1.FeedContext.Provider, { value: {
|
19
|
+
posts: posts.posts,
|
20
|
+
pinnedPost: posts.pinnedPost,
|
21
|
+
totalCount: posts.count,
|
22
|
+
tags,
|
23
|
+
services: services !== null && services !== void 0 ? services : [],
|
24
|
+
getPosts,
|
25
|
+
pageCountForShowSupportButtons,
|
26
|
+
} },
|
27
|
+
react_1.default.createElement(page_constructor_1.PageConstructorProvider, Object.assign({}, settings),
|
28
|
+
metaData ? react_1.default.createElement(MetaWrapper_1.MetaWrapper, Object.assign({}, metaData)) : null,
|
29
|
+
react_1.default.createElement(page_constructor_1.PageConstructor, { content: content, custom: blocksMap_1.default }))))));
|
30
|
+
exports.BlogPage = BlogPage;
|