@doyourjob/gravity-ui-page-constructor 5.31.16 → 5.31.17
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/BlogFeed/BlogFeed.d.ts +3 -0
- package/build/cjs/blocks/BlogFeed/BlogFeed.js +12 -0
- package/build/cjs/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.css +6 -0
- package/build/cjs/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.d.ts +4 -0
- package/build/cjs/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.js +32 -0
- package/build/cjs/blocks/BlogFeed/schema.d.ts +18 -0
- package/build/cjs/blocks/BlogFeed/schema.js +15 -0
- package/build/cjs/blocks/EventsFeed/EventsFeed.js +2 -2
- package/build/cjs/blocks/EventsFeed/EventsFeedRecent/EventsFeedRecent.js +2 -2
- package/build/cjs/blocks/EventsFeed/EventsFeedUpcoming/EventsFeedUpcoming.js +2 -2
- package/build/cjs/blocks/EventsFeed/i18n/en.json +1 -3
- package/build/cjs/blocks/EventsFeed/i18n/index.d.ts +1 -1
- package/build/cjs/blocks/EventsFeed/i18n/ru.json +1 -3
- package/build/cjs/blocks/index.d.ts +1 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/components/CardBase/CardBase.d.ts +1 -0
- package/build/cjs/components/CardBase/CardBase.js +6 -3
- package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.css → cjs/components/FeedHeader/Controls/Controls.css} +15 -14
- package/build/cjs/components/FeedHeader/Controls/Controls.d.ts +7 -0
- package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.js → components/FeedHeader/Controls/Controls.js} +31 -15
- package/build/cjs/components/FeedHeader/Controls/customRenders.d.ts +11 -0
- package/build/cjs/components/FeedHeader/Controls/customRenders.js +26 -0
- package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.css → cjs/components/FeedHeader/FeedHeader.css} +3 -3
- package/build/cjs/components/FeedHeader/FeedHeader.d.ts +8 -0
- package/build/cjs/components/FeedHeader/FeedHeader.js +18 -0
- package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.css → cjs/components/FeedHeader/Search/Search.css} +7 -7
- package/build/cjs/components/FeedHeader/Search/Search.d.ts +11 -0
- package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.js → components/FeedHeader/Search/Search.js} +9 -9
- package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.css → components/FeedHeader/SelectOption/SelectOption.css} +1 -1
- package/build/cjs/components/FeedHeader/SelectOption/SelectOption.d.ts +6 -0
- package/build/cjs/components/FeedHeader/SelectOption/SelectOption.js +13 -0
- package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.css → cjs/components/FeedHeader/Switcher/Switcher.css} +13 -13
- package/build/cjs/components/FeedHeader/Switcher/Switcher.d.ts +11 -0
- package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.js → components/FeedHeader/Switcher/Switcher.js} +8 -8
- package/build/cjs/components/FeedHeader/i18n/en.json +4 -0
- package/build/cjs/components/FeedHeader/i18n/index.d.ts +1 -0
- package/build/cjs/components/FeedHeader/i18n/index.js +9 -0
- package/build/cjs/components/FeedHeader/i18n/ru.json +4 -0
- package/build/cjs/components/Image/Image.d.ts +2 -1
- package/build/cjs/components/Image/Image.js +2 -2
- package/build/cjs/constructor-items.d.ts +3 -0
- package/build/cjs/constructor-items.js +3 -0
- package/build/cjs/context/blogPostsContext/BlogPostsContext.d.ts +22 -0
- package/build/cjs/context/blogPostsContext/BlogPostsContext.js +11 -0
- package/build/cjs/context/blogPostsContext/index.d.ts +1 -0
- package/build/cjs/context/blogPostsContext/index.js +4 -0
- package/build/cjs/context/eventsContext/EventsContext.d.ts +1 -26
- package/build/cjs/context/eventsContext/EventsContext.js +1 -10
- package/build/cjs/context/feedHeaderContext/FeedHeaderContext.d.ts +22 -0
- package/build/cjs/context/feedHeaderContext/FeedHeaderContext.js +14 -0
- package/build/cjs/context/feedHeaderContext/index.d.ts +1 -0
- package/build/cjs/context/feedHeaderContext/index.js +4 -0
- package/build/cjs/grid/Col/Col.d.ts +1 -1
- package/build/cjs/icons/CloseIcon.js +2 -1
- package/build/cjs/icons/DropdownArrowIcon.js +2 -1
- package/build/cjs/icons/SearchIcon.js +2 -1
- package/build/cjs/icons/TimeIcon.d.ts +2 -0
- package/build/cjs/icons/TimeIcon.js +9 -0
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +2 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +9 -1
- package/build/cjs/models/constructor-items/blocks.js +1 -0
- package/build/cjs/models/constructor-items/common.d.ts +1 -0
- package/build/cjs/models/constructor-items/sub-blocks.d.ts +47 -2
- package/build/cjs/models/constructor-items/sub-blocks.js +13 -1
- package/build/cjs/schema/constants.d.ts +74 -0
- package/build/cjs/schema/constants.js +5 -2
- package/build/cjs/schema/validators/blocks.d.ts +1 -0
- package/build/cjs/schema/validators/blocks.js +1 -0
- package/build/cjs/schema/validators/sub-blocks.d.ts +2 -0
- package/build/cjs/schema/validators/sub-blocks.js +2 -0
- package/build/cjs/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.css → sub-blocks/FeedCard/FeedCard.css} +20 -10
- package/build/cjs/sub-blocks/FeedCard/FeedCard.d.ts +5 -0
- package/build/cjs/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.js → sub-blocks/FeedCard/FeedCard.js} +9 -8
- package/build/cjs/sub-blocks/FeedCard/schema.d.ts +32 -0
- package/build/cjs/sub-blocks/FeedCard/schema.js +25 -0
- package/build/cjs/sub-blocks/PostCard/PostCard.css +127 -0
- package/build/cjs/sub-blocks/PostCard/PostCard.d.ts +4 -0
- package/build/cjs/sub-blocks/PostCard/PostCard.js +39 -0
- package/build/cjs/sub-blocks/PostCard/i18n/en.json +3 -0
- package/build/cjs/sub-blocks/PostCard/i18n/index.d.ts +1 -0
- package/build/cjs/sub-blocks/PostCard/i18n/index.js +9 -0
- package/build/cjs/sub-blocks/PostCard/i18n/ru.json +3 -0
- package/build/cjs/sub-blocks/PostCard/schema.d.ts +46 -0
- package/build/cjs/sub-blocks/PostCard/schema.js +38 -0
- package/build/cjs/sub-blocks/index.d.ts +2 -0
- package/build/cjs/sub-blocks/index.js +5 -1
- package/build/esm/blocks/BlogFeed/BlogFeed.d.ts +3 -0
- package/build/esm/blocks/BlogFeed/BlogFeed.js +7 -0
- package/build/esm/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.css +6 -0
- package/build/esm/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.d.ts +5 -0
- package/build/esm/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.js +28 -0
- package/build/esm/blocks/BlogFeed/schema.d.ts +18 -0
- package/build/esm/blocks/BlogFeed/schema.js +12 -0
- package/build/esm/blocks/EventsFeed/EventsFeed.js +2 -2
- package/build/esm/blocks/EventsFeed/EventsFeedRecent/EventsFeedRecent.js +2 -2
- package/build/esm/blocks/EventsFeed/EventsFeedUpcoming/EventsFeedUpcoming.js +2 -2
- package/build/esm/blocks/EventsFeed/i18n/en.json +1 -3
- package/build/esm/blocks/EventsFeed/i18n/index.d.ts +1 -1
- package/build/esm/blocks/EventsFeed/i18n/ru.json +1 -3
- package/build/esm/blocks/index.d.ts +1 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/components/CardBase/CardBase.d.ts +1 -0
- package/build/esm/components/CardBase/CardBase.js +6 -3
- package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.css → esm/components/FeedHeader/Controls/Controls.css} +15 -14
- package/build/esm/components/FeedHeader/Controls/Controls.d.ts +8 -0
- package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.js → components/FeedHeader/Controls/Controls.js} +30 -14
- package/build/esm/components/FeedHeader/Controls/customRenders.d.ts +12 -0
- package/build/esm/components/FeedHeader/Controls/customRenders.js +20 -0
- package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.css → esm/components/FeedHeader/FeedHeader.css} +3 -3
- package/build/esm/components/FeedHeader/FeedHeader.d.ts +9 -0
- package/build/esm/components/FeedHeader/FeedHeader.js +14 -0
- package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.css → esm/components/FeedHeader/Search/Search.css} +7 -7
- package/build/esm/components/FeedHeader/Search/Search.d.ts +12 -0
- package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.js → components/FeedHeader/Search/Search.js} +8 -8
- package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.css → components/FeedHeader/SelectOption/SelectOption.css} +1 -1
- package/build/esm/components/FeedHeader/SelectOption/SelectOption.d.ts +7 -0
- package/build/esm/components/FeedHeader/SelectOption/SelectOption.js +9 -0
- package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.css → esm/components/FeedHeader/Switcher/Switcher.css} +13 -13
- package/build/esm/components/FeedHeader/Switcher/Switcher.d.ts +12 -0
- package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.js → components/FeedHeader/Switcher/Switcher.js} +7 -7
- package/build/esm/components/FeedHeader/i18n/en.json +4 -0
- package/build/esm/components/FeedHeader/i18n/index.d.ts +1 -0
- package/build/esm/components/FeedHeader/i18n/index.js +5 -0
- package/build/esm/components/FeedHeader/i18n/ru.json +4 -0
- package/build/esm/components/Image/Image.d.ts +2 -1
- package/build/esm/components/Image/Image.js +2 -2
- package/build/esm/constructor-items.d.ts +3 -0
- package/build/esm/constructor-items.js +5 -2
- package/build/esm/context/blogPostsContext/BlogPostsContext.d.ts +22 -0
- package/build/esm/context/blogPostsContext/BlogPostsContext.js +7 -0
- package/build/esm/context/blogPostsContext/index.d.ts +1 -0
- package/build/esm/context/blogPostsContext/index.js +1 -0
- package/build/esm/context/eventsContext/EventsContext.d.ts +1 -26
- package/build/esm/context/eventsContext/EventsContext.js +0 -9
- package/build/esm/context/feedHeaderContext/FeedHeaderContext.d.ts +22 -0
- package/build/esm/context/feedHeaderContext/FeedHeaderContext.js +10 -0
- package/build/esm/context/feedHeaderContext/index.d.ts +1 -0
- package/build/esm/context/feedHeaderContext/index.js +1 -0
- package/build/esm/grid/Col/Col.d.ts +1 -1
- package/build/esm/icons/CloseIcon.js +2 -1
- package/build/esm/icons/DropdownArrowIcon.js +2 -1
- package/build/esm/icons/SearchIcon.js +2 -1
- package/build/esm/icons/TimeIcon.d.ts +2 -0
- package/build/esm/icons/TimeIcon.js +4 -0
- package/build/esm/index.d.ts +2 -0
- package/build/esm/index.js +2 -0
- package/build/esm/models/constructor-items/blocks.d.ts +9 -1
- package/build/esm/models/constructor-items/blocks.js +1 -0
- package/build/esm/models/constructor-items/common.d.ts +1 -0
- package/build/esm/models/constructor-items/sub-blocks.d.ts +47 -2
- package/build/esm/models/constructor-items/sub-blocks.js +12 -0
- package/build/esm/schema/constants.d.ts +74 -0
- package/build/esm/schema/constants.js +7 -4
- package/build/esm/schema/validators/blocks.d.ts +1 -0
- package/build/esm/schema/validators/blocks.js +1 -0
- package/build/esm/schema/validators/sub-blocks.d.ts +2 -0
- package/build/esm/schema/validators/sub-blocks.js +2 -0
- package/build/esm/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.css → sub-blocks/FeedCard/FeedCard.css} +20 -10
- package/build/esm/sub-blocks/FeedCard/FeedCard.d.ts +6 -0
- package/build/esm/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.js → sub-blocks/FeedCard/FeedCard.js} +8 -7
- package/build/esm/sub-blocks/FeedCard/schema.d.ts +32 -0
- package/build/esm/sub-blocks/FeedCard/schema.js +22 -0
- package/build/esm/sub-blocks/PostCard/PostCard.css +127 -0
- package/build/esm/sub-blocks/PostCard/PostCard.d.ts +5 -0
- package/build/esm/sub-blocks/PostCard/PostCard.js +37 -0
- package/build/esm/sub-blocks/PostCard/i18n/en.json +3 -0
- package/build/esm/sub-blocks/PostCard/i18n/index.d.ts +1 -0
- package/build/esm/sub-blocks/PostCard/i18n/index.js +5 -0
- package/build/esm/sub-blocks/PostCard/i18n/ru.json +3 -0
- package/build/esm/sub-blocks/PostCard/schema.d.ts +46 -0
- package/build/esm/sub-blocks/PostCard/schema.js +35 -0
- package/build/esm/sub-blocks/index.d.ts +2 -0
- package/build/esm/sub-blocks/index.js +2 -0
- package/package.json +1 -1
- package/schema/index.js +1 -1
- package/server/models/constructor-items/blocks.d.ts +9 -1
- package/server/models/constructor-items/blocks.js +1 -0
- package/server/models/constructor-items/common.d.ts +1 -0
- package/server/models/constructor-items/sub-blocks.d.ts +47 -2
- package/server/models/constructor-items/sub-blocks.js +13 -1
- package/widget/index.js +1 -1
- package/build/cjs/blocks/EventsFeed/EventsFeedCard/EventsFeedCard.d.ts +0 -12
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.d.ts +0 -8
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.js +0 -18
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.d.ts +0 -7
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.d.ts +0 -11
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.js +0 -26
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.d.ts +0 -11
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.d.ts +0 -6
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.js +0 -13
- package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.d.ts +0 -11
- package/build/esm/blocks/EventsFeed/EventsFeedCard/EventsFeedCard.d.ts +0 -13
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.d.ts +0 -9
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.js +0 -14
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.d.ts +0 -8
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.d.ts +0 -12
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.js +0 -20
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.d.ts +0 -12
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.d.ts +0 -7
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.js +0 -9
- package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.d.ts +0 -12
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlogFeedBlock = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const FeedHeader_1 = tslib_1.__importDefault(require("../../components/FeedHeader/FeedHeader"));
|
|
7
|
+
const BlogFeedPosts_1 = tslib_1.__importDefault(require("./BlogFeedPosts/BlogFeedPosts"));
|
|
8
|
+
const BlogFeedBlock = ({ image, title }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
9
|
+
react_1.default.createElement(FeedHeader_1.default, { image: image, title: title }),
|
|
10
|
+
react_1.default.createElement(BlogFeedPosts_1.default, null)));
|
|
11
|
+
exports.BlogFeedBlock = BlogFeedBlock;
|
|
12
|
+
exports.default = exports.BlogFeedBlock;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlogFeedPosts = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const __1 = require("../..");
|
|
7
|
+
const components_1 = require("../../../components");
|
|
8
|
+
const blogPostsContext_1 = require("../../../context/blogPostsContext");
|
|
9
|
+
const models_1 = require("../../../models");
|
|
10
|
+
const PostCard_1 = tslib_1.__importDefault(require("../../../sub-blocks/PostCard/PostCard"));
|
|
11
|
+
const utils_1 = require("../../../utils");
|
|
12
|
+
const b = (0, utils_1.block)('blog-feed-posts');
|
|
13
|
+
const colSizes = {
|
|
14
|
+
all: 12,
|
|
15
|
+
lg: 4,
|
|
16
|
+
md: 6,
|
|
17
|
+
};
|
|
18
|
+
const BlogFeedPosts = () => {
|
|
19
|
+
const { pinnedPost, posts, page, pageSize, onLoadMore } = (0, react_1.useContext)(blogPostsContext_1.BlogPostsContext);
|
|
20
|
+
const itemsToShow = posts.slice(0, page * pageSize);
|
|
21
|
+
const hasMore = page < Math.ceil(posts.length / pageSize);
|
|
22
|
+
if (posts.length === 0) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return (react_1.default.createElement("div", { className: b() },
|
|
26
|
+
pinnedPost && (react_1.default.createElement("div", { className: b('wrap') },
|
|
27
|
+
react_1.default.createElement(PostCard_1.default, Object.assign({}, pinnedPost, { size: models_1.PostCardSize.MEDIUM, fullWidth: true, showTag: true, titleHeadingLevel: models_1.PostCardTitleHeadingLevel.H2 })))),
|
|
28
|
+
react_1.default.createElement(__1.CardLayoutBlock, { className: b('wrap'), colSizes: colSizes }, itemsToShow.map((item) => (react_1.default.createElement(PostCard_1.default, Object.assign({ key: item.slug }, item, { showTag: true, titleHeadingLevel: pinnedPost ? models_1.PostCardTitleHeadingLevel.H3 : models_1.PostCardTitleHeadingLevel.H2 }))))),
|
|
29
|
+
react_1.default.createElement(components_1.InfiniteScroll, { hasMore: hasMore, onNext: onLoadMore })));
|
|
30
|
+
};
|
|
31
|
+
exports.BlogFeedPosts = BlogFeedPosts;
|
|
32
|
+
exports.default = react_1.default.memo(exports.BlogFeedPosts);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const BlogFeedBlock: {
|
|
2
|
+
'blog-feed-block': {
|
|
3
|
+
additionalProperties: boolean;
|
|
4
|
+
required: never[];
|
|
5
|
+
properties: {
|
|
6
|
+
title: {
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
image: {
|
|
10
|
+
type: string;
|
|
11
|
+
};
|
|
12
|
+
type: {};
|
|
13
|
+
when: {
|
|
14
|
+
type: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlogFeedBlock = void 0;
|
|
4
|
+
const common_1 = require("./../../schema/validators/common");
|
|
5
|
+
exports.BlogFeedBlock = {
|
|
6
|
+
'blog-feed-block': {
|
|
7
|
+
additionalProperties: false,
|
|
8
|
+
required: [],
|
|
9
|
+
properties: Object.assign(Object.assign({}, common_1.BaseProps), { title: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
}, image: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
} }),
|
|
14
|
+
},
|
|
15
|
+
};
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EventsFeedBlock = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const
|
|
6
|
+
const FeedHeader_1 = tslib_1.__importDefault(require("../../components/FeedHeader/FeedHeader"));
|
|
7
7
|
const EventsFeedRecent_1 = tslib_1.__importDefault(require("./EventsFeedRecent/EventsFeedRecent"));
|
|
8
8
|
const EventsFeedUpcoming_1 = tslib_1.__importDefault(require("./EventsFeedUpcoming/EventsFeedUpcoming"));
|
|
9
9
|
const EventsFeedBlock = ({ image, title }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
10
|
-
react_1.default.createElement(
|
|
10
|
+
react_1.default.createElement(FeedHeader_1.default, { image: image, title: title }),
|
|
11
11
|
react_1.default.createElement(EventsFeedUpcoming_1.default, null),
|
|
12
12
|
react_1.default.createElement(EventsFeedRecent_1.default, null)));
|
|
13
13
|
exports.EventsFeedBlock = EventsFeedBlock;
|
|
@@ -6,8 +6,8 @@ const react_1 = tslib_1.__importStar(require("react"));
|
|
|
6
6
|
const __1 = require("../..");
|
|
7
7
|
const components_1 = require("../../../components");
|
|
8
8
|
const eventsContext_1 = require("../../../context/eventsContext");
|
|
9
|
+
const sub_blocks_1 = require("../../../sub-blocks");
|
|
9
10
|
const utils_1 = require("../../../utils");
|
|
10
|
-
const EventsFeedCard_1 = tslib_1.__importDefault(require("../EventsFeedCard/EventsFeedCard"));
|
|
11
11
|
const i18n_1 = require("../i18n");
|
|
12
12
|
const b = (0, utils_1.block)('events-feed-recent');
|
|
13
13
|
const colSizes = {
|
|
@@ -26,7 +26,7 @@ const EventsFeedRecent = () => {
|
|
|
26
26
|
}
|
|
27
27
|
return (react_1.default.createElement("div", { className: b() },
|
|
28
28
|
react_1.default.createElement(components_1.Anchor, { id: "recent" }),
|
|
29
|
-
react_1.default.createElement(__1.CardLayoutBlock, { title: (0, i18n_1.i18n)('recent_events'), colSizes: colSizes }, itemsToShow.map((item) => (react_1.default.createElement(
|
|
29
|
+
react_1.default.createElement(__1.CardLayoutBlock, { title: (0, i18n_1.i18n)('recent_events'), colSizes: colSizes }, itemsToShow.map((item) => (react_1.default.createElement(sub_blocks_1.FeedCard, Object.assign({ key: item.slug }, item))))),
|
|
30
30
|
react_1.default.createElement(components_1.InfiniteScroll, { hasMore: hasMore, onNext: onLoadMore })));
|
|
31
31
|
};
|
|
32
32
|
exports.EventsFeedRecent = EventsFeedRecent;
|
|
@@ -6,8 +6,8 @@ const react_1 = tslib_1.__importStar(require("react"));
|
|
|
6
6
|
const __1 = require("../..");
|
|
7
7
|
const components_1 = require("../../../components");
|
|
8
8
|
const eventsContext_1 = require("../../../context/eventsContext");
|
|
9
|
+
const sub_blocks_1 = require("../../../sub-blocks");
|
|
9
10
|
const utils_1 = require("../../../utils");
|
|
10
|
-
const EventsFeedCard_1 = tslib_1.__importDefault(require("./../EventsFeedCard/EventsFeedCard"));
|
|
11
11
|
const b = (0, utils_1.block)('events-feed-upcoming');
|
|
12
12
|
const colSizes = {
|
|
13
13
|
sm: 12,
|
|
@@ -20,7 +20,7 @@ const EventsFeedUpcoming = () => {
|
|
|
20
20
|
const { upcoming } = (0, react_1.useContext)(eventsContext_1.EventsUpcomingContext);
|
|
21
21
|
return (react_1.default.createElement("div", { className: b() },
|
|
22
22
|
react_1.default.createElement(components_1.Anchor, { id: "upcoming" }),
|
|
23
|
-
react_1.default.createElement(__1.CardLayoutBlock, { colSizes: colSizes }, upcoming.map((item) => (react_1.default.createElement(
|
|
23
|
+
react_1.default.createElement(__1.CardLayoutBlock, { colSizes: colSizes }, upcoming.map((item) => (react_1.default.createElement(sub_blocks_1.FeedCard, Object.assign({ key: item.slug }, item)))))));
|
|
24
24
|
};
|
|
25
25
|
exports.EventsFeedUpcoming = EventsFeedUpcoming;
|
|
26
26
|
exports.default = react_1.default.memo(exports.EventsFeedUpcoming);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const i18n: (key: "
|
|
1
|
+
export declare const i18n: (key: "recent_events", params?: import("@gravity-ui/i18n").Params | undefined) => string;
|
|
@@ -23,4 +23,5 @@ export { default as ServicesBlock } from './Services/Services';
|
|
|
23
23
|
export { default as QuotesBlock } from './Quotes/Quotes';
|
|
24
24
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
25
25
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
26
|
+
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
26
27
|
export { default as PressReleasesBlock } from './PressReleases/PressReleases';
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PressReleasesBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
|
|
6
|
+
exports.PressReleasesBlock = exports.BlogFeedBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
|
|
7
7
|
var Banner_1 = require("./Banner/Banner");
|
|
8
8
|
Object.defineProperty(exports, "BannerBlock", { enumerable: true, get: function () { return __importDefault(Banner_1).default; } });
|
|
9
9
|
var Companies_1 = require("./Companies/Companies");
|
|
@@ -54,5 +54,7 @@ var LinkTable_1 = require("./LinkTable/LinkTable");
|
|
|
54
54
|
Object.defineProperty(exports, "LinkTableBlock", { enumerable: true, get: function () { return __importDefault(LinkTable_1).default; } });
|
|
55
55
|
var EventsFeed_1 = require("./EventsFeed/EventsFeed");
|
|
56
56
|
Object.defineProperty(exports, "EventsFeedBlock", { enumerable: true, get: function () { return __importDefault(EventsFeed_1).default; } });
|
|
57
|
+
var BlogFeed_1 = require("./BlogFeed/BlogFeed");
|
|
58
|
+
Object.defineProperty(exports, "BlogFeedBlock", { enumerable: true, get: function () { return __importDefault(BlogFeed_1).default; } });
|
|
57
59
|
var PressReleases_1 = require("./PressReleases/PressReleases");
|
|
58
60
|
Object.defineProperty(exports, "PressReleasesBlock", { enumerable: true, get: function () { return __importDefault(PressReleases_1).default; } });
|
|
@@ -14,6 +14,7 @@ export type CardBasePropsType = PropsWithChildren<CardBaseProps>;
|
|
|
14
14
|
export interface CardHeaderBaseProps {
|
|
15
15
|
className?: string;
|
|
16
16
|
image?: ImageProps | null;
|
|
17
|
+
imageExtraProps?: React.HTMLAttributes<HTMLImageElement>;
|
|
17
18
|
}
|
|
18
19
|
export interface CardFooterBaseProps {
|
|
19
20
|
className?: string;
|
|
@@ -17,13 +17,14 @@ const Layout = (props) => {
|
|
|
17
17
|
const { className, bodyClassName, analyticsEvents, contentClassName, children, url, target, border = 'shadow', urlTitle, qa, extraProps = {}, } = props;
|
|
18
18
|
const handleAnalytics = (0, hooks_1.useAnalytics)(models_1.DefaultEventNames.CardBase, url);
|
|
19
19
|
const qaAttributes = (0, react_1.useMemo)(() => (0, utils_1.getQaAttrubutes)(qa, 'header', 'footer', 'body', 'content'), [qa]);
|
|
20
|
-
const { header, content, footer, image, headerClass, footerClass } = (0, react_1.useMemo)(() => {
|
|
21
|
-
let _header, _content, _footer, _image, _headerClass, _footerClass;
|
|
20
|
+
const { header, content, footer, image, imageExtraProps, headerClass, footerClass } = (0, react_1.useMemo)(() => {
|
|
21
|
+
let _header, _content, _footer, _image, _imageExtraProps, _headerClass, _footerClass;
|
|
22
22
|
function handleChild(child) {
|
|
23
23
|
switch (child.type) {
|
|
24
24
|
case Header:
|
|
25
25
|
_header = child.props.children;
|
|
26
26
|
_image = child.props.image;
|
|
27
|
+
_imageExtraProps = child.props.imageExtraProps;
|
|
27
28
|
_headerClass = child.props.className;
|
|
28
29
|
break;
|
|
29
30
|
case Content:
|
|
@@ -45,12 +46,13 @@ const Layout = (props) => {
|
|
|
45
46
|
content: _content,
|
|
46
47
|
footer: _footer,
|
|
47
48
|
image: _image,
|
|
49
|
+
imageExtraProps: _imageExtraProps,
|
|
48
50
|
headerClass: _headerClass,
|
|
49
51
|
footerClass: _footerClass,
|
|
50
52
|
};
|
|
51
53
|
}, [children]);
|
|
52
54
|
const cardContent = (0, react_1.useMemo)(() => (react_1.default.createElement(react_1.Fragment, null,
|
|
53
|
-
(header || image) && (react_1.default.createElement(BackgroundImage_1.default, Object.assign({ className: b('header', headerClass) }, (typeof image === 'string' ? { src: image } : image), { qa: qaAttributes.header }),
|
|
55
|
+
(header || image) && (react_1.default.createElement(BackgroundImage_1.default, Object.assign({ className: b('header', headerClass) }, (typeof image === 'string' ? { src: image } : image), { extraProps: imageExtraProps, qa: qaAttributes.header }),
|
|
54
56
|
react_1.default.createElement("div", { className: b('header-content') }, header))),
|
|
55
57
|
react_1.default.createElement("div", { className: b('body', bodyClassName), "data-qa": qaAttributes.body },
|
|
56
58
|
react_1.default.createElement("div", { className: b('content', contentClassName), "data-qa": qaAttributes.content }, content),
|
|
@@ -58,6 +60,7 @@ const Layout = (props) => {
|
|
|
58
60
|
header,
|
|
59
61
|
content,
|
|
60
62
|
image,
|
|
63
|
+
imageExtraProps,
|
|
61
64
|
headerClass,
|
|
62
65
|
bodyClassName,
|
|
63
66
|
contentClassName,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* use this for style redefinitions to awoid problems with
|
|
2
2
|
unpredictable css rules order in build */
|
|
3
|
-
.pc-
|
|
3
|
+
.pc-feed-header-controls {
|
|
4
4
|
position: relative;
|
|
5
5
|
z-index: 10;
|
|
6
6
|
display: flex;
|
|
@@ -8,42 +8,43 @@ unpredictable css rules order in build */
|
|
|
8
8
|
padding-bottom: 20px;
|
|
9
9
|
border-radius: var(--bc-border-radius);
|
|
10
10
|
}
|
|
11
|
-
.pc-
|
|
11
|
+
.pc-feed-header-controls__title, .pc-feed-header-controls__filters {
|
|
12
12
|
display: flex;
|
|
13
13
|
flex-wrap: wrap;
|
|
14
14
|
justify-content: center;
|
|
15
15
|
}
|
|
16
|
-
.pc-
|
|
16
|
+
.pc-feed-header-controls__title {
|
|
17
17
|
padding-top: 112px;
|
|
18
18
|
padding-bottom: 96px;
|
|
19
|
+
margin: 0;
|
|
19
20
|
font-size: var(--g-text-display-4-font-size, var(--pc-text-display-4-font-size));
|
|
20
21
|
line-height: var(--g-text-display-4-line-height, var(--pc-text-display-4-line-height));
|
|
21
22
|
}
|
|
22
|
-
.pc-
|
|
23
|
+
.pc-feed-header-controls__filter-input, .pc-feed-header-controls__filter-select {
|
|
23
24
|
width: 100%;
|
|
24
25
|
}
|
|
25
|
-
.pc-
|
|
26
|
+
.pc-feed-header-controls__popup {
|
|
26
27
|
max-height: 500px;
|
|
27
28
|
border-radius: 12px;
|
|
28
29
|
}
|
|
29
|
-
.pc-
|
|
30
|
+
.pc-feed-header-controls__popup .g-select-list::-webkit-scrollbar {
|
|
30
31
|
display: none;
|
|
31
32
|
}
|
|
32
|
-
.pc-
|
|
33
|
+
.pc-feed-header-controls__popup .g-select-list .g-list {
|
|
33
34
|
max-height: calc(500px - var(--g-text-body-3-line-height) - 12px);
|
|
34
35
|
}
|
|
35
|
-
.pc-
|
|
36
|
+
.pc-feed-header-controls__popup .g-list__item {
|
|
36
37
|
margin: 4px;
|
|
37
38
|
border-radius: 8px;
|
|
38
39
|
}
|
|
39
|
-
.pc-
|
|
40
|
+
.pc-feed-header-controls__popup_mobile {
|
|
40
41
|
max-height: inherit;
|
|
41
42
|
}
|
|
42
|
-
.pc-
|
|
43
|
+
.pc-feed-header-controls__popup_mobile .pc-feed-header-controls__popup-filter {
|
|
43
44
|
position: relative;
|
|
44
45
|
border: none;
|
|
45
46
|
}
|
|
46
|
-
.pc-
|
|
47
|
+
.pc-feed-header-controls__popup_mobile .pc-feed-header-controls__popup-filter::before {
|
|
47
48
|
position: absolute;
|
|
48
49
|
bottom: 0px;
|
|
49
50
|
left: 50%;
|
|
@@ -55,7 +56,7 @@ unpredictable css rules order in build */
|
|
|
55
56
|
border-bottom-left-radius: 0;
|
|
56
57
|
transform: translateX(-50%);
|
|
57
58
|
}
|
|
58
|
-
.pc-
|
|
59
|
+
.pc-feed-header-controls__popup-filter {
|
|
59
60
|
padding: 4px 12px;
|
|
60
61
|
font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
|
|
61
62
|
line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
|
|
@@ -64,7 +65,7 @@ unpredictable css rules order in build */
|
|
|
64
65
|
border-bottom-right-radius: 0;
|
|
65
66
|
border-bottom-left-radius: 0;
|
|
66
67
|
}
|
|
67
|
-
.pc-
|
|
68
|
+
.pc-feed-header-controls__filter-item {
|
|
68
69
|
flex-grow: 1;
|
|
69
70
|
min-width: 230px;
|
|
70
71
|
margin-right: 8px;
|
|
@@ -72,7 +73,7 @@ unpredictable css rules order in build */
|
|
|
72
73
|
margin-left: 8px;
|
|
73
74
|
}
|
|
74
75
|
@media (min-width: 577px) {
|
|
75
|
-
.pc-
|
|
76
|
+
.pc-feed-header-controls__filter-item {
|
|
76
77
|
max-width: 240px;
|
|
77
78
|
}
|
|
78
79
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ControlsProps = {
|
|
3
|
+
title?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const Controls: ({ title }: ControlsProps) => JSX.Element;
|
|
6
|
+
declare const _default: React.MemoExoticComponent<({ title }: ControlsProps) => JSX.Element>;
|
|
7
|
+
export default _default;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Controls = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
-
const
|
|
8
|
-
const mobileContext_1 = require("
|
|
9
|
-
const utils_1 = require("
|
|
10
|
-
const
|
|
7
|
+
const feedHeaderContext_1 = require("../../../context/feedHeaderContext");
|
|
8
|
+
const mobileContext_1 = require("../../../context/mobileContext");
|
|
9
|
+
const utils_1 = require("../../../utils");
|
|
10
|
+
const Search_1 = require("../Search/Search");
|
|
11
11
|
const customRenders_1 = require("./customRenders");
|
|
12
|
-
const b = (0, utils_1.block)('
|
|
12
|
+
const b = (0, utils_1.block)('feed-header-controls');
|
|
13
13
|
const VIRTUALIZATION_THRESHOLD = 1000;
|
|
14
14
|
const FilterInput = ({ value, onChange, label, }) => (react_1.default.createElement("div", { className: b('filter-item') },
|
|
15
|
-
react_1.default.createElement(
|
|
16
|
-
const
|
|
15
|
+
react_1.default.createElement(Search_1.Search, { className: b('filter-input'), placeholder: label, initialValue: value, onSubmit: onChange })));
|
|
16
|
+
const FilterMultipleSelect = ({ label, value, onChange, items = [], }) => {
|
|
17
17
|
const isMobile = (0, react_1.useContext)(mobileContext_1.MobileContext);
|
|
18
18
|
const handleUpdate = (selected) => {
|
|
19
19
|
const asString = selected.join(',');
|
|
@@ -27,14 +27,30 @@ const FilterSelect = ({ label, value, onChange, items = [], }) => {
|
|
|
27
27
|
defaultLabel: label || '',
|
|
28
28
|
}), disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: customRenders_1.renderOption, renderFilter: customRenders_1.renderFilter, multiple: true, filterable: true, hasClear: true })));
|
|
29
29
|
};
|
|
30
|
+
const FilterSelect = ({ label, value, onChange, items = [], }) => {
|
|
31
|
+
const isMobile = (0, react_1.useContext)(mobileContext_1.MobileContext);
|
|
32
|
+
const handleUpdate = (selected) => {
|
|
33
|
+
const isEmpty = selected.some((tag) => tag === 'empty');
|
|
34
|
+
onChange(isEmpty ? '' : selected[0]);
|
|
35
|
+
};
|
|
36
|
+
const valueLocal = (0, react_1.useMemo)(() => (value ? [value] : []), [value]);
|
|
37
|
+
return (react_1.default.createElement("div", { className: b('filter-item') },
|
|
38
|
+
react_1.default.createElement(uikit_1.Select, { className: b('filter-select'), size: "xl", options: items, defaultValue: [], value: valueLocal, onUpdate: handleUpdate, popupClassName: b('popup', { mobile: isMobile }), renderControl: (0, customRenders_1.renderSwitcher)({
|
|
39
|
+
initial: valueLocal,
|
|
40
|
+
list: items,
|
|
41
|
+
defaultLabel: label || '',
|
|
42
|
+
}), disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: customRenders_1.renderOption })));
|
|
43
|
+
};
|
|
30
44
|
const Filter = ({ name, type, value, label, items, }) => {
|
|
31
|
-
const { onChangeFilter } = (0, react_1.useContext)(
|
|
45
|
+
const { onChangeFilter } = (0, react_1.useContext)(feedHeaderContext_1.FeedHeaderFunctionsContext);
|
|
32
46
|
const handleChangeFilter = (0, react_1.useCallback)((data) => {
|
|
33
47
|
onChangeFilter === null || onChangeFilter === void 0 ? void 0 : onChangeFilter({ [name]: data });
|
|
34
48
|
}, [name, onChangeFilter]);
|
|
35
49
|
switch (type) {
|
|
36
50
|
case 'input':
|
|
37
51
|
return react_1.default.createElement(FilterInput, { label: label, value: value, onChange: handleChangeFilter });
|
|
52
|
+
case 'multiple-select':
|
|
53
|
+
return (react_1.default.createElement(FilterMultipleSelect, { label: label, items: items, value: value, onChange: handleChangeFilter }));
|
|
38
54
|
case 'select':
|
|
39
55
|
return (react_1.default.createElement(FilterSelect, { label: label, items: items, value: value, onChange: handleChangeFilter }));
|
|
40
56
|
default:
|
|
@@ -42,12 +58,12 @@ const Filter = ({ name, type, value, label, items, }) => {
|
|
|
42
58
|
}
|
|
43
59
|
};
|
|
44
60
|
const FilterMemo = react_1.default.memo(Filter);
|
|
45
|
-
const
|
|
46
|
-
const {
|
|
47
|
-
const {
|
|
61
|
+
const Controls = ({ title }) => {
|
|
62
|
+
const { filters } = (0, react_1.useContext)(feedHeaderContext_1.FeedHeaderFiltersContext);
|
|
63
|
+
const { filter } = (0, react_1.useContext)(feedHeaderContext_1.FeedHeaderFilterContext);
|
|
48
64
|
return (react_1.default.createElement("div", { className: b() },
|
|
49
65
|
react_1.default.createElement("h1", { className: b('title') }, title),
|
|
50
|
-
react_1.default.createElement("div", { className: b('filters') }, filters.map((item) => (react_1.default.createElement(FilterMemo, { key: item.name, name: item.name,
|
|
66
|
+
react_1.default.createElement("div", { className: b('filters') }, filters.map((item) => (react_1.default.createElement(FilterMemo, { key: item.name, name: item.name, value: filter[item.name], type: item.type, label: item.label, items: item.items }))))));
|
|
51
67
|
};
|
|
52
|
-
exports.
|
|
53
|
-
exports.default = react_1.default.memo(exports.
|
|
68
|
+
exports.Controls = Controls;
|
|
69
|
+
exports.default = react_1.default.memo(exports.Controls);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SelectOption as PcSelectOption, SelectProps } from '@gravity-ui/uikit';
|
|
2
|
+
import { SwitcherProps } from '../Switcher/Switcher';
|
|
3
|
+
type RenderSwitcherType = ({ initial, list, defaultLabel, }: {
|
|
4
|
+
initial: SwitcherProps['initial'];
|
|
5
|
+
list: SwitcherProps['list'];
|
|
6
|
+
defaultLabel: string;
|
|
7
|
+
}) => SelectProps['renderControl'];
|
|
8
|
+
export declare const renderSwitcher: RenderSwitcherType;
|
|
9
|
+
export declare const renderFilter: SelectProps['renderFilter'];
|
|
10
|
+
export declare const renderOption: (option: PcSelectOption) => JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderOption = exports.renderFilter = exports.renderSwitcher = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
const SelectOption_1 = require("../SelectOption/SelectOption");
|
|
9
|
+
const Switcher_1 = require("../Switcher/Switcher");
|
|
10
|
+
const i18n_1 = require("../i18n");
|
|
11
|
+
const b = (0, utils_1.block)('feed-header-controls');
|
|
12
|
+
const renderSwitcher = ({ initial, list, defaultLabel }) => {
|
|
13
|
+
const WrapSwitcher = ({ onClick, ref, onKeyDown, open, renderClear, popupId, activeIndex, }) => {
|
|
14
|
+
return (react_1.default.createElement(Switcher_1.Switcher, { initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, onClick: onClick, onKeyDown: onKeyDown, renderClear: renderClear, open: open, popupId: popupId, activeIndex: activeIndex }));
|
|
15
|
+
};
|
|
16
|
+
return WrapSwitcher;
|
|
17
|
+
};
|
|
18
|
+
exports.renderSwitcher = renderSwitcher;
|
|
19
|
+
const renderFilter = ({ value, onChange, onKeyDown }) => {
|
|
20
|
+
return (react_1.default.createElement(uikit_1.TextInput, { controlProps: { size: 1 }, value: value, view: 'clear', placeholder: (0, i18n_1.i18n)('search'), onUpdate: onChange, onKeyDown: onKeyDown, className: b('popup-filter') }));
|
|
21
|
+
};
|
|
22
|
+
exports.renderFilter = renderFilter;
|
|
23
|
+
const renderOption = (option) => {
|
|
24
|
+
return react_1.default.createElement(SelectOption_1.SelectOption, { data: option });
|
|
25
|
+
};
|
|
26
|
+
exports.renderOption = renderOption;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/* use this for style redefinitions to awoid problems with
|
|
2
2
|
unpredictable css rules order in build */
|
|
3
|
-
.pc-
|
|
3
|
+
.pc-feed-header {
|
|
4
4
|
padding: 16px 0;
|
|
5
5
|
}
|
|
6
|
-
.pc-
|
|
6
|
+
.pc-feed-header__content {
|
|
7
7
|
position: relative;
|
|
8
8
|
z-index: 10;
|
|
9
9
|
height: 100%;
|
|
10
10
|
padding-bottom: 0;
|
|
11
11
|
}
|
|
12
|
-
.pc-
|
|
12
|
+
.pc-feed-header__background {
|
|
13
13
|
position: absolute;
|
|
14
14
|
top: 0;
|
|
15
15
|
left: 50%;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ControlsProps } from './Controls/Controls';
|
|
3
|
+
interface FeedHeaderProps extends ControlsProps {
|
|
4
|
+
image?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const FeedHeader: ({ title, image }: FeedHeaderProps) => JSX.Element;
|
|
7
|
+
declare const _default: React.MemoExoticComponent<({ title, image }: FeedHeaderProps) => JSX.Element>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FeedHeader = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const components_1 = require("../../components");
|
|
7
|
+
const grid_1 = require("../../grid");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
const Controls_1 = tslib_1.__importDefault(require("./Controls/Controls"));
|
|
10
|
+
const b = (0, utils_1.block)('feed-header');
|
|
11
|
+
const FeedHeader = ({ title, image }) => {
|
|
12
|
+
return (react_1.default.createElement("div", { className: b() },
|
|
13
|
+
react_1.default.createElement(grid_1.Grid, { className: b('content') },
|
|
14
|
+
image && react_1.default.createElement(components_1.BackgroundImage, { src: image, className: b('background') }),
|
|
15
|
+
react_1.default.createElement(Controls_1.default, { title: title }))));
|
|
16
|
+
};
|
|
17
|
+
exports.FeedHeader = FeedHeader;
|
|
18
|
+
exports.default = react_1.default.memo(exports.FeedHeader);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* use this for style redefinitions to awoid problems with
|
|
2
2
|
unpredictable css rules order in build */
|
|
3
|
-
.pc-
|
|
3
|
+
.pc-feed-header-search {
|
|
4
4
|
position: relative;
|
|
5
5
|
display: flex;
|
|
6
6
|
justify-content: flex-end;
|
|
@@ -9,7 +9,7 @@ unpredictable css rules order in build */
|
|
|
9
9
|
line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
|
|
10
10
|
transition: width 0.3s;
|
|
11
11
|
}
|
|
12
|
-
.pc-
|
|
12
|
+
.pc-feed-header-search__input-icon {
|
|
13
13
|
display: flex;
|
|
14
14
|
padding-right: 7px;
|
|
15
15
|
font: inherit;
|
|
@@ -18,7 +18,7 @@ unpredictable css rules order in build */
|
|
|
18
18
|
border: none;
|
|
19
19
|
background: none;
|
|
20
20
|
}
|
|
21
|
-
.pc-
|
|
21
|
+
.pc-feed-header-search__suggest {
|
|
22
22
|
display: flex;
|
|
23
23
|
align-items: center;
|
|
24
24
|
height: 44px;
|
|
@@ -26,20 +26,20 @@ unpredictable css rules order in build */
|
|
|
26
26
|
border-radius: var(--bc-text-input-border-radius);
|
|
27
27
|
background-color: var(--g-color-base-background);
|
|
28
28
|
}
|
|
29
|
-
.pc-
|
|
29
|
+
.pc-feed-header-search__suggest:hover, .pc-feed-header-search__suggest:focus {
|
|
30
30
|
border: 1px solid var(--g-color-base-generic-hover);
|
|
31
31
|
}
|
|
32
|
-
.pc-
|
|
32
|
+
.pc-feed-header-search__control.pc-feed-header-search__control {
|
|
33
33
|
padding-right: 32px;
|
|
34
34
|
padding-left: 12px;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
.pc-
|
|
37
|
+
.pc-feed-header-search_size_s {
|
|
38
38
|
--bc-text-input-border-radius: var(--g-border-radius-l);
|
|
39
39
|
width: 352px;
|
|
40
40
|
max-width: 100%;
|
|
41
41
|
height: 36px;
|
|
42
42
|
}
|
|
43
|
-
.pc-
|
|
43
|
+
.pc-feed-header-search_size_m {
|
|
44
44
|
--bc-text-input-border-radius: var(--g-border-radius-xl);
|
|
45
45
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type SearchSize = 's' | 'm';
|
|
2
|
+
type SearchProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
initialValue?: string;
|
|
5
|
+
onSubmit: (value: string) => void;
|
|
6
|
+
debounce?: number;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
size?: SearchSize;
|
|
9
|
+
};
|
|
10
|
+
export declare const Search: ({ className, initialValue, onSubmit, debounce, placeholder, size, }: SearchProps) => JSX.Element;
|
|
11
|
+
export default Search;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Search = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
7
|
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
8
|
-
const CloseIcon_1 = require("
|
|
9
|
-
const SearchIcon_1 = require("
|
|
10
|
-
const utils_1 = require("
|
|
11
|
-
const i18n_1 = require("
|
|
12
|
-
const b = (0, utils_1.block)('
|
|
8
|
+
const CloseIcon_1 = require("../../../icons/CloseIcon");
|
|
9
|
+
const SearchIcon_1 = require("../../../icons/SearchIcon");
|
|
10
|
+
const utils_1 = require("../../../utils");
|
|
11
|
+
const i18n_1 = require("../i18n");
|
|
12
|
+
const b = (0, utils_1.block)('feed-header-search');
|
|
13
13
|
const SEARCH_ICON_SIZE = 16;
|
|
14
14
|
const CLOSE_ICON_SIZE = 12;
|
|
15
|
-
const
|
|
15
|
+
const Search = ({ className, initialValue, onSubmit, debounce = 300, placeholder, size = 'm', }) => {
|
|
16
16
|
const handleChange = (0, debounce_1.default)(onSubmit, debounce);
|
|
17
17
|
const [isSetInitValue, setIsSetInitValue] = (0, react_1.useState)(false);
|
|
18
18
|
const [value, setValue] = (0, react_1.useState)(initialValue);
|
|
@@ -45,5 +45,5 @@ const EventsFeedHeaderSearch = ({ className, initialValue, onSubmit, debounce =
|
|
|
45
45
|
className: b('control'),
|
|
46
46
|
}, rightContent: rightContent })));
|
|
47
47
|
};
|
|
48
|
-
exports.
|
|
49
|
-
exports.default = exports.
|
|
48
|
+
exports.Search = Search;
|
|
49
|
+
exports.default = exports.Search;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* use this for style redefinitions to awoid problems with
|
|
2
2
|
unpredictable css rules order in build */
|
|
3
|
-
.pc-
|
|
3
|
+
.pc-feed-header-select-option {
|
|
4
4
|
display: flex;
|
|
5
5
|
font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
|
|
6
6
|
line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
|