@gravity-ui/blog-constructor 7.0.0-alpha.1 → 7.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/blocks/Author/Author.d.ts +2 -3
- package/build/cjs/blocks/Author/Author.js +13 -13
- package/build/cjs/blocks/Author/Author.js.map +1 -0
- package/build/cjs/blocks/Author/schema.js +4 -3
- package/build/cjs/blocks/Author/schema.js.map +1 -0
- package/build/cjs/blocks/Banner/Banner.d.ts +2 -3
- package/build/cjs/blocks/Banner/Banner.js +11 -15
- package/build/cjs/blocks/Banner/Banner.js.map +1 -0
- package/build/cjs/blocks/Banner/schema.js +4 -3
- package/build/cjs/blocks/Banner/schema.js.map +1 -0
- package/build/cjs/blocks/CTA/CTA.d.ts +2 -3
- package/build/cjs/blocks/CTA/CTA.js +19 -20
- package/build/cjs/blocks/CTA/CTA.js.map +1 -0
- package/build/cjs/blocks/CTA/schema.js +4 -3
- package/build/cjs/blocks/CTA/schema.js.map +1 -0
- package/build/cjs/blocks/ColoredText/ColoredText.d.ts +2 -3
- package/build/cjs/blocks/ColoredText/ColoredText.js +9 -12
- package/build/cjs/blocks/ColoredText/ColoredText.js.map +1 -0
- package/build/cjs/blocks/ColoredText/schema.js +4 -3
- package/build/cjs/blocks/ColoredText/schema.js.map +1 -0
- package/build/cjs/blocks/Feed/Feed.d.ts +2 -3
- package/build/cjs/blocks/Feed/Feed.js +31 -31
- package/build/cjs/blocks/Feed/Feed.js.map +1 -0
- package/build/cjs/blocks/Feed/reducer.d.ts +1 -1
- package/build/cjs/blocks/Feed/reducer.js +3 -2
- package/build/cjs/blocks/Feed/reducer.js.map +1 -0
- package/build/cjs/blocks/Feed/schema.js +3 -2
- package/build/cjs/blocks/Feed/schema.js.map +1 -0
- package/build/cjs/blocks/Form/Form.d.ts +2 -3
- package/build/cjs/blocks/Form/Form.js +10 -10
- package/build/cjs/blocks/Form/Form.js.map +1 -0
- package/build/cjs/blocks/Form/schema.js +4 -3
- package/build/cjs/blocks/Form/schema.js.map +1 -0
- package/build/cjs/blocks/Header/Header.d.ts +2 -3
- package/build/cjs/blocks/Header/Header.js +18 -18
- package/build/cjs/blocks/Header/Header.js.map +1 -0
- package/build/cjs/blocks/Header/schema.d.ts +3 -0
- package/build/cjs/blocks/Header/schema.js +4 -3
- package/build/cjs/blocks/Header/schema.js.map +1 -0
- package/build/cjs/blocks/Layout/Layout.d.ts +3 -3
- package/build/cjs/blocks/Layout/Layout.js +12 -13
- package/build/cjs/blocks/Layout/Layout.js.map +1 -0
- package/build/cjs/blocks/Layout/schema.js +4 -3
- package/build/cjs/blocks/Layout/schema.js.map +1 -0
- package/build/cjs/blocks/Media/Media.d.ts +2 -3
- package/build/cjs/blocks/Media/Media.js +12 -15
- package/build/cjs/blocks/Media/Media.js.map +1 -0
- package/build/cjs/blocks/Media/schema.d.ts +3 -0
- package/build/cjs/blocks/Media/schema.js +4 -3
- package/build/cjs/blocks/Media/schema.js.map +1 -0
- package/build/cjs/blocks/Meta/Meta.d.ts +2 -3
- package/build/cjs/blocks/Meta/Meta.js +22 -23
- package/build/cjs/blocks/Meta/Meta.js.map +1 -0
- package/build/cjs/blocks/Meta/schema.js +4 -3
- package/build/cjs/blocks/Meta/schema.js.map +1 -0
- package/build/cjs/blocks/Suggest/Suggest.d.ts +2 -3
- package/build/cjs/blocks/Suggest/Suggest.js +15 -14
- package/build/cjs/blocks/Suggest/Suggest.js.map +1 -0
- package/build/cjs/blocks/Suggest/schema.js +4 -3
- package/build/cjs/blocks/Suggest/schema.js.map +1 -0
- package/build/cjs/blocks/YFM/YFM.d.ts +2 -3
- package/build/cjs/blocks/YFM/YFM.js +10 -11
- package/build/cjs/blocks/YFM/YFM.js.map +1 -0
- package/build/cjs/blocks/YFM/schema.js +4 -3
- package/build/cjs/blocks/YFM/schema.js.map +1 -0
- package/build/cjs/blocks/constants.js +2 -1
- package/build/cjs/blocks/constants.js.map +1 -0
- package/build/cjs/components/FeedHeader/FeedHeader.d.ts +3 -4
- package/build/cjs/components/FeedHeader/FeedHeader.js +10 -14
- package/build/cjs/components/FeedHeader/FeedHeader.js.map +1 -0
- package/build/cjs/components/FeedHeader/components/Controls/Controls.d.ts +4 -4
- package/build/cjs/components/FeedHeader/components/Controls/Controls.js +30 -40
- package/build/cjs/components/FeedHeader/components/Controls/Controls.js.map +1 -0
- package/build/cjs/components/FeedHeader/components/Controls/customRenders.d.ts +2 -3
- package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +13 -9
- package/build/cjs/components/FeedHeader/components/Controls/customRenders.js.map +1 -0
- package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
- package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +5 -7
- package/build/cjs/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js.map +1 -0
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +2 -3
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +13 -17
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js.map +1 -0
- package/build/cjs/components/MetaWrapper/MetaWrapper.d.ts +1 -1
- package/build/cjs/components/MetaWrapper/MetaWrapper.js +4 -4
- package/build/cjs/components/MetaWrapper/MetaWrapper.js.map +1 -0
- package/build/cjs/components/Paginator/Paginator.d.ts +2 -3
- package/build/cjs/components/Paginator/Paginator.js +25 -29
- package/build/cjs/components/Paginator/Paginator.js.map +1 -0
- package/build/cjs/components/Paginator/components/NavigationButton.d.ts +2 -3
- package/build/cjs/components/Paginator/components/NavigationButton.js +7 -7
- package/build/cjs/components/Paginator/components/NavigationButton.js.map +1 -0
- package/build/cjs/components/Paginator/components/PaginatorItem.d.ts +2 -3
- package/build/cjs/components/Paginator/components/PaginatorItem.js +13 -11
- package/build/cjs/components/Paginator/components/PaginatorItem.js.map +1 -0
- package/build/cjs/components/Paginator/types.d.ts +3 -3
- package/build/cjs/components/Paginator/types.js +2 -1
- package/build/cjs/components/Paginator/types.js.map +1 -0
- package/build/cjs/components/Paginator/utils.d.ts +2 -2
- package/build/cjs/components/Paginator/utils.js +2 -1
- package/build/cjs/components/Paginator/utils.js.map +1 -0
- package/build/cjs/components/PostCard/PostCard.css +7 -8
- package/build/cjs/components/PostCard/PostCard.d.ts +2 -3
- package/build/cjs/components/PostCard/PostCard.js +16 -24
- package/build/cjs/components/PostCard/PostCard.js.map +1 -0
- package/build/cjs/components/PostInfo/PostInfo.d.ts +2 -3
- package/build/cjs/components/PostInfo/PostInfo.js +13 -15
- package/build/cjs/components/PostInfo/PostInfo.js.map +1 -0
- package/build/cjs/components/PostInfo/SuggestPostInfo.d.ts +2 -3
- package/build/cjs/components/PostInfo/SuggestPostInfo.js +12 -16
- package/build/cjs/components/PostInfo/SuggestPostInfo.js.map +1 -0
- package/build/cjs/components/PostInfo/components/Date.d.ts +2 -3
- package/build/cjs/components/PostInfo/components/Date.js +10 -8
- package/build/cjs/components/PostInfo/components/Date.js.map +1 -0
- package/build/cjs/components/PostInfo/components/ReadingTime.d.ts +2 -3
- package/build/cjs/components/PostInfo/components/ReadingTime.js +7 -10
- package/build/cjs/components/PostInfo/components/ReadingTime.js.map +1 -0
- package/build/cjs/components/PostInfo/components/Save.d.ts +2 -3
- package/build/cjs/components/PostInfo/components/Save.js +14 -16
- package/build/cjs/components/PostInfo/components/Save.js.map +1 -0
- package/build/cjs/components/PostInfo/components/Sharing.d.ts +1 -2
- package/build/cjs/components/PostInfo/components/Sharing.js +17 -17
- package/build/cjs/components/PostInfo/components/Sharing.js.map +1 -0
- package/build/cjs/components/Posts/Posts.d.ts +4 -4
- package/build/cjs/components/Posts/Posts.js +16 -28
- package/build/cjs/components/Posts/Posts.js.map +1 -0
- package/build/cjs/components/PostsEmpty/PostsEmpty.d.ts +1 -2
- package/build/cjs/components/PostsEmpty/PostsEmpty.js +6 -8
- package/build/cjs/components/PostsEmpty/PostsEmpty.js.map +1 -0
- package/build/cjs/components/PostsError/PostsError.d.ts +1 -2
- package/build/cjs/components/PostsError/PostsError.js +6 -10
- package/build/cjs/components/PostsError/PostsError.js.map +1 -0
- package/build/cjs/components/Prompt/Prompt.d.ts +1 -2
- package/build/cjs/components/Prompt/Prompt.js +10 -12
- package/build/cjs/components/Prompt/Prompt.js.map +1 -0
- package/build/cjs/components/PromptSignIn/PromptSignIn.d.ts +4 -4
- package/build/cjs/components/PromptSignIn/PromptSignIn.js +6 -5
- package/build/cjs/components/PromptSignIn/PromptSignIn.js.map +1 -0
- package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.d.ts +2 -2
- package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.js +6 -5
- package/build/cjs/components/PromptSignIn/hooks/usePromptSignInProps.js.map +1 -0
- package/build/cjs/components/Search/Search.d.ts +2 -3
- package/build/cjs/components/Search/Search.js +17 -17
- package/build/cjs/components/Search/Search.js.map +1 -0
- package/build/cjs/components/Wrapper/Wrapper.d.ts +3 -3
- package/build/cjs/components/Wrapper/Wrapper.js +7 -7
- package/build/cjs/components/Wrapper/Wrapper.js.map +1 -0
- package/build/cjs/constants.d.ts +2 -2
- package/build/cjs/constants.js +4 -3
- package/build/cjs/constants.js.map +1 -0
- package/build/cjs/constructor/BlogConstructorProvider.d.ts +7 -7
- package/build/cjs/constructor/BlogConstructorProvider.js +21 -19
- package/build/cjs/constructor/BlogConstructorProvider.js.map +1 -0
- package/build/cjs/constructor/blocksMap.d.ts +12 -12
- package/build/cjs/constructor/blocksMap.js +15 -14
- package/build/cjs/constructor/blocksMap.js.map +1 -0
- package/build/cjs/containers/BlogPage/BlogPage.d.ts +4 -4
- package/build/cjs/containers/BlogPage/BlogPage.js +22 -25
- package/build/cjs/containers/BlogPage/BlogPage.js.map +1 -0
- package/build/cjs/containers/BlogPostPage/BlogPostPage.css +0 -8
- package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +6 -5
- package/build/cjs/containers/BlogPostPage/BlogPostPage.js +28 -30
- package/build/cjs/containers/BlogPostPage/BlogPostPage.js.map +1 -0
- package/build/cjs/contexts/DeviceContext.d.ts +2 -2
- package/build/cjs/contexts/DeviceContext.js +3 -2
- package/build/cjs/contexts/DeviceContext.js.map +1 -0
- package/build/cjs/contexts/FeedContext.d.ts +2 -2
- package/build/cjs/contexts/FeedContext.js +3 -2
- package/build/cjs/contexts/FeedContext.js.map +1 -0
- package/build/cjs/contexts/LikesContext.d.ts +2 -2
- package/build/cjs/contexts/LikesContext.js +3 -2
- package/build/cjs/contexts/LikesContext.js.map +1 -0
- package/build/cjs/contexts/LocaleContext.d.ts +2 -2
- package/build/cjs/contexts/LocaleContext.js +4 -3
- package/build/cjs/contexts/LocaleContext.js.map +1 -0
- package/build/cjs/contexts/MobileContext.d.ts +1 -1
- package/build/cjs/contexts/MobileContext.js +3 -2
- package/build/cjs/contexts/MobileContext.js.map +1 -0
- package/build/cjs/contexts/PostPageContext.d.ts +4 -2
- package/build/cjs/contexts/PostPageContext.js +3 -2
- package/build/cjs/contexts/PostPageContext.js.map +1 -0
- package/build/cjs/contexts/RouterContext.d.ts +2 -2
- package/build/cjs/contexts/RouterContext.js +3 -2
- package/build/cjs/contexts/RouterContext.js.map +1 -0
- package/build/cjs/contexts/SettingsContext.d.ts +1 -1
- package/build/cjs/contexts/SettingsContext.js +3 -2
- package/build/cjs/contexts/SettingsContext.js.map +1 -0
- package/build/cjs/contexts/theme/ThemeContext.d.ts +2 -2
- package/build/cjs/contexts/theme/ThemeContext.js +4 -3
- package/build/cjs/contexts/theme/ThemeContext.js.map +1 -0
- package/build/cjs/contexts/theme/ThemeProvider.d.ts +4 -4
- package/build/cjs/contexts/theme/ThemeProvider.js +9 -8
- package/build/cjs/contexts/theme/ThemeProvider.js.map +1 -0
- package/build/cjs/contexts/theme/ThemeValueContext.d.ts +1 -1
- package/build/cjs/contexts/theme/ThemeValueContext.js +3 -2
- package/build/cjs/contexts/theme/ThemeValueContext.js.map +1 -0
- package/build/cjs/contexts/theme/index.d.ts +6 -6
- package/build/cjs/contexts/theme/index.js +7 -6
- package/build/cjs/contexts/theme/index.js.map +1 -0
- package/build/cjs/contexts/theme/useTheme.d.ts +1 -1
- package/build/cjs/contexts/theme/useTheme.js +5 -5
- package/build/cjs/contexts/theme/useTheme.js.map +1 -0
- package/build/cjs/contexts/theme/useThemeValue.d.ts +1 -1
- package/build/cjs/contexts/theme/useThemeValue.js +5 -5
- package/build/cjs/contexts/theme/useThemeValue.js.map +1 -0
- package/build/cjs/contexts/theme/withTheme.d.ts +2 -2
- package/build/cjs/contexts/theme/withTheme.js +7 -6
- package/build/cjs/contexts/theme/withTheme.js.map +1 -0
- package/build/cjs/contexts/theme/withThemeValue.d.ts +2 -2
- package/build/cjs/contexts/theme/withThemeValue.js +7 -6
- package/build/cjs/contexts/theme/withThemeValue.js.map +1 -0
- package/build/cjs/counters/metrika.js +3 -3
- package/build/cjs/counters/metrika.js.map +1 -0
- package/build/cjs/counters/utils.js +2 -1
- package/build/cjs/counters/utils.js.map +1 -0
- package/build/cjs/hooks/useAriaAttributes.js +6 -4
- package/build/cjs/hooks/useAriaAttributes.js.map +1 -0
- package/build/cjs/hooks/useExtendedComponentMap.d.ts +18 -17
- package/build/cjs/hooks/useExtendedComponentMap.js +5 -4
- package/build/cjs/hooks/useExtendedComponentMap.js.map +1 -0
- package/build/cjs/hooks/useHover.d.ts +1 -1
- package/build/cjs/hooks/useHover.js +6 -6
- package/build/cjs/hooks/useHover.js.map +1 -0
- package/build/cjs/hooks/useIsIPhone.js +6 -4
- package/build/cjs/hooks/useIsIPhone.js.map +1 -0
- package/build/cjs/hooks/useLikes.d.ts +1 -1
- package/build/cjs/hooks/useLikes.js +8 -6
- package/build/cjs/hooks/useLikes.js.map +1 -0
- package/build/cjs/hooks/useOpenCloseTimer.js +6 -5
- package/build/cjs/hooks/useOpenCloseTimer.js.map +1 -0
- package/build/cjs/i18n/index.d.ts +5 -1
- package/build/cjs/i18n/index.js +3 -2
- package/build/cjs/i18n/index.js.map +1 -0
- package/build/cjs/icons/Close.d.ts +2 -2
- package/build/cjs/icons/Close.js +5 -6
- package/build/cjs/icons/Close.js.map +1 -0
- package/build/cjs/icons/DropdownArrow.d.ts +2 -2
- package/build/cjs/icons/DropdownArrow.js +5 -6
- package/build/cjs/icons/DropdownArrow.js.map +1 -0
- package/build/cjs/icons/Save.d.ts +2 -2
- package/build/cjs/icons/Save.js +5 -6
- package/build/cjs/icons/Save.js.map +1 -0
- package/build/cjs/icons/SaveFilled.d.ts +2 -2
- package/build/cjs/icons/SaveFilled.js +5 -6
- package/build/cjs/icons/SaveFilled.js.map +1 -0
- package/build/cjs/icons/SearchIcon.d.ts +2 -2
- package/build/cjs/icons/SearchIcon.js +5 -6
- package/build/cjs/icons/SearchIcon.js.map +1 -0
- package/build/cjs/icons/ShareArrowUp.d.ts +2 -2
- package/build/cjs/icons/ShareArrowUp.js +5 -6
- package/build/cjs/icons/ShareArrowUp.js.map +1 -0
- package/build/cjs/icons/Time.d.ts +2 -2
- package/build/cjs/icons/Time.js +5 -6
- package/build/cjs/icons/Time.js.map +1 -0
- package/build/cjs/index.d.ts +8 -7
- package/build/cjs/index.js +10 -8
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/models/blocks.d.ts +4 -4
- package/build/cjs/models/blocks.js +2 -1
- package/build/cjs/models/blocks.js.map +1 -0
- package/build/cjs/models/common.d.ts +3 -3
- package/build/cjs/models/common.js +6 -5
- package/build/cjs/models/common.js.map +1 -0
- package/build/cjs/models/locale.js +2 -1
- package/build/cjs/models/locale.js.map +1 -0
- package/build/cjs/models/paddings.js +2 -1
- package/build/cjs/models/paddings.js.map +1 -0
- package/build/cjs/package.json +1 -0
- package/build/cjs/schema/blocks.d.ts +10 -10
- package/build/cjs/schema/blocks.js +11 -10
- package/build/cjs/schema/blocks.js.map +1 -0
- package/build/cjs/schema/common.js +2 -1
- package/build/cjs/schema/common.js.map +1 -0
- package/build/cjs/schema/headers.d.ts +1 -1
- package/build/cjs/schema/headers.js +2 -1
- package/build/cjs/schema/headers.js.map +1 -0
- package/build/cjs/schema/index.d.ts +8 -2
- package/build/cjs/schema/index.js +5 -4
- package/build/cjs/schema/index.js.map +1 -0
- package/build/cjs/schema/utils.d.ts +1 -1
- package/build/cjs/schema/utils.js +2 -1
- package/build/cjs/schema/utils.js.map +1 -0
- package/build/cjs/utils/cn.js +2 -1
- package/build/cjs/utils/cn.js.map +1 -0
- package/build/cjs/utils/common.d.ts +17 -18
- package/build/cjs/utils/common.js +7 -6
- package/build/cjs/utils/common.js.map +1 -0
- package/build/cjs/utils/date.js +2 -1
- package/build/cjs/utils/date.js.map +1 -0
- package/build/cjs/utils/index.d.ts +1 -0
- package/build/cjs/utils/index.js +6 -0
- package/build/cjs/utils/index.js.map +1 -0
- package/build/cjs/utils/svg.js +2 -1
- package/build/cjs/utils/svg.js.map +1 -0
- package/build/esm/blocks/Author/Author.d.ts +2 -3
- package/build/esm/blocks/Author/Author.js +13 -13
- package/build/esm/blocks/Author/Author.js.map +1 -0
- package/build/esm/blocks/Author/schema.js +4 -3
- package/build/esm/blocks/Author/schema.js.map +1 -0
- package/build/esm/blocks/Banner/Banner.d.ts +2 -3
- package/build/esm/blocks/Banner/Banner.js +11 -15
- package/build/esm/blocks/Banner/Banner.js.map +1 -0
- package/build/esm/blocks/Banner/schema.js +4 -3
- package/build/esm/blocks/Banner/schema.js.map +1 -0
- package/build/esm/blocks/CTA/CTA.d.ts +2 -3
- package/build/esm/blocks/CTA/CTA.js +19 -19
- package/build/esm/blocks/CTA/CTA.js.map +1 -0
- package/build/esm/blocks/CTA/schema.js +4 -3
- package/build/esm/blocks/CTA/schema.js.map +1 -0
- package/build/esm/blocks/ColoredText/ColoredText.d.ts +2 -3
- package/build/esm/blocks/ColoredText/ColoredText.js +9 -12
- package/build/esm/blocks/ColoredText/ColoredText.js.map +1 -0
- package/build/esm/blocks/ColoredText/schema.js +4 -3
- package/build/esm/blocks/ColoredText/schema.js.map +1 -0
- package/build/esm/blocks/Feed/Feed.d.ts +2 -3
- package/build/esm/blocks/Feed/Feed.js +31 -31
- package/build/esm/blocks/Feed/Feed.js.map +1 -0
- package/build/esm/blocks/Feed/reducer.d.ts +1 -1
- package/build/esm/blocks/Feed/reducer.js +2 -1
- package/build/esm/blocks/Feed/reducer.js.map +1 -0
- package/build/esm/blocks/Feed/schema.js +3 -2
- package/build/esm/blocks/Feed/schema.js.map +1 -0
- package/build/esm/blocks/Form/Form.d.ts +2 -3
- package/build/esm/blocks/Form/Form.js +10 -10
- package/build/esm/blocks/Form/Form.js.map +1 -0
- package/build/esm/blocks/Form/schema.js +4 -3
- package/build/esm/blocks/Form/schema.js.map +1 -0
- package/build/esm/blocks/Header/Header.d.ts +2 -3
- package/build/esm/blocks/Header/Header.js +18 -18
- package/build/esm/blocks/Header/Header.js.map +1 -0
- package/build/esm/blocks/Header/schema.d.ts +3 -0
- package/build/esm/blocks/Header/schema.js +4 -3
- package/build/esm/blocks/Header/schema.js.map +1 -0
- package/build/esm/blocks/Layout/Layout.d.ts +3 -3
- package/build/esm/blocks/Layout/Layout.js +12 -13
- package/build/esm/blocks/Layout/Layout.js.map +1 -0
- package/build/esm/blocks/Layout/schema.js +4 -3
- package/build/esm/blocks/Layout/schema.js.map +1 -0
- package/build/esm/blocks/Media/Media.d.ts +2 -3
- package/build/esm/blocks/Media/Media.js +12 -15
- package/build/esm/blocks/Media/Media.js.map +1 -0
- package/build/esm/blocks/Media/schema.d.ts +3 -0
- package/build/esm/blocks/Media/schema.js +4 -3
- package/build/esm/blocks/Media/schema.js.map +1 -0
- package/build/esm/blocks/Meta/Meta.d.ts +2 -3
- package/build/esm/blocks/Meta/Meta.js +22 -23
- package/build/esm/blocks/Meta/Meta.js.map +1 -0
- package/build/esm/blocks/Meta/schema.js +4 -3
- package/build/esm/blocks/Meta/schema.js.map +1 -0
- package/build/esm/blocks/Suggest/Suggest.d.ts +2 -3
- package/build/esm/blocks/Suggest/Suggest.js +15 -14
- package/build/esm/blocks/Suggest/Suggest.js.map +1 -0
- package/build/esm/blocks/Suggest/schema.js +4 -3
- package/build/esm/blocks/Suggest/schema.js.map +1 -0
- package/build/esm/blocks/YFM/YFM.d.ts +2 -3
- package/build/esm/blocks/YFM/YFM.js +10 -10
- package/build/esm/blocks/YFM/YFM.js.map +1 -0
- package/build/esm/blocks/YFM/schema.js +4 -3
- package/build/esm/blocks/YFM/schema.js.map +1 -0
- package/build/esm/blocks/constants.js +2 -1
- package/build/esm/blocks/constants.js.map +1 -0
- package/build/esm/components/FeedHeader/FeedHeader.d.ts +3 -4
- package/build/esm/components/FeedHeader/FeedHeader.js +10 -13
- package/build/esm/components/FeedHeader/FeedHeader.js.map +1 -0
- package/build/esm/components/FeedHeader/components/Controls/Controls.d.ts +4 -4
- package/build/esm/components/FeedHeader/components/Controls/Controls.js +30 -40
- package/build/esm/components/FeedHeader/components/Controls/Controls.js.map +1 -0
- package/build/esm/components/FeedHeader/components/Controls/customRenders.d.ts +2 -3
- package/build/esm/components/FeedHeader/components/Controls/customRenders.js +12 -8
- package/build/esm/components/FeedHeader/components/Controls/customRenders.js.map +1 -0
- package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
- package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js +4 -5
- package/build/esm/components/FeedHeader/components/CustomSelectOption/CustomSelectOption.js.map +1 -0
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +1 -1
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +2 -3
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +13 -17
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js.map +1 -0
- package/build/esm/components/MetaWrapper/MetaWrapper.d.ts +1 -1
- package/build/esm/components/MetaWrapper/MetaWrapper.js +3 -2
- package/build/esm/components/MetaWrapper/MetaWrapper.js.map +1 -0
- package/build/esm/components/Paginator/Paginator.d.ts +2 -3
- package/build/esm/components/Paginator/Paginator.js +25 -29
- package/build/esm/components/Paginator/Paginator.js.map +1 -0
- package/build/esm/components/Paginator/components/NavigationButton.d.ts +2 -3
- package/build/esm/components/Paginator/components/NavigationButton.js +6 -5
- package/build/esm/components/Paginator/components/NavigationButton.js.map +1 -0
- package/build/esm/components/Paginator/components/PaginatorItem.d.ts +2 -3
- package/build/esm/components/Paginator/components/PaginatorItem.js +13 -11
- package/build/esm/components/Paginator/components/PaginatorItem.js.map +1 -0
- package/build/esm/components/Paginator/types.d.ts +3 -3
- package/build/esm/components/Paginator/types.js +2 -1
- package/build/esm/components/Paginator/types.js.map +1 -0
- package/build/esm/components/Paginator/utils.d.ts +2 -2
- package/build/esm/components/Paginator/utils.js +2 -1
- package/build/esm/components/Paginator/utils.js.map +1 -0
- package/build/esm/components/PostCard/PostCard.css +7 -8
- package/build/esm/components/PostCard/PostCard.d.ts +2 -3
- package/build/esm/components/PostCard/PostCard.js +17 -25
- package/build/esm/components/PostCard/PostCard.js.map +1 -0
- package/build/esm/components/PostInfo/PostInfo.d.ts +2 -3
- package/build/esm/components/PostInfo/PostInfo.js +13 -15
- package/build/esm/components/PostInfo/PostInfo.js.map +1 -0
- package/build/esm/components/PostInfo/SuggestPostInfo.d.ts +2 -3
- package/build/esm/components/PostInfo/SuggestPostInfo.js +12 -15
- package/build/esm/components/PostInfo/SuggestPostInfo.js.map +1 -0
- package/build/esm/components/PostInfo/components/Date.d.ts +2 -3
- package/build/esm/components/PostInfo/components/Date.js +10 -8
- package/build/esm/components/PostInfo/components/Date.js.map +1 -0
- package/build/esm/components/PostInfo/components/ReadingTime.d.ts +2 -3
- package/build/esm/components/PostInfo/components/ReadingTime.js +6 -8
- package/build/esm/components/PostInfo/components/ReadingTime.js.map +1 -0
- package/build/esm/components/PostInfo/components/Save.d.ts +2 -3
- package/build/esm/components/PostInfo/components/Save.js +14 -16
- package/build/esm/components/PostInfo/components/Save.js.map +1 -0
- package/build/esm/components/PostInfo/components/Sharing.d.ts +1 -2
- package/build/esm/components/PostInfo/components/Sharing.js +17 -17
- package/build/esm/components/PostInfo/components/Sharing.js.map +1 -0
- package/build/esm/components/Posts/Posts.d.ts +4 -4
- package/build/esm/components/Posts/Posts.js +15 -26
- package/build/esm/components/Posts/Posts.js.map +1 -0
- package/build/esm/components/PostsEmpty/PostsEmpty.d.ts +1 -2
- package/build/esm/components/PostsEmpty/PostsEmpty.js +5 -6
- package/build/esm/components/PostsEmpty/PostsEmpty.js.map +1 -0
- package/build/esm/components/PostsError/PostsError.d.ts +1 -2
- package/build/esm/components/PostsError/PostsError.js +6 -9
- package/build/esm/components/PostsError/PostsError.js.map +1 -0
- package/build/esm/components/Prompt/Prompt.d.ts +1 -2
- package/build/esm/components/Prompt/Prompt.js +10 -12
- package/build/esm/components/Prompt/Prompt.js.map +1 -0
- package/build/esm/components/PromptSignIn/PromptSignIn.d.ts +4 -4
- package/build/esm/components/PromptSignIn/PromptSignIn.js +6 -5
- package/build/esm/components/PromptSignIn/PromptSignIn.js.map +1 -0
- package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.d.ts +2 -2
- package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.js +5 -4
- package/build/esm/components/PromptSignIn/hooks/usePromptSignInProps.js.map +1 -0
- package/build/esm/components/Search/Search.d.ts +2 -3
- package/build/esm/components/Search/Search.js +17 -17
- package/build/esm/components/Search/Search.js.map +1 -0
- package/build/esm/components/Wrapper/Wrapper.d.ts +3 -3
- package/build/esm/components/Wrapper/Wrapper.js +6 -5
- package/build/esm/components/Wrapper/Wrapper.js.map +1 -0
- package/build/esm/constants.d.ts +2 -2
- package/build/esm/constants.js +3 -2
- package/build/esm/constants.js.map +1 -0
- package/build/esm/constructor/BlogConstructorProvider.d.ts +7 -7
- package/build/esm/constructor/BlogConstructorProvider.js +20 -18
- package/build/esm/constructor/BlogConstructorProvider.js.map +1 -0
- package/build/esm/constructor/blocksMap.d.ts +12 -12
- package/build/esm/constructor/blocksMap.js +15 -14
- package/build/esm/constructor/blocksMap.js.map +1 -0
- package/build/esm/containers/BlogPage/BlogPage.d.ts +4 -4
- package/build/esm/containers/BlogPage/BlogPage.js +22 -25
- package/build/esm/containers/BlogPage/BlogPage.js.map +1 -0
- package/build/esm/containers/BlogPostPage/BlogPostPage.css +0 -8
- package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +6 -5
- package/build/esm/containers/BlogPostPage/BlogPostPage.js +28 -30
- package/build/esm/containers/BlogPostPage/BlogPostPage.js.map +1 -0
- package/build/esm/contexts/DeviceContext.d.ts +2 -2
- package/build/esm/contexts/DeviceContext.js +3 -2
- package/build/esm/contexts/DeviceContext.js.map +1 -0
- package/build/esm/contexts/FeedContext.d.ts +2 -2
- package/build/esm/contexts/FeedContext.js +3 -2
- package/build/esm/contexts/FeedContext.js.map +1 -0
- package/build/esm/contexts/LikesContext.d.ts +2 -2
- package/build/esm/contexts/LikesContext.js +3 -2
- package/build/esm/contexts/LikesContext.js.map +1 -0
- package/build/esm/contexts/LocaleContext.d.ts +2 -2
- package/build/esm/contexts/LocaleContext.js +3 -2
- package/build/esm/contexts/LocaleContext.js.map +1 -0
- package/build/esm/contexts/MobileContext.d.ts +1 -1
- package/build/esm/contexts/MobileContext.js +3 -2
- package/build/esm/contexts/MobileContext.js.map +1 -0
- package/build/esm/contexts/PostPageContext.d.ts +4 -2
- package/build/esm/contexts/PostPageContext.js +3 -2
- package/build/esm/contexts/PostPageContext.js.map +1 -0
- package/build/esm/contexts/RouterContext.d.ts +2 -2
- package/build/esm/contexts/RouterContext.js +3 -2
- package/build/esm/contexts/RouterContext.js.map +1 -0
- package/build/esm/contexts/SettingsContext.d.ts +1 -1
- package/build/esm/contexts/SettingsContext.js +3 -2
- package/build/esm/contexts/SettingsContext.js.map +1 -0
- package/build/esm/contexts/theme/ThemeContext.d.ts +2 -2
- package/build/esm/contexts/theme/ThemeContext.js +4 -3
- package/build/esm/contexts/theme/ThemeContext.js.map +1 -0
- package/build/esm/contexts/theme/ThemeProvider.d.ts +4 -4
- package/build/esm/contexts/theme/ThemeProvider.js +8 -7
- package/build/esm/contexts/theme/ThemeProvider.js.map +1 -0
- package/build/esm/contexts/theme/ThemeValueContext.d.ts +1 -1
- package/build/esm/contexts/theme/ThemeValueContext.js +3 -2
- package/build/esm/contexts/theme/ThemeValueContext.js.map +1 -0
- package/build/esm/contexts/theme/index.d.ts +6 -6
- package/build/esm/contexts/theme/index.js +7 -6
- package/build/esm/contexts/theme/index.js.map +1 -0
- package/build/esm/contexts/theme/useTheme.d.ts +1 -1
- package/build/esm/contexts/theme/useTheme.js +4 -3
- package/build/esm/contexts/theme/useTheme.js.map +1 -0
- package/build/esm/contexts/theme/useThemeValue.d.ts +1 -1
- package/build/esm/contexts/theme/useThemeValue.js +4 -3
- package/build/esm/contexts/theme/useThemeValue.js.map +1 -0
- package/build/esm/contexts/theme/withTheme.d.ts +2 -2
- package/build/esm/contexts/theme/withTheme.js +6 -4
- package/build/esm/contexts/theme/withTheme.js.map +1 -0
- package/build/esm/contexts/theme/withThemeValue.d.ts +2 -2
- package/build/esm/contexts/theme/withThemeValue.js +6 -4
- package/build/esm/contexts/theme/withThemeValue.js.map +1 -0
- package/build/esm/counters/metrika.js +2 -1
- package/build/esm/counters/metrika.js.map +1 -0
- package/build/esm/counters/utils.js +2 -1
- package/build/esm/counters/utils.js.map +1 -0
- package/build/esm/hooks/useAriaAttributes.js +5 -4
- package/build/esm/hooks/useAriaAttributes.js.map +1 -0
- package/build/esm/hooks/useExtendedComponentMap.d.ts +18 -17
- package/build/esm/hooks/useExtendedComponentMap.js +4 -3
- package/build/esm/hooks/useExtendedComponentMap.js.map +1 -0
- package/build/esm/hooks/useHover.d.ts +1 -1
- package/build/esm/hooks/useHover.js +3 -2
- package/build/esm/hooks/useHover.js.map +1 -0
- package/build/esm/hooks/useIsIPhone.js +5 -4
- package/build/esm/hooks/useIsIPhone.js.map +1 -0
- package/build/esm/hooks/useLikes.d.ts +1 -1
- package/build/esm/hooks/useLikes.js +7 -6
- package/build/esm/hooks/useLikes.js.map +1 -0
- package/build/esm/hooks/useOpenCloseTimer.js +5 -4
- package/build/esm/hooks/useOpenCloseTimer.js.map +1 -0
- package/build/esm/i18n/index.d.ts +5 -1
- package/build/esm/i18n/index.js +2 -1
- package/build/esm/i18n/index.js.map +1 -0
- package/build/esm/icons/Close.d.ts +2 -2
- package/build/esm/icons/Close.js +4 -4
- package/build/esm/icons/Close.js.map +1 -0
- package/build/esm/icons/DropdownArrow.d.ts +2 -2
- package/build/esm/icons/DropdownArrow.js +4 -4
- package/build/esm/icons/DropdownArrow.js.map +1 -0
- package/build/esm/icons/Save.d.ts +2 -2
- package/build/esm/icons/Save.js +4 -4
- package/build/esm/icons/Save.js.map +1 -0
- package/build/esm/icons/SaveFilled.d.ts +2 -2
- package/build/esm/icons/SaveFilled.js +4 -4
- package/build/esm/icons/SaveFilled.js.map +1 -0
- package/build/esm/icons/SearchIcon.d.ts +2 -2
- package/build/esm/icons/SearchIcon.js +4 -4
- package/build/esm/icons/SearchIcon.js.map +1 -0
- package/build/esm/icons/ShareArrowUp.d.ts +2 -2
- package/build/esm/icons/ShareArrowUp.js +4 -4
- package/build/esm/icons/ShareArrowUp.js.map +1 -0
- package/build/esm/icons/Time.d.ts +2 -2
- package/build/esm/icons/Time.js +4 -4
- package/build/esm/icons/Time.js.map +1 -0
- package/build/esm/index.d.ts +8 -7
- package/build/esm/index.js +9 -7
- package/build/esm/index.js.map +1 -0
- package/build/esm/models/blocks.d.ts +4 -4
- package/build/esm/models/blocks.js +2 -1
- package/build/esm/models/blocks.js.map +1 -0
- package/build/esm/models/common.d.ts +3 -3
- package/build/esm/models/common.js +2 -1
- package/build/esm/models/common.js.map +1 -0
- package/build/esm/models/locale.js +2 -1
- package/build/esm/models/locale.js.map +1 -0
- package/build/esm/models/paddings.js +2 -1
- package/build/esm/models/paddings.js.map +1 -0
- package/build/esm/package.json +1 -0
- package/build/esm/schema/blocks.d.ts +10 -10
- package/build/esm/schema/blocks.js +11 -10
- package/build/esm/schema/blocks.js.map +1 -0
- package/build/esm/schema/common.js +2 -1
- package/build/esm/schema/common.js.map +1 -0
- package/build/esm/schema/headers.d.ts +1 -1
- package/build/esm/schema/headers.js +2 -1
- package/build/esm/schema/headers.js.map +1 -0
- package/build/esm/schema/index.d.ts +8 -2
- package/build/esm/schema/index.js +5 -4
- package/build/esm/schema/index.js.map +1 -0
- package/build/esm/schema/utils.d.ts +1 -1
- package/build/esm/schema/utils.js +2 -1
- package/build/esm/schema/utils.js.map +1 -0
- package/build/esm/utils/cn.js +2 -1
- package/build/esm/utils/cn.js.map +1 -0
- package/build/esm/utils/common.d.ts +17 -18
- package/build/esm/utils/common.js +5 -4
- package/build/esm/utils/common.js.map +1 -0
- package/build/esm/utils/date.js +2 -1
- package/build/esm/utils/date.js.map +1 -0
- package/build/esm/utils/index.d.ts +1 -0
- package/build/esm/utils/index.js +2 -0
- package/build/esm/utils/index.js.map +1 -0
- package/build/esm/utils/svg.js +2 -1
- package/build/esm/utils/svg.js.map +1 -0
- package/package.json +37 -24
- package/server/data/config.js +1 -1
- package/server/data/contentFilter.js +5 -3
- package/server/data/createReadableContent.js +1 -1
- package/server/data/sanitizeMeta.d.ts +5 -5
- package/server/data/sanitizeMeta.js +1 -1
- package/server/data/transformPageContent.js +5 -3
- package/server/data/transformPost.js +15 -4
- package/server/index.d.ts +4 -4
- package/server/models/blocks.d.ts +2 -2
- package/server/models/blocks.js +1 -1
- package/server/models/common.d.ts +2 -2
- package/server/models/common.js +5 -5
- package/server/models/locale.js +1 -1
- package/server/models/paddings.js +1 -1
- package/styles/storybook/common.scss +7 -0
- package/styles/styles.css +0 -8
- package/styles/yfm.css +0 -8
- package/styles/yfm.scss +0 -9
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"../../../../src","sources":["components/Paginator/types.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,0BAAa,CAAA;AACjB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB","sourcesContent":["import * as React from 'react';\n\nimport type {NoStrictEntityMods} from '@bem-react/classname';\n\nimport type {ClassNameProps, Query} from '../../models/common';\n\nexport interface PaginatorItemProps {\n key: string | ArrowType;\n dataKey: string | ArrowType;\n mods: NoStrictEntityMods;\n content: React.ReactNode;\n queryParams: Query;\n onClick?: (key: number | ArrowType) => void;\n loading?: boolean;\n index: number;\n}\n\nexport type PaginatorProps = {\n page: number;\n totalItems: number;\n itemsPerPage: number;\n maxPages: number;\n onPageChange: (page: number) => void;\n pageCountForShowSupportButtons?: number;\n queryParams: Query;\n} & ClassNameProps;\n\nexport enum ArrowType {\n Prev = 'prev',\n Next = 'next',\n}\n\nexport type GetPageConfigParams = {\n page: number;\n pagesCount: number;\n queryParams: Query;\n handlePageClick: (key: number | ArrowType) => void;\n};\n"]}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import { GetPageConfigParams, PaginatorItemProps, PaginatorProps } from
|
1
|
+
import { GetPageConfigParams, PaginatorItemProps, PaginatorProps } from "./types.js";
|
2
2
|
export declare const getPageConfigs: ({ page, queryParams, pagesCount, handlePageClick, }: GetPageConfigParams) => PaginatorItemProps[];
|
3
|
-
export declare const getPagesCount: (props: Pick<PaginatorProps,
|
3
|
+
export declare const getPagesCount: (props: Pick<PaginatorProps, "totalItems" | "itemsPerPage" | "maxPages">) => number;
|
@@ -26,4 +26,5 @@ export const getPageConfigs = ({ page, queryParams, pagesCount, handlePageClick,
|
|
26
26
|
export const getPagesCount = (props) => {
|
27
27
|
const totalPages = Math.ceil(props.totalItems / props.itemsPerPage);
|
28
28
|
return Math.min(totalPages, props.maxPages);
|
29
|
-
};
|
29
|
+
};
|
30
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/Paginator/utils.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC3B,IAAI,EACJ,WAAW,EACX,UAAU,EACV,eAAe,GACG,EAAE,EAAE;IACtB,MAAM,cAAc,GAA8B,EAAE,CAAC;IACrD,sDAAsD;IACtD,MAAM,UAAU,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC;IAClC,IAAI,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;IAEhC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;QAC5C,SAAS,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACd,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAClB,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,EAAC;YACxC,WAAW;YACX,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,CAAC;SACb,CAAC,CAAC;IACP,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,KAAuE,EACzE,EAAE;IACA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpE,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC","sourcesContent":["import {GetPageConfigParams, PaginatorItemProps, PaginatorProps} from './types';\n\nconst MAX_VISIBLE_PAGES = 5;\n\nexport const getPageConfigs = ({\n page,\n queryParams,\n pagesCount,\n handlePageClick,\n}: GetPageConfigParams) => {\n const paginatorItems: Array<PaginatorItemProps> = [];\n // it is calculating the middle of visible pages below\n const pageOffset = (MAX_VISIBLE_PAGES - 1) / 2;\n let startPage = page - pageOffset;\n let endPage = page + pageOffset;\n\n if (startPage < 1) {\n endPage = page + pageOffset - startPage + 1;\n startPage = 1;\n }\n\n endPage = Math.min(endPage, pagesCount);\n\n for (let i = startPage; i <= endPage; i++) {\n paginatorItems.push({\n key: String(i),\n dataKey: String(i),\n index: i,\n mods: {type: 'page', active: page === i},\n queryParams,\n onClick: handlePageClick,\n content: i,\n });\n }\n\n return paginatorItems;\n};\n\nexport const getPagesCount = (\n props: Pick<PaginatorProps, 'totalItems' | 'itemsPerPage' | 'maxPages'>,\n) => {\n const totalPages = Math.ceil(props.totalItems / props.itemsPerPage);\n\n return Math.min(totalPages, props.maxPages);\n};\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
.bc-post-card__title_size_m
|
1
|
+
.bc-post-card__title_size_m, .bc-post-card__title_size_s {
|
2
2
|
margin: 0;
|
3
3
|
}
|
4
4
|
|
@@ -27,28 +27,27 @@ unpredictable css rules order in build */
|
|
27
27
|
min-height: 480px;
|
28
28
|
}
|
29
29
|
}
|
30
|
-
.bc-post-
|
30
|
+
.bc-post-card__title {
|
31
|
+
margin-bottom: 8px;
|
32
|
+
}
|
33
|
+
.bc-post-card__title_size_s {
|
31
34
|
font-size: var(--g-text-header-1-font-size);
|
32
35
|
line-height: var(--g-text-header-1-line-height);
|
33
36
|
color: var(--pc-text-header-color);
|
34
37
|
font-weight: var(--g-text-accent-font-weight);
|
35
|
-
margin-bottom: 8px;
|
36
38
|
}
|
37
|
-
|
38
|
-
.bc-post-card__title_size_m.bc-post-card__title_size_m {
|
39
|
+
.bc-post-card__title_size_m {
|
39
40
|
font-size: var(--g-text-display-2-font-size);
|
40
41
|
line-height: var(--g-text-display-2-line-height);
|
41
42
|
color: var(--pc-text-header-color);
|
42
43
|
font-weight: var(--g-text-accent-font-weight);
|
43
|
-
margin-bottom: 8px;
|
44
44
|
}
|
45
45
|
@media (max-width: 576px) {
|
46
|
-
.bc-post-card__title_size_m
|
46
|
+
.bc-post-card__title_size_m {
|
47
47
|
font-size: var(--g-text-display-1-font-size);
|
48
48
|
line-height: var(--g-text-display-1-line-height);
|
49
49
|
}
|
50
50
|
}
|
51
|
-
|
52
51
|
.bc-post-card__image-container {
|
53
52
|
height: 156px;
|
54
53
|
}
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { AnalyticsEventsProp } from '@gravity-ui/page-constructor';
|
3
|
-
import { PostCardSize, PostCardTitleHeadingLevel, PostData } from
|
2
|
+
import { PostCardSize, PostCardTitleHeadingLevel, PostData } from "../../models/common.js";
|
4
3
|
import './PostCard.css';
|
5
4
|
type PostCardProps = {
|
6
5
|
post: PostData;
|
@@ -10,5 +9,5 @@ type PostCardProps = {
|
|
10
9
|
titleHeadingLevel?: PostCardTitleHeadingLevel;
|
11
10
|
analyticsEvents?: AnalyticsEventsProp;
|
12
11
|
};
|
13
|
-
export declare const PostCard: ({ post, fullWidth, size, showTag, titleHeadingLevel, analyticsEvents, }: PostCardProps) =>
|
12
|
+
export declare const PostCard: ({ post, fullWidth, size, showTag, titleHeadingLevel, analyticsEvents, }: PostCardProps) => import("react/jsx-runtime").JSX.Element;
|
14
13
|
export {};
|
@@ -1,19 +1,20 @@
|
|
1
|
-
import
|
2
|
-
import
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import * as React from 'react';
|
3
|
+
import { CardBase, HTML, YFMWrapper } from '@gravity-ui/page-constructor';
|
3
4
|
import { useUniqId } from '@gravity-ui/uikit';
|
4
|
-
import { LikesContext } from
|
5
|
-
import { PostCardSize, PostCardTitleHeadingLevel } from
|
6
|
-
import { block } from
|
7
|
-
import { SuggestPostInfo } from
|
8
|
-
import { useAriaAttributes } from
|
5
|
+
import { LikesContext } from "../../contexts/LikesContext.js";
|
6
|
+
import { PostCardSize, PostCardTitleHeadingLevel } from "../../models/common.js";
|
7
|
+
import { block } from "../../utils/cn.js";
|
8
|
+
import { SuggestPostInfo } from "../PostInfo/SuggestPostInfo.js";
|
9
|
+
import { useAriaAttributes } from "../../hooks/useAriaAttributes.js";
|
9
10
|
import './PostCard.css';
|
10
11
|
const b = block('post-card');
|
11
12
|
export const PostCard = ({ post, fullWidth = false, size = PostCardSize.SMALL, showTag = false, titleHeadingLevel = PostCardTitleHeadingLevel.H3, analyticsEvents, }) => {
|
12
13
|
var _a;
|
13
14
|
const { title: postTitle, htmlTitle, textTitle, blogPostId, id, date, readingTime, hasUserLike, likes, image, description, tags, url, } = post;
|
14
15
|
const title = postTitle || textTitle || htmlTitle;
|
15
|
-
const { toggleLike, hasLikes } = useContext(LikesContext);
|
16
|
-
const likesProps = useMemo(() => hasLikes
|
16
|
+
const { toggleLike, hasLikes } = React.useContext(LikesContext);
|
17
|
+
const likesProps = React.useMemo(() => hasLikes
|
17
18
|
? {
|
18
19
|
hasUserLike,
|
19
20
|
likesCount: likes,
|
@@ -34,19 +35,10 @@ export const PostCard = ({ post, fullWidth = false, size = PostCardSize.SMALL, s
|
|
34
35
|
readingTime && readingTimeId,
|
35
36
|
],
|
36
37
|
});
|
37
|
-
return (
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
blogCard: true,
|
45
|
-
}, id: titleId, tagName: titleHeadingLevel })),
|
46
|
-
description && (React.createElement(YFMWrapper, { contentClassName: b('description'), content: description, modifiers: {
|
47
|
-
blog: size === 'm',
|
48
|
-
blogCard: true,
|
49
|
-
}, id: descriptionId }))),
|
50
|
-
React.createElement(CardBase.Footer, null,
|
51
|
-
React.createElement(SuggestPostInfo, { postId: blogPostId || id, date: date, readingTime: readingTime, hasUserLike: hasUserLike, likes: likesProps, size: size, qa: "blog-suggest-block", dateId: dateId, readingTimeId: readingTimeId }))));
|
52
|
-
};
|
38
|
+
return (_jsxs(CardBase, { url: url, analyticsEvents: analyticsEvents, className: b('card', { fullWidth }), extraProps: ariaAttributes, children: [_jsx(CardBase.Header, { image: image, className: b('header', { fullWidth }), children: _jsx("div", { className: b('image-container'), "data-qa": "blog-suggest-header" }) }), _jsxs(CardBase.Content, { children: [isTagVisible && (_jsx("div", { id: tagId, className: b('tag', { size }), children: tags[0].name })), title &&
|
39
|
+
React.createElement(titleHeadingLevel, { className: b('title', { size }) }, _jsx("span", { children: _jsx(HTML, { id: titleId, children: title }) })), description && (_jsx(YFMWrapper, { className: b('description'), content: description, modifiers: {
|
40
|
+
blog: size === 'm',
|
41
|
+
blogCard: true,
|
42
|
+
}, id: descriptionId }))] }), _jsx(CardBase.Footer, { children: _jsx(SuggestPostInfo, { postId: blogPostId || id, date: date, readingTime: readingTime, hasUserLike: hasUserLike, likes: likesProps, size: size, qa: "blog-suggest-block", dateId: dateId, readingTimeId: readingTimeId }) })] }));
|
43
|
+
};
|
44
|
+
//# sourceMappingURL=PostCard.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PostCard.js","sourceRoot":"../../../../src","sources":["components/PostCard/PostCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {AnalyticsEventsProp, CardBase, HTML, YFMWrapper} from '@gravity-ui/page-constructor';\nimport {useUniqId} from '@gravity-ui/uikit';\n\nimport {LikesContext} from '../../contexts/LikesContext';\nimport {PostCardSize, PostCardTitleHeadingLevel, PostData} from '../../models/common';\nimport {block} from '../../utils/cn';\nimport {SuggestPostInfo} from '../PostInfo/SuggestPostInfo';\nimport {useAriaAttributes} from '../../hooks/useAriaAttributes';\n\nimport './PostCard.scss';\n\ntype PostCardProps = {\n post: PostData;\n fullWidth?: boolean;\n showTag?: boolean;\n size?: PostCardSize;\n titleHeadingLevel?: PostCardTitleHeadingLevel;\n analyticsEvents?: AnalyticsEventsProp;\n};\n\nconst b = block('post-card');\n\nexport const PostCard = ({\n post,\n fullWidth = false,\n size = PostCardSize.SMALL,\n showTag = false,\n titleHeadingLevel = PostCardTitleHeadingLevel.H3,\n analyticsEvents,\n}: PostCardProps) => {\n const {\n title: postTitle,\n htmlTitle,\n textTitle,\n blogPostId,\n id,\n date,\n readingTime,\n hasUserLike,\n likes,\n image,\n description,\n tags,\n url,\n } = post;\n\n const title = postTitle || textTitle || htmlTitle;\n\n const {toggleLike, hasLikes} = React.useContext(LikesContext);\n\n const likesProps = React.useMemo(\n () =>\n hasLikes\n ? {\n hasUserLike,\n likesCount: likes,\n toggleLike,\n }\n : undefined,\n [hasUserLike, likes, toggleLike, hasLikes],\n );\n const titleId = useUniqId();\n const descriptionId = useUniqId();\n const dateId = useUniqId();\n const tagId = useUniqId();\n const readingTimeId = useUniqId();\n const isTagVisible = showTag && tags?.[0]?.name;\n const ariaAttributes = useAriaAttributes({\n labelIds: [isTagVisible && tagId, title && titleId],\n descriptionIds: [\n description && descriptionId,\n date && dateId,\n readingTime && readingTimeId,\n ],\n });\n\n return (\n <CardBase\n url={url}\n analyticsEvents={analyticsEvents}\n className={b('card', {fullWidth})}\n extraProps={ariaAttributes}\n >\n <CardBase.Header image={image} className={b('header', {fullWidth})}>\n <div className={b('image-container')} data-qa=\"blog-suggest-header\" />\n </CardBase.Header>\n <CardBase.Content>\n {isTagVisible && (\n <div id={tagId} className={b('tag', {size})}>\n {tags[0].name}\n </div>\n )}\n {title &&\n React.createElement(\n titleHeadingLevel,\n {className: b('title', {size})},\n <span>\n <HTML id={titleId}>{title}</HTML>\n </span>,\n )}\n {description && (\n <YFMWrapper\n className={b('description')}\n content={description}\n modifiers={{\n blog: size === 'm',\n blogCard: true,\n }}\n id={descriptionId}\n />\n )}\n </CardBase.Content>\n <CardBase.Footer>\n <SuggestPostInfo\n postId={blogPostId || id}\n date={date}\n readingTime={readingTime}\n hasUserLike={hasUserLike}\n likes={likesProps}\n size={size}\n qa=\"blog-suggest-block\"\n dateId={dateId}\n readingTimeId={readingTimeId}\n />\n </CardBase.Footer>\n </CardBase>\n );\n};\n"]}
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { AnalyticsEventsProp } from '@gravity-ui/page-constructor';
|
3
|
-
import { PostData, QAProps } from
|
2
|
+
import { PostData, QAProps } from "../../models/common.js";
|
4
3
|
import './PostInfo.css';
|
5
4
|
type PostInfoProps = QAProps & {
|
6
5
|
postId: PostData['id'];
|
@@ -21,5 +20,5 @@ type PostInfoProps = QAProps & {
|
|
21
20
|
*
|
22
21
|
* @returns jsx
|
23
22
|
*/
|
24
|
-
export declare const PostInfo: ({ date, readingTime, postId, theme, qa, analyticsEventsContainer, }: PostInfoProps) =>
|
23
|
+
export declare const PostInfo: ({ date, readingTime, postId, theme, qa, analyticsEventsContainer, }: PostInfoProps) => import("react/jsx-runtime").JSX.Element;
|
25
24
|
export {};
|
@@ -1,11 +1,12 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import * as React from 'react';
|
3
|
+
import { PostPageContext } from "../../contexts/PostPageContext.js";
|
4
|
+
import { block } from "../../utils/cn.js";
|
5
|
+
import { Date } from "./components/Date.js";
|
6
|
+
import { ReadingTime } from "./components/ReadingTime.js";
|
7
|
+
import { Save } from "./components/Save.js";
|
8
|
+
import { Sharing } from "./components/Sharing.js";
|
9
|
+
import { getQaAttributes } from "../../utils/common.js";
|
9
10
|
import './PostInfo.css';
|
10
11
|
const b = block('post-info');
|
11
12
|
/**
|
@@ -21,11 +22,8 @@ const b = block('post-info');
|
|
21
22
|
* @returns jsx
|
22
23
|
*/
|
23
24
|
export const PostInfo = ({ date, readingTime, postId, theme = 'light', qa, analyticsEventsContainer, }) => {
|
24
|
-
const { likes } = useContext(PostPageContext);
|
25
|
+
const { likes } = React.useContext(PostPageContext);
|
25
26
|
const qaAttributes = getQaAttributes(qa, 'date', 'reading-time', 'save');
|
26
|
-
return (
|
27
|
-
|
28
|
-
|
29
|
-
React.createElement(Sharing, { theme: theme, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.sharing }),
|
30
|
-
likes && (React.createElement(Save, { postId: postId, title: likes.likesCount, hasUserLike: likes.hasUserLike, handleUserLike: likes.handleUserLike, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.save, theme: theme, qa: qaAttributes.save }))));
|
31
|
-
};
|
27
|
+
return (_jsxs("div", { className: b('container', { theme }), children: [date && _jsx(Date, { date: date, qa: qaAttributes.date }), readingTime && _jsx(ReadingTime, { readingTime: readingTime, qa: qaAttributes.readingTime }), _jsx(Sharing, { theme: theme, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.sharing }), likes && (_jsx(Save, { postId: postId, title: likes.likesCount, hasUserLike: likes.hasUserLike, handleUserLike: likes.handleUserLike, analyticsEvents: analyticsEventsContainer === null || analyticsEventsContainer === void 0 ? void 0 : analyticsEventsContainer.save, theme: theme, qa: qaAttributes.save }))] }));
|
28
|
+
};
|
29
|
+
//# sourceMappingURL=PostInfo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PostInfo.js","sourceRoot":"../../../../src","sources":["components/PostInfo/PostInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAE/D,OAAO,EAAC,KAAK,EAAC,0BAAuB;AAErC,OAAO,EAAC,IAAI,EAAC,6BAA0B;AACvC,OAAO,EAAC,WAAW,EAAC,oCAAiC;AACrD,OAAO,EAAC,IAAI,EAAC,6BAA0B;AACvC,OAAO,EAAC,OAAO,EAAC,gCAA6B;AAC7C,OAAO,EAAC,eAAe,EAAC,8BAA2B;AAEnD,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAU7B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACrB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,KAAK,GAAG,OAAO,EACf,EAAE,EACF,wBAAwB,GACZ,EAAE,EAAE;IAChB,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAEzE,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,EAAC,KAAK,EAAC,CAAC,aAClC,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,IAAI,GAAI,EACnD,WAAW,IAAI,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,CAAC,WAAW,GAAI,EACvF,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,OAAO,GAAI,EAC5E,KAAK,IAAI,CACN,KAAC,IAAI,IACD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,eAAe,EAAE,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,IAAI,EAC/C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,YAAY,CAAC,IAAI,GACvB,CACL,IACC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {AnalyticsEventsProp} from '@gravity-ui/page-constructor';\nimport {PostPageContext} from '../../contexts/PostPageContext';\nimport {PostData, QAProps} from '../../models/common';\nimport {block} from '../../utils/cn';\n\nimport {Date} from './components/Date';\nimport {ReadingTime} from './components/ReadingTime';\nimport {Save} from './components/Save';\nimport {Sharing} from './components/Sharing';\nimport {getQaAttributes} from '../../utils/common';\n\nimport './PostInfo.scss';\n\nconst b = block('post-info');\n\ntype PostInfoProps = QAProps & {\n postId: PostData['id'];\n readingTime: PostData['readingTime'];\n date: PostData['date'];\n theme?: 'light' | 'dark';\n analyticsEventsContainer?: Record<string, AnalyticsEventsProp>;\n};\n\n/**\n * Blog post info panel component\n *\n * @param postId - post id\n * @param readingTime - post reading time\n * @param date - post create date\n * @param theme - theme name\n * @param qa - test-attr\n * @param analyticsEventsContainer - a map of records with a single or collection of objects detailing analytics events\n *\n * @returns jsx\n */\nexport const PostInfo = ({\n date,\n readingTime,\n postId,\n theme = 'light',\n qa,\n analyticsEventsContainer,\n}: PostInfoProps) => {\n const {likes} = React.useContext(PostPageContext);\n const qaAttributes = getQaAttributes(qa, 'date', 'reading-time', 'save');\n\n return (\n <div className={b('container', {theme})}>\n {date && <Date date={date} qa={qaAttributes.date} />}\n {readingTime && <ReadingTime readingTime={readingTime} qa={qaAttributes.readingTime} />}\n <Sharing theme={theme} analyticsEvents={analyticsEventsContainer?.sharing} />\n {likes && (\n <Save\n postId={postId}\n title={likes.likesCount}\n hasUserLike={likes.hasUserLike}\n handleUserLike={likes.handleUserLike}\n analyticsEvents={analyticsEventsContainer?.save}\n theme={theme}\n qa={qaAttributes.save}\n />\n )}\n </div>\n );\n};\n"]}
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import
|
2
|
-
import { PostCardSize, PostData, QAProps, ToggleLikeCallbackType } from '../../models/common';
|
1
|
+
import { PostCardSize, PostData, QAProps, ToggleLikeCallbackType } from "../../models/common.js";
|
3
2
|
import './PostInfo.css';
|
4
3
|
export interface SuggestPostInfoProps extends Pick<PostData, 'date' | 'readingTime' | 'hasUserLike'>, QAProps {
|
5
4
|
postId: PostData['blogPostId'];
|
@@ -28,4 +27,4 @@ export interface SuggestPostInfoProps extends Pick<PostData, 'date' | 'readingTi
|
|
28
27
|
*
|
29
28
|
* @returns jsx
|
30
29
|
*/
|
31
|
-
export declare const SuggestPostInfo: ({ postId, date, readingTime, likes, size, qa, dateId, readingTimeId, }: SuggestPostInfoProps) =>
|
30
|
+
export declare const SuggestPostInfo: ({ postId, date, readingTime, likes, size, qa, dateId, readingTimeId, }: SuggestPostInfoProps) => import("react/jsx-runtime").JSX.Element;
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import
|
2
|
-
import { useLikes } from
|
3
|
-
import { PostCardSize } from
|
4
|
-
import { block } from
|
5
|
-
import { Date } from
|
6
|
-
import { ReadingTime } from
|
7
|
-
import { Save } from
|
8
|
-
import { prepareAnalyticsEvent } from
|
9
|
-
import { DefaultGoalIds } from
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { useLikes } from "../../hooks/useLikes.js";
|
3
|
+
import { PostCardSize } from "../../models/common.js";
|
4
|
+
import { block } from "../../utils/cn.js";
|
5
|
+
import { Date } from "./components/Date.js";
|
6
|
+
import { ReadingTime } from "./components/ReadingTime.js";
|
7
|
+
import { Save } from "./components/Save.js";
|
8
|
+
import { prepareAnalyticsEvent } from "../../utils/common.js";
|
9
|
+
import { DefaultGoalIds } from "../../constants.js";
|
10
10
|
import './PostInfo.css';
|
11
11
|
const b = block('post-info');
|
12
12
|
const saveEvents = prepareAnalyticsEvent({ name: DefaultGoalIds.saveSuggest });
|
@@ -33,9 +33,6 @@ export const SuggestPostInfo = ({ postId, date, readingTime, likes, size = PostC
|
|
33
33
|
toggleLikeCallback: likes === null || likes === void 0 ? void 0 : likes.toggleLike,
|
34
34
|
postId: postId,
|
35
35
|
});
|
36
|
-
return (
|
37
|
-
|
38
|
-
|
39
|
-
readingTime && (React.createElement(ReadingTime, { readingTime: readingTime, size: size, id: readingTimeId }))),
|
40
|
-
likes && postId && (React.createElement(Save, { postId: postId, title: likesCount, analyticsEvents: saveEvents, hasUserLike: hasUserLike, handleUserLike: handleLike, size: size, qa: qa }))));
|
41
|
-
};
|
36
|
+
return (_jsxs("div", { className: b('container'), children: [_jsxs("div", { className: b('suggest-container'), children: [date && _jsx(Date, { date: date, size: size, id: dateId }), readingTime && (_jsx(ReadingTime, { readingTime: readingTime, size: size, id: readingTimeId }))] }), likes && postId && (_jsx(Save, { postId: postId, title: likesCount, analyticsEvents: saveEvents, hasUserLike: hasUserLike, handleUserLike: handleLike, size: size, qa: qa }))] }));
|
37
|
+
};
|
38
|
+
//# sourceMappingURL=SuggestPostInfo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SuggestPostInfo.js","sourceRoot":"../../../../src","sources":["components/PostInfo/SuggestPostInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,YAAY,EAA4C,+BAA4B;AAC5F,OAAO,EAAC,KAAK,EAAC,0BAAuB;AAErC,OAAO,EAAC,IAAI,EAAC,6BAA0B;AACvC,OAAO,EAAC,WAAW,EAAC,oCAAiC;AACrD,OAAO,EAAC,IAAI,EAAC,6BAA0B;AACvC,OAAO,EAAC,qBAAqB,EAAC,8BAA2B;AACzD,OAAO,EAAC,cAAc,EAAC,2BAAwB;AAE/C,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC,CAAC,CAAC;AAgB7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC5B,MAAM,EACN,IAAI,EACJ,WAAW,EACX,KAAK,EACL,IAAI,GAAG,YAAY,CAAC,KAAK,EACzB,EAAE,EACF,MAAM,EACN,aAAa,GACM,EAAE,EAAE;IACvB,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,QAAQ,CAAC;QACnD,OAAO,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW;QAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU;QACxB,kBAAkB,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU;QACrC,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,aAC1B,eAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,aACjC,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAI,EACpD,WAAW,IAAI,CACZ,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,GAAI,CAC3E,IACC,EACL,KAAK,IAAI,MAAM,IAAI,CAChB,KAAC,IAAI,IACD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,EACjB,eAAe,EAAE,UAAU,EAC3B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,UAAU,EAC1B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,GACR,CACL,IACC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {useLikes} from '../../hooks/useLikes';\nimport {PostCardSize, PostData, QAProps, ToggleLikeCallbackType} from '../../models/common';\nimport {block} from '../../utils/cn';\n\nimport {Date} from './components/Date';\nimport {ReadingTime} from './components/ReadingTime';\nimport {Save} from './components/Save';\nimport {prepareAnalyticsEvent} from '../../utils/common';\nimport {DefaultGoalIds} from '../../constants';\n\nimport './PostInfo.scss';\n\nconst b = block('post-info');\n\nconst saveEvents = prepareAnalyticsEvent({name: DefaultGoalIds.saveSuggest});\n\nexport interface SuggestPostInfoProps\n extends Pick<PostData, 'date' | 'readingTime' | 'hasUserLike'>,\n QAProps {\n postId: PostData['blogPostId'];\n size?: PostCardSize;\n likes?: {\n likesCount?: number;\n hasUserLike?: boolean;\n toggleLike?: ToggleLikeCallbackType;\n };\n dateId?: string;\n readingTimeId?: string;\n}\n\n/**\n * Suggest blog card info component\n *\n * @param postId - post id\n * @param date - post create date\n * @param readingTime - post reading time\n * @param hasUserLike - flag that the user liked the post\n * @param likes - likes count\n * @param qa - test-attr\n * @param size - text size\n * @param isModernIcon - flag what we need render 'bookmark' icon\n * @param dateId - id value for element with post date. Useful when providing accessible description\n * @param readingTimeId - id value for element with reading time. Useful when providing accessible description\n *\n * @returns jsx\n */\nexport const SuggestPostInfo = ({\n postId,\n date,\n readingTime,\n likes,\n size = PostCardSize.SMALL,\n qa,\n dateId,\n readingTimeId,\n}: SuggestPostInfoProps) => {\n const {hasUserLike, likesCount, handleLike} = useLikes({\n hasLike: likes?.hasUserLike,\n count: likes?.likesCount,\n toggleLikeCallback: likes?.toggleLike,\n postId: postId,\n });\n\n return (\n <div className={b('container')}>\n <div className={b('suggest-container')}>\n {date && <Date date={date} size={size} id={dateId} />}\n {readingTime && (\n <ReadingTime readingTime={readingTime} size={size} id={readingTimeId} />\n )}\n </div>\n {likes && postId && (\n <Save\n postId={postId}\n title={likesCount}\n analyticsEvents={saveEvents}\n hasUserLike={hasUserLike}\n handleUserLike={handleLike}\n size={size}\n qa={qa}\n />\n )}\n </div>\n );\n};\n"]}
|
@@ -1,10 +1,9 @@
|
|
1
|
-
import
|
2
|
-
import { PostCardSize, QAProps } from '../../../models/common';
|
1
|
+
import { PostCardSize, QAProps } from "../../../models/common.js";
|
3
2
|
import '../PostInfo.css';
|
4
3
|
type DateProps = QAProps & {
|
5
4
|
date: string | number;
|
6
5
|
size?: PostCardSize;
|
7
6
|
id?: string;
|
8
7
|
};
|
9
|
-
export declare const Date: ({ date, size, id, qa }: DateProps) =>
|
8
|
+
export declare const Date: ({ date, size, id, qa }: DateProps) => import("react/jsx-runtime").JSX.Element;
|
10
9
|
export {};
|
@@ -1,11 +1,13 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import * as React from 'react';
|
3
|
+
import { LocaleContext } from "../../../contexts/LocaleContext.js";
|
4
|
+
import { PostCardSize } from "../../../models/common.js";
|
5
|
+
import { block } from "../../../utils/cn.js";
|
6
|
+
import { format } from "../../../utils/date.js";
|
6
7
|
import '../PostInfo.css';
|
7
8
|
const b = block('post-info');
|
8
9
|
export const Date = ({ date, size = PostCardSize.SMALL, id, qa }) => {
|
9
|
-
const { locale } = useContext(LocaleContext);
|
10
|
-
return (
|
11
|
-
};
|
10
|
+
const { locale } = React.useContext(LocaleContext);
|
11
|
+
return (_jsx("div", { className: b('item', { size }), id: id, "data-qa": qa, children: format(date, 'longDate', locale === null || locale === void 0 ? void 0 : locale.code) }));
|
12
|
+
};
|
13
|
+
//# sourceMappingURL=Date.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Date.js","sourceRoot":"../../../../../src","sources":["components/PostInfo/components/Date.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAC9D,OAAO,EAAC,YAAY,EAAU,kCAA+B;AAC7D,OAAO,EAAC,KAAK,EAAC,6BAA0B;AACxC,OAAO,EAAC,MAAM,EAAC,+BAA4B;AAE3C,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAQ7B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAY,EAAE,EAAE;IACzE,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEjD,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,aAAW,EAAE,YACjD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,GACrC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {LocaleContext} from '../../../contexts/LocaleContext';\nimport {PostCardSize, QAProps} from '../../../models/common';\nimport {block} from '../../../utils/cn';\nimport {format} from '../../../utils/date';\n\nimport '../PostInfo.scss';\n\nconst b = block('post-info');\n\ntype DateProps = QAProps & {\n date: string | number;\n size?: PostCardSize;\n id?: string;\n};\n\nexport const Date = ({date, size = PostCardSize.SMALL, id, qa}: DateProps) => {\n const {locale} = React.useContext(LocaleContext);\n\n return (\n <div className={b('item', {size})} id={id} data-qa={qa}>\n {format(date, 'longDate', locale?.code)}\n </div>\n );\n};\n"]}
|
@@ -1,10 +1,9 @@
|
|
1
|
-
import
|
2
|
-
import { QAProps } from '../../../models/common';
|
1
|
+
import { QAProps } from "../../../models/common.js";
|
3
2
|
import '../PostInfo.css';
|
4
3
|
type ReadingTimeProps = QAProps & {
|
5
4
|
readingTime: number;
|
6
5
|
size?: 's' | 'm';
|
7
6
|
id?: string;
|
8
7
|
};
|
9
|
-
export declare const ReadingTime: ({ readingTime, size, id, qa }: ReadingTimeProps) =>
|
8
|
+
export declare const ReadingTime: ({ readingTime, size, id, qa }: ReadingTimeProps) => import("react/jsx-runtime").JSX.Element;
|
10
9
|
export {};
|
@@ -1,12 +1,10 @@
|
|
1
|
-
import
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { Icon } from '@gravity-ui/uikit';
|
3
|
-
import { Keyset, i18n } from
|
4
|
-
import { Time } from
|
5
|
-
import { block } from
|
3
|
+
import { Keyset, i18n } from "../../../i18n/index.js";
|
4
|
+
import { Time } from "../../../icons/Time.js";
|
5
|
+
import { block } from "../../../utils/cn.js";
|
6
6
|
import '../PostInfo.css';
|
7
7
|
const b = block('post-info');
|
8
8
|
const ICON_SIZE = 16;
|
9
|
-
export const ReadingTime = ({ readingTime, size = 's', id, qa }) => (
|
10
|
-
|
11
|
-
React.createElement(Icon, { data: Time, size: ICON_SIZE, className: b('icon-color') })),
|
12
|
-
i18n(Keyset.ContextReadingTime, { count: readingTime })));
|
9
|
+
export const ReadingTime = ({ readingTime, size = 's', id, qa }) => (_jsxs("div", { className: b('item', { size }), id: id, "data-qa": qa, children: [_jsx("span", { className: b('icon'), children: _jsx(Icon, { data: Time, size: ICON_SIZE, className: b('icon-color') }) }), i18n(Keyset.ContextReadingTime, { count: readingTime })] }));
|
10
|
+
//# sourceMappingURL=ReadingTime.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ReadingTime.js","sourceRoot":"../../../../../src","sources":["components/PostInfo/components/ReadingTime.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,+BAAsB;AAC3C,OAAO,EAAC,IAAI,EAAC,+BAA4B;AACzC,OAAO,EAAC,KAAK,EAAC,6BAA0B;AAGxC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,SAAS,GAAG,EAAE,CAAC;AAQrB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,WAAW,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAmB,EAAE,EAAE,CAAC,CAChF,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,aAAW,EAAE,aAClD,eAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACtB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,GAAI,GAC9D,EACN,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,IACpD,CACT,CAAC","sourcesContent":["import {Icon} from '@gravity-ui/uikit';\n\nimport {Keyset, i18n} from '../../../i18n';\nimport {Time} from '../../../icons/Time';\nimport {block} from '../../../utils/cn';\n\nimport {QAProps} from '../../../models/common';\nimport '../PostInfo.scss';\n\nconst b = block('post-info');\n\nconst ICON_SIZE = 16;\n\ntype ReadingTimeProps = QAProps & {\n readingTime: number;\n size?: 's' | 'm';\n id?: string;\n};\n\nexport const ReadingTime = ({readingTime, size = 's', id, qa}: ReadingTimeProps) => (\n <div className={b('item', {size})} id={id} data-qa={qa}>\n <span className={b('icon')}>\n <Icon data={Time} size={ICON_SIZE} className={b('icon-color')} />\n </span>\n {i18n(Keyset.ContextReadingTime, {count: readingTime})}\n </div>\n);\n"]}
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { AnalyticsEventsProp } from '@gravity-ui/page-constructor';
|
3
|
-
import { QAProps } from
|
2
|
+
import { QAProps } from "../../../models/common.js";
|
4
3
|
import '../PostInfo.css';
|
5
4
|
type SaveProps = QAProps & {
|
6
5
|
title: string | number;
|
@@ -23,5 +22,5 @@ type SaveProps = QAProps & {
|
|
23
22
|
*
|
24
23
|
* @returns jsx
|
25
24
|
*/
|
26
|
-
export declare const Save: ({ title, postId, hasUserLike, handleUserLike, size, theme, qa, analyticsEvents, }: SaveProps) =>
|
25
|
+
export declare const Save: ({ title, postId, hasUserLike, handleUserLike, size, theme, qa, analyticsEvents, }: SaveProps) => import("react/jsx-runtime").JSX.Element;
|
27
26
|
export {};
|
@@ -1,14 +1,15 @@
|
|
1
|
-
import
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import * as React from 'react';
|
2
3
|
import { useAnalytics } from '@gravity-ui/page-constructor';
|
3
4
|
import { Icon, useUniqId } from '@gravity-ui/uikit';
|
4
|
-
import { LikesContext } from
|
5
|
-
import { Save as SaveIcon } from
|
6
|
-
import { SaveFilled } from
|
7
|
-
import { DefaultEventNames } from
|
8
|
-
import { block } from
|
9
|
-
import { postLikeStatus } from
|
5
|
+
import { LikesContext } from "../../../contexts/LikesContext.js";
|
6
|
+
import { Save as SaveIcon } from "../../../icons/Save.js";
|
7
|
+
import { SaveFilled } from "../../../icons/SaveFilled.js";
|
8
|
+
import { DefaultEventNames } from "../../../models/common.js";
|
9
|
+
import { block } from "../../../utils/cn.js";
|
10
|
+
import { postLikeStatus } from "../../../utils/common.js";
|
10
11
|
import '../PostInfo.css';
|
11
|
-
import { Keyset, i18n } from
|
12
|
+
import { Keyset, i18n } from "../../../i18n/index.js";
|
12
13
|
const ICON_SIZE = 16;
|
13
14
|
const b = block('post-info');
|
14
15
|
/**
|
@@ -24,12 +25,12 @@ const b = block('post-info');
|
|
24
25
|
* @returns jsx
|
25
26
|
*/
|
26
27
|
export const Save = ({ title, postId, hasUserLike, handleUserLike, size, theme, qa, analyticsEvents, }) => {
|
27
|
-
const { toggleLike, isSignedInUser, requireSignIn } = useContext(LikesContext);
|
28
|
+
const { toggleLike, isSignedInUser, requireSignIn } = React.useContext(LikesContext);
|
28
29
|
const handleAnalytics = useAnalytics(DefaultEventNames.SaveButton);
|
29
30
|
const isLikeable = Boolean(toggleLike);
|
30
31
|
const titleElementId = useUniqId();
|
31
32
|
const isNumericTitle = typeof title === 'number';
|
32
|
-
return (
|
33
|
+
return (_jsx("button", { className: b('item', { size, save: true }), onClick: (event) => {
|
33
34
|
// both preventDefault and stopImmediatePropagation required to work properly
|
34
35
|
// https://stackoverflow.com/questions/24415631/reactjs-syntheticevent-stoppropagation-only-works-with-react-events
|
35
36
|
event.preventDefault();
|
@@ -45,9 +46,6 @@ export const Save = ({ title, postId, hasUserLike, handleUserLike, size, theme,
|
|
45
46
|
postLikeStatus(postId, Boolean(hasUserLike));
|
46
47
|
handleUserLike();
|
47
48
|
handleAnalytics(analyticsEvents);
|
48
|
-
}, "data-qa": qa, "aria-pressed": hasUserLike, "aria-label": isNumericTitle ? i18n(Keyset.Save) : undefined, "aria-describedby": isNumericTitle ? titleElementId : undefined },
|
49
|
-
|
50
|
-
|
51
|
-
React.createElement(Icon, { data: hasUserLike ? SaveFilled : SaveIcon, size: ICON_SIZE, className: b({ filled: Boolean(hasUserLike) }) })),
|
52
|
-
React.createElement("span", { id: titleElementId, className: b('title', { cursor: isLikeable }) }, title))));
|
53
|
-
};
|
49
|
+
}, "data-qa": qa, "aria-pressed": hasUserLike, "aria-label": isNumericTitle ? i18n(Keyset.Save) : undefined, "aria-describedby": isNumericTitle ? titleElementId : undefined, children: _jsxs("div", { className: b('content', { cursor: isLikeable, theme }), children: [_jsx("span", { className: b('icon'), children: _jsx(Icon, { data: hasUserLike ? SaveFilled : SaveIcon, size: ICON_SIZE, className: b({ filled: Boolean(hasUserLike) }) }) }), _jsx("span", { id: titleElementId, className: b('title', { cursor: isLikeable }), children: title })] }) }));
|
50
|
+
};
|
51
|
+
//# sourceMappingURL=Save.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Save.js","sourceRoot":"../../../../../src","sources":["components/PostInfo/components/Save.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {AnalyticsEventsProp, useAnalytics} from '@gravity-ui/page-constructor';\nimport {Icon, useUniqId} from '@gravity-ui/uikit';\n\nimport {LikesContext} from '../../../contexts/LikesContext';\nimport {Save as SaveIcon} from '../../../icons/Save';\nimport {SaveFilled} from '../../../icons/SaveFilled';\nimport {DefaultEventNames, QAProps} from '../../../models/common';\nimport {block} from '../../../utils/cn';\nimport {postLikeStatus} from '../../../utils/common';\n\nimport '../PostInfo.scss';\nimport {Keyset, i18n} from '../../../i18n';\n\nconst ICON_SIZE = 16;\n\nconst b = block('post-info');\n\ntype SaveProps = QAProps & {\n title: string | number;\n postId: number | string;\n hasUserLike: boolean;\n handleUserLike: () => void;\n theme?: 'light' | 'dark';\n size?: 's' | 'm';\n analyticsEvents?: AnalyticsEventsProp;\n};\n\n/**\n * Components for 'save' blog UI-component\n *\n * @param title - post title\n * @param postId - post id\n * @param hasUserLike - flag what blog has like from current user\n * @param qa - test-attr\n * @param size - text size\n * @param analyticsEvents - a single or collection of objects detailing analytics events\n *\n * @returns jsx\n */\nexport const Save = ({\n title,\n postId,\n hasUserLike,\n handleUserLike,\n size,\n theme,\n qa,\n analyticsEvents,\n}: SaveProps) => {\n const {toggleLike, isSignedInUser, requireSignIn} = React.useContext(LikesContext);\n const handleAnalytics = useAnalytics(DefaultEventNames.SaveButton);\n const isLikeable = Boolean(toggleLike);\n\n const titleElementId = useUniqId();\n const isNumericTitle = typeof title === 'number';\n\n return (\n <button\n className={b('item', {size, save: true})}\n onClick={(event) => {\n // both preventDefault and stopImmediatePropagation required to work properly\n // https://stackoverflow.com/questions/24415631/reactjs-syntheticevent-stoppropagation-only-works-with-react-events\n event.preventDefault();\n event.nativeEvent.stopImmediatePropagation();\n\n if (!isLikeable) {\n return;\n }\n\n // Open Popup to ask the User to sign in first\n if (!isSignedInUser && requireSignIn) {\n requireSignIn(event);\n return;\n }\n\n postLikeStatus(postId, Boolean(hasUserLike));\n handleUserLike();\n handleAnalytics(analyticsEvents);\n }}\n data-qa={qa}\n aria-pressed={hasUserLike}\n aria-label={isNumericTitle ? i18n(Keyset.Save) : undefined}\n aria-describedby={isNumericTitle ? titleElementId : undefined}\n >\n <div className={b('content', {cursor: isLikeable, theme})}>\n <span className={b('icon')}>\n <Icon\n data={hasUserLike ? SaveFilled : SaveIcon}\n size={ICON_SIZE}\n className={b({filled: Boolean(hasUserLike)})}\n />\n </span>\n <span id={titleElementId} className={b('title', {cursor: isLikeable})}>\n {title}\n </span>\n </div>\n </button>\n );\n};\n"]}
|
@@ -1,9 +1,8 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { AnalyticsEventsProp } from '@gravity-ui/page-constructor';
|
3
2
|
import '../PostInfo.css';
|
4
3
|
type SharingProps = {
|
5
4
|
theme?: 'light' | 'dark';
|
6
5
|
analyticsEvents?: AnalyticsEventsProp;
|
7
6
|
};
|
8
|
-
export declare const Sharing: ({ theme, analyticsEvents }: SharingProps) =>
|
7
|
+
export declare const Sharing: ({ theme, analyticsEvents }: SharingProps) => import("react/jsx-runtime").JSX.Element;
|
9
8
|
export {};
|
@@ -1,25 +1,25 @@
|
|
1
|
-
import
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import * as React from 'react';
|
2
3
|
import { ShareLayoutDirection, SharePopover } from '@gravity-ui/components';
|
3
4
|
import { useAnalytics } from '@gravity-ui/page-constructor';
|
4
|
-
import { MobileContext } from
|
5
|
-
import { PostPageContext } from
|
6
|
-
import { RouterContext } from
|
7
|
-
import { Keyset, i18n } from
|
8
|
-
import { ShareArrowUp } from
|
9
|
-
import { DefaultEventNames } from
|
10
|
-
import { block } from
|
11
|
-
import { getAbsolutePath } from
|
5
|
+
import { MobileContext } from "../../../contexts/MobileContext.js";
|
6
|
+
import { PostPageContext } from "../../../contexts/PostPageContext.js";
|
7
|
+
import { RouterContext } from "../../../contexts/RouterContext.js";
|
8
|
+
import { Keyset, i18n } from "../../../i18n/index.js";
|
9
|
+
import { ShareArrowUp } from "../../../icons/ShareArrowUp.js";
|
10
|
+
import { DefaultEventNames } from "../../../models/common.js";
|
11
|
+
import { block } from "../../../utils/cn.js";
|
12
|
+
import { getAbsolutePath } from "../../../utils/common.js";
|
12
13
|
import '../PostInfo.css';
|
13
14
|
const b = block('post-info');
|
14
15
|
export const Sharing = ({ theme, analyticsEvents }) => {
|
15
|
-
const router = useContext(RouterContext);
|
16
|
-
const isMobile = useContext(MobileContext);
|
17
|
-
const { shareOptions } = useContext(PostPageContext);
|
16
|
+
const router = React.useContext(RouterContext);
|
17
|
+
const isMobile = React.useContext(MobileContext);
|
18
|
+
const { shareOptions } = React.useContext(PostPageContext);
|
18
19
|
const handleAnalyticsGlobal = useAnalytics(DefaultEventNames.ShareButton);
|
19
|
-
const handleAnalytics = useCallback(() => {
|
20
|
+
const handleAnalytics = React.useCallback(() => {
|
20
21
|
handleAnalyticsGlobal(analyticsEvents);
|
21
22
|
}, [analyticsEvents, handleAnalyticsGlobal]);
|
22
|
-
return (
|
23
|
-
|
24
|
-
|
25
|
-
};
|
23
|
+
return (_jsx("div", { className: b('item'), children: _jsx("div", { className: b('icon'), children: _jsx(SharePopover, { url: getAbsolutePath(router), className: b('share'), iconClass: b('share-icon'), switcherClassName: b('switcher', { theme }), tooltipClassName: b('popup'), useWebShareApi: isMobile, direction: ShareLayoutDirection.Column, buttonTitle: i18n(Keyset.ActionShare), customIcon: ShareArrowUp, placement: "bottom", openByHover: false, shareOptions: shareOptions, onClick: handleAnalytics }) }) }));
|
24
|
+
};
|
25
|
+
//# sourceMappingURL=Sharing.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Sharing.js","sourceRoot":"../../../../../src","sources":["components/PostInfo/components/Sharing.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,oBAAoB,EAAE,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAsB,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAC9D,OAAO,EAAC,eAAe,EAAC,6CAA0C;AAClE,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAC9D,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,+BAAsB;AAC3C,OAAO,EAAC,YAAY,EAAC,uCAAoC;AACzD,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AACzD,OAAO,EAAC,KAAK,EAAC,6BAA0B;AACxC,OAAO,EAAC,eAAe,EAAC,iCAA8B;AAEtD,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAO7B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,eAAe,EAAe,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,EAAC,YAAY,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,qBAAqB,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE1E,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE7C,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,KAAC,YAAY,IACT,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,EAC5B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,EAC1B,iBAAiB,EAAE,CAAC,CAAC,UAAU,EAAE,EAAC,KAAK,EAAC,CAAC,EACzC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,EAC5B,cAAc,EAAE,QAAQ,EACxB,SAAS,EAAE,oBAAoB,CAAC,MAAM,EACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EACrC,UAAU,EAAE,YAAY,EACxB,SAAS,EAAC,QAAQ,EAClB,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,eAAe,GAC1B,GACA,GACJ,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ShareLayoutDirection, SharePopover} from '@gravity-ui/components';\nimport {AnalyticsEventsProp, useAnalytics} from '@gravity-ui/page-constructor';\n\nimport {MobileContext} from '../../../contexts/MobileContext';\nimport {PostPageContext} from '../../../contexts/PostPageContext';\nimport {RouterContext} from '../../../contexts/RouterContext';\nimport {Keyset, i18n} from '../../../i18n';\nimport {ShareArrowUp} from '../../../icons/ShareArrowUp';\nimport {DefaultEventNames} from '../../../models/common';\nimport {block} from '../../../utils/cn';\nimport {getAbsolutePath} from '../../../utils/common';\n\nimport '../PostInfo.scss';\n\nconst b = block('post-info');\n\ntype SharingProps = {\n theme?: 'light' | 'dark';\n analyticsEvents?: AnalyticsEventsProp;\n};\n\nexport const Sharing = ({theme, analyticsEvents}: SharingProps) => {\n const router = React.useContext(RouterContext);\n const isMobile = React.useContext(MobileContext);\n const {shareOptions} = React.useContext(PostPageContext);\n const handleAnalyticsGlobal = useAnalytics(DefaultEventNames.ShareButton);\n\n const handleAnalytics = React.useCallback(() => {\n handleAnalyticsGlobal(analyticsEvents);\n }, [analyticsEvents, handleAnalyticsGlobal]);\n\n return (\n <div className={b('item')}>\n <div className={b('icon')}>\n <SharePopover\n url={getAbsolutePath(router)}\n className={b('share')}\n iconClass={b('share-icon')}\n switcherClassName={b('switcher', {theme})}\n tooltipClassName={b('popup')}\n useWebShareApi={isMobile}\n direction={ShareLayoutDirection.Column}\n buttonTitle={i18n(Keyset.ActionShare)}\n customIcon={ShareArrowUp}\n placement=\"bottom\"\n openByHover={false}\n shareOptions={shareOptions}\n onClick={handleAnalytics}\n />\n </div>\n </div>\n );\n};\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import
|
2
|
-
import { PostData, Query } from
|
1
|
+
import * as React from 'react';
|
2
|
+
import { PostData, Query } from "../../models/common.js";
|
3
3
|
import './Posts.css';
|
4
4
|
type PostCardProps = {
|
5
5
|
containerId: string;
|
@@ -9,12 +9,12 @@ type PostCardProps = {
|
|
9
9
|
postCountOnPage: number;
|
10
10
|
perPageInQuery: number;
|
11
11
|
isFetching: boolean;
|
12
|
-
handleShowMore: (value?: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => Promise<void> | void;
|
12
|
+
handleShowMore: (value?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => Promise<void> | void;
|
13
13
|
handlePageChange: (value: number) => Promise<void> | void;
|
14
14
|
postsOnPage?: PostData[];
|
15
15
|
pinnedPostOnPage?: PostData;
|
16
16
|
pageCountForShowSupportButtons?: number;
|
17
17
|
queryParams: Query;
|
18
18
|
};
|
19
|
-
export declare const Posts: ({ containerId, pinnedPostOnPage, currentPage, postsOnPage, isShowMoreVisible, errorShowMore, postCountOnPage, perPageInQuery, isFetching, handleShowMore, handlePageChange, pageCountForShowSupportButtons, queryParams, }: PostCardProps) =>
|
19
|
+
export declare const Posts: ({ containerId, pinnedPostOnPage, currentPage, postsOnPage, isShowMoreVisible, errorShowMore, postCountOnPage, perPageInQuery, isFetching, handleShowMore, handlePageChange, pageCountForShowSupportButtons, queryParams, }: PostCardProps) => import("react/jsx-runtime").JSX.Element;
|
20
20
|
export {};
|