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