@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.
Files changed (202) hide show
  1. package/build/cjs/blocks/BlogFeed/BlogFeed.d.ts +3 -0
  2. package/build/cjs/blocks/BlogFeed/BlogFeed.js +12 -0
  3. package/build/cjs/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.css +6 -0
  4. package/build/cjs/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.d.ts +4 -0
  5. package/build/cjs/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.js +32 -0
  6. package/build/cjs/blocks/BlogFeed/schema.d.ts +18 -0
  7. package/build/cjs/blocks/BlogFeed/schema.js +15 -0
  8. package/build/cjs/blocks/EventsFeed/EventsFeed.js +2 -2
  9. package/build/cjs/blocks/EventsFeed/EventsFeedRecent/EventsFeedRecent.js +2 -2
  10. package/build/cjs/blocks/EventsFeed/EventsFeedUpcoming/EventsFeedUpcoming.js +2 -2
  11. package/build/cjs/blocks/EventsFeed/i18n/en.json +1 -3
  12. package/build/cjs/blocks/EventsFeed/i18n/index.d.ts +1 -1
  13. package/build/cjs/blocks/EventsFeed/i18n/ru.json +1 -3
  14. package/build/cjs/blocks/index.d.ts +1 -0
  15. package/build/cjs/blocks/index.js +3 -1
  16. package/build/cjs/components/CardBase/CardBase.d.ts +1 -0
  17. package/build/cjs/components/CardBase/CardBase.js +6 -3
  18. package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.css → cjs/components/FeedHeader/Controls/Controls.css} +15 -14
  19. package/build/cjs/components/FeedHeader/Controls/Controls.d.ts +7 -0
  20. package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.js → components/FeedHeader/Controls/Controls.js} +31 -15
  21. package/build/cjs/components/FeedHeader/Controls/customRenders.d.ts +11 -0
  22. package/build/cjs/components/FeedHeader/Controls/customRenders.js +26 -0
  23. package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.css → cjs/components/FeedHeader/FeedHeader.css} +3 -3
  24. package/build/cjs/components/FeedHeader/FeedHeader.d.ts +8 -0
  25. package/build/cjs/components/FeedHeader/FeedHeader.js +18 -0
  26. package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.css → cjs/components/FeedHeader/Search/Search.css} +7 -7
  27. package/build/cjs/components/FeedHeader/Search/Search.d.ts +11 -0
  28. package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.js → components/FeedHeader/Search/Search.js} +9 -9
  29. package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.css → components/FeedHeader/SelectOption/SelectOption.css} +1 -1
  30. package/build/cjs/components/FeedHeader/SelectOption/SelectOption.d.ts +6 -0
  31. package/build/cjs/components/FeedHeader/SelectOption/SelectOption.js +13 -0
  32. package/build/{esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.css → cjs/components/FeedHeader/Switcher/Switcher.css} +13 -13
  33. package/build/cjs/components/FeedHeader/Switcher/Switcher.d.ts +11 -0
  34. package/build/cjs/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.js → components/FeedHeader/Switcher/Switcher.js} +8 -8
  35. package/build/cjs/components/FeedHeader/i18n/en.json +4 -0
  36. package/build/cjs/components/FeedHeader/i18n/index.d.ts +1 -0
  37. package/build/cjs/components/FeedHeader/i18n/index.js +9 -0
  38. package/build/cjs/components/FeedHeader/i18n/ru.json +4 -0
  39. package/build/cjs/components/Image/Image.d.ts +2 -1
  40. package/build/cjs/components/Image/Image.js +2 -2
  41. package/build/cjs/constructor-items.d.ts +3 -0
  42. package/build/cjs/constructor-items.js +3 -0
  43. package/build/cjs/context/blogPostsContext/BlogPostsContext.d.ts +22 -0
  44. package/build/cjs/context/blogPostsContext/BlogPostsContext.js +11 -0
  45. package/build/cjs/context/blogPostsContext/index.d.ts +1 -0
  46. package/build/cjs/context/blogPostsContext/index.js +4 -0
  47. package/build/cjs/context/eventsContext/EventsContext.d.ts +1 -26
  48. package/build/cjs/context/eventsContext/EventsContext.js +1 -10
  49. package/build/cjs/context/feedHeaderContext/FeedHeaderContext.d.ts +22 -0
  50. package/build/cjs/context/feedHeaderContext/FeedHeaderContext.js +14 -0
  51. package/build/cjs/context/feedHeaderContext/index.d.ts +1 -0
  52. package/build/cjs/context/feedHeaderContext/index.js +4 -0
  53. package/build/cjs/grid/Col/Col.d.ts +1 -1
  54. package/build/cjs/icons/CloseIcon.js +2 -1
  55. package/build/cjs/icons/DropdownArrowIcon.js +2 -1
  56. package/build/cjs/icons/SearchIcon.js +2 -1
  57. package/build/cjs/icons/TimeIcon.d.ts +2 -0
  58. package/build/cjs/icons/TimeIcon.js +9 -0
  59. package/build/cjs/index.d.ts +2 -0
  60. package/build/cjs/index.js +2 -0
  61. package/build/cjs/models/constructor-items/blocks.d.ts +9 -1
  62. package/build/cjs/models/constructor-items/blocks.js +1 -0
  63. package/build/cjs/models/constructor-items/common.d.ts +1 -0
  64. package/build/cjs/models/constructor-items/sub-blocks.d.ts +47 -2
  65. package/build/cjs/models/constructor-items/sub-blocks.js +13 -1
  66. package/build/cjs/schema/constants.d.ts +74 -0
  67. package/build/cjs/schema/constants.js +5 -2
  68. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  69. package/build/cjs/schema/validators/blocks.js +1 -0
  70. package/build/cjs/schema/validators/sub-blocks.d.ts +2 -0
  71. package/build/cjs/schema/validators/sub-blocks.js +2 -0
  72. package/build/cjs/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.css → sub-blocks/FeedCard/FeedCard.css} +20 -10
  73. package/build/cjs/sub-blocks/FeedCard/FeedCard.d.ts +5 -0
  74. package/build/cjs/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.js → sub-blocks/FeedCard/FeedCard.js} +9 -8
  75. package/build/cjs/sub-blocks/FeedCard/schema.d.ts +32 -0
  76. package/build/cjs/sub-blocks/FeedCard/schema.js +25 -0
  77. package/build/cjs/sub-blocks/PostCard/PostCard.css +127 -0
  78. package/build/cjs/sub-blocks/PostCard/PostCard.d.ts +4 -0
  79. package/build/cjs/sub-blocks/PostCard/PostCard.js +39 -0
  80. package/build/cjs/sub-blocks/PostCard/i18n/en.json +3 -0
  81. package/build/cjs/sub-blocks/PostCard/i18n/index.d.ts +1 -0
  82. package/build/cjs/sub-blocks/PostCard/i18n/index.js +9 -0
  83. package/build/cjs/sub-blocks/PostCard/i18n/ru.json +3 -0
  84. package/build/cjs/sub-blocks/PostCard/schema.d.ts +46 -0
  85. package/build/cjs/sub-blocks/PostCard/schema.js +38 -0
  86. package/build/cjs/sub-blocks/index.d.ts +2 -0
  87. package/build/cjs/sub-blocks/index.js +5 -1
  88. package/build/esm/blocks/BlogFeed/BlogFeed.d.ts +3 -0
  89. package/build/esm/blocks/BlogFeed/BlogFeed.js +7 -0
  90. package/build/esm/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.css +6 -0
  91. package/build/esm/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.d.ts +5 -0
  92. package/build/esm/blocks/BlogFeed/BlogFeedPosts/BlogFeedPosts.js +28 -0
  93. package/build/esm/blocks/BlogFeed/schema.d.ts +18 -0
  94. package/build/esm/blocks/BlogFeed/schema.js +12 -0
  95. package/build/esm/blocks/EventsFeed/EventsFeed.js +2 -2
  96. package/build/esm/blocks/EventsFeed/EventsFeedRecent/EventsFeedRecent.js +2 -2
  97. package/build/esm/blocks/EventsFeed/EventsFeedUpcoming/EventsFeedUpcoming.js +2 -2
  98. package/build/esm/blocks/EventsFeed/i18n/en.json +1 -3
  99. package/build/esm/blocks/EventsFeed/i18n/index.d.ts +1 -1
  100. package/build/esm/blocks/EventsFeed/i18n/ru.json +1 -3
  101. package/build/esm/blocks/index.d.ts +1 -0
  102. package/build/esm/blocks/index.js +1 -0
  103. package/build/esm/components/CardBase/CardBase.d.ts +1 -0
  104. package/build/esm/components/CardBase/CardBase.js +6 -3
  105. package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.css → esm/components/FeedHeader/Controls/Controls.css} +15 -14
  106. package/build/esm/components/FeedHeader/Controls/Controls.d.ts +8 -0
  107. package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.js → components/FeedHeader/Controls/Controls.js} +30 -14
  108. package/build/esm/components/FeedHeader/Controls/customRenders.d.ts +12 -0
  109. package/build/esm/components/FeedHeader/Controls/customRenders.js +20 -0
  110. package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.css → esm/components/FeedHeader/FeedHeader.css} +3 -3
  111. package/build/esm/components/FeedHeader/FeedHeader.d.ts +9 -0
  112. package/build/esm/components/FeedHeader/FeedHeader.js +14 -0
  113. package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.css → esm/components/FeedHeader/Search/Search.css} +7 -7
  114. package/build/esm/components/FeedHeader/Search/Search.d.ts +12 -0
  115. package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.js → components/FeedHeader/Search/Search.js} +8 -8
  116. package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.css → components/FeedHeader/SelectOption/SelectOption.css} +1 -1
  117. package/build/esm/components/FeedHeader/SelectOption/SelectOption.d.ts +7 -0
  118. package/build/esm/components/FeedHeader/SelectOption/SelectOption.js +9 -0
  119. package/build/{cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.css → esm/components/FeedHeader/Switcher/Switcher.css} +13 -13
  120. package/build/esm/components/FeedHeader/Switcher/Switcher.d.ts +12 -0
  121. package/build/esm/{blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.js → components/FeedHeader/Switcher/Switcher.js} +7 -7
  122. package/build/esm/components/FeedHeader/i18n/en.json +4 -0
  123. package/build/esm/components/FeedHeader/i18n/index.d.ts +1 -0
  124. package/build/esm/components/FeedHeader/i18n/index.js +5 -0
  125. package/build/esm/components/FeedHeader/i18n/ru.json +4 -0
  126. package/build/esm/components/Image/Image.d.ts +2 -1
  127. package/build/esm/components/Image/Image.js +2 -2
  128. package/build/esm/constructor-items.d.ts +3 -0
  129. package/build/esm/constructor-items.js +5 -2
  130. package/build/esm/context/blogPostsContext/BlogPostsContext.d.ts +22 -0
  131. package/build/esm/context/blogPostsContext/BlogPostsContext.js +7 -0
  132. package/build/esm/context/blogPostsContext/index.d.ts +1 -0
  133. package/build/esm/context/blogPostsContext/index.js +1 -0
  134. package/build/esm/context/eventsContext/EventsContext.d.ts +1 -26
  135. package/build/esm/context/eventsContext/EventsContext.js +0 -9
  136. package/build/esm/context/feedHeaderContext/FeedHeaderContext.d.ts +22 -0
  137. package/build/esm/context/feedHeaderContext/FeedHeaderContext.js +10 -0
  138. package/build/esm/context/feedHeaderContext/index.d.ts +1 -0
  139. package/build/esm/context/feedHeaderContext/index.js +1 -0
  140. package/build/esm/grid/Col/Col.d.ts +1 -1
  141. package/build/esm/icons/CloseIcon.js +2 -1
  142. package/build/esm/icons/DropdownArrowIcon.js +2 -1
  143. package/build/esm/icons/SearchIcon.js +2 -1
  144. package/build/esm/icons/TimeIcon.d.ts +2 -0
  145. package/build/esm/icons/TimeIcon.js +4 -0
  146. package/build/esm/index.d.ts +2 -0
  147. package/build/esm/index.js +2 -0
  148. package/build/esm/models/constructor-items/blocks.d.ts +9 -1
  149. package/build/esm/models/constructor-items/blocks.js +1 -0
  150. package/build/esm/models/constructor-items/common.d.ts +1 -0
  151. package/build/esm/models/constructor-items/sub-blocks.d.ts +47 -2
  152. package/build/esm/models/constructor-items/sub-blocks.js +12 -0
  153. package/build/esm/schema/constants.d.ts +74 -0
  154. package/build/esm/schema/constants.js +7 -4
  155. package/build/esm/schema/validators/blocks.d.ts +1 -0
  156. package/build/esm/schema/validators/blocks.js +1 -0
  157. package/build/esm/schema/validators/sub-blocks.d.ts +2 -0
  158. package/build/esm/schema/validators/sub-blocks.js +2 -0
  159. package/build/esm/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.css → sub-blocks/FeedCard/FeedCard.css} +20 -10
  160. package/build/esm/sub-blocks/FeedCard/FeedCard.d.ts +6 -0
  161. package/build/esm/{blocks/EventsFeed/EventsFeedCard/EventsFeedCard.js → sub-blocks/FeedCard/FeedCard.js} +8 -7
  162. package/build/esm/sub-blocks/FeedCard/schema.d.ts +32 -0
  163. package/build/esm/sub-blocks/FeedCard/schema.js +22 -0
  164. package/build/esm/sub-blocks/PostCard/PostCard.css +127 -0
  165. package/build/esm/sub-blocks/PostCard/PostCard.d.ts +5 -0
  166. package/build/esm/sub-blocks/PostCard/PostCard.js +37 -0
  167. package/build/esm/sub-blocks/PostCard/i18n/en.json +3 -0
  168. package/build/esm/sub-blocks/PostCard/i18n/index.d.ts +1 -0
  169. package/build/esm/sub-blocks/PostCard/i18n/index.js +5 -0
  170. package/build/esm/sub-blocks/PostCard/i18n/ru.json +3 -0
  171. package/build/esm/sub-blocks/PostCard/schema.d.ts +46 -0
  172. package/build/esm/sub-blocks/PostCard/schema.js +35 -0
  173. package/build/esm/sub-blocks/index.d.ts +2 -0
  174. package/build/esm/sub-blocks/index.js +2 -0
  175. package/package.json +1 -1
  176. package/schema/index.js +1 -1
  177. package/server/models/constructor-items/blocks.d.ts +9 -1
  178. package/server/models/constructor-items/blocks.js +1 -0
  179. package/server/models/constructor-items/common.d.ts +1 -0
  180. package/server/models/constructor-items/sub-blocks.d.ts +47 -2
  181. package/server/models/constructor-items/sub-blocks.js +13 -1
  182. package/widget/index.js +1 -1
  183. package/build/cjs/blocks/EventsFeed/EventsFeedCard/EventsFeedCard.d.ts +0 -12
  184. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.d.ts +0 -8
  185. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.js +0 -18
  186. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.d.ts +0 -7
  187. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.d.ts +0 -11
  188. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.js +0 -26
  189. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.d.ts +0 -11
  190. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.d.ts +0 -6
  191. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.js +0 -13
  192. package/build/cjs/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.d.ts +0 -11
  193. package/build/esm/blocks/EventsFeed/EventsFeedCard/EventsFeedCard.d.ts +0 -13
  194. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.d.ts +0 -9
  195. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeader.js +0 -14
  196. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/EventsFeedHeaderControls.d.ts +0 -8
  197. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.d.ts +0 -12
  198. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderControls/customRenders.js +0 -20
  199. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSearch/EventsFeedHeaderSearch.d.ts +0 -12
  200. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.d.ts +0 -7
  201. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSelectOption/EventsFeedHeaderSelectOption.js +0 -9
  202. package/build/esm/blocks/EventsFeed/EventsFeedHeader/EventsFeedHeaderSwitcher/EventsFeedHeaderSwitcher.d.ts +0 -12
@@ -0,0 +1,3 @@
1
+ import { BlogFeedBlockProps } from '../../models';
2
+ export declare const BlogFeedBlock: ({ image, title }: BlogFeedBlockProps) => JSX.Element;
3
+ export default BlogFeedBlock;
@@ -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,6 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-blog-feed-posts__wrap {
4
+ padding-top: 24px;
5
+ scroll-margin: 48px;
6
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const BlogFeedPosts: () => JSX.Element | null;
3
+ declare const _default: React.MemoExoticComponent<() => JSX.Element | null>;
4
+ export default _default;
@@ -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 EventsFeedHeader_1 = tslib_1.__importDefault(require("./EventsFeedHeader/EventsFeedHeader"));
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(EventsFeedHeader_1.default, { image: image, title: title }),
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(EventsFeedCard_1.default, Object.assign({ key: item.slug }, item))))),
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(EventsFeedCard_1.default, Object.assign({ key: item.slug }, item)))))));
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,5 +1,3 @@
1
1
  {
2
- "search": "Search",
3
- "recent_events": "Recent events",
4
- "clear": "Clear"
2
+ "recent_events": "Recent events"
5
3
  }
@@ -1 +1 @@
1
- export declare const i18n: (key: "search" | "clear" | "recent_events", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ export declare const i18n: (key: "recent_events", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -1,5 +1,3 @@
1
1
  {
2
- "search": "Поиск",
3
- "recent_events": "Последние события",
4
- "clear": "Очистить"
2
+ "recent_events": "Последние события"
5
3
  }
@@ -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-events-feed-header-controls {
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-events-feed-header-controls__title, .pc-events-feed-header-controls__filters {
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-events-feed-header-controls__title {
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-events-feed-header-controls__filter-input, .pc-events-feed-header-controls__filter-select {
23
+ .pc-feed-header-controls__filter-input, .pc-feed-header-controls__filter-select {
23
24
  width: 100%;
24
25
  }
25
- .pc-events-feed-header-controls__popup {
26
+ .pc-feed-header-controls__popup {
26
27
  max-height: 500px;
27
28
  border-radius: 12px;
28
29
  }
29
- .pc-events-feed-header-controls__popup .g-select-list::-webkit-scrollbar {
30
+ .pc-feed-header-controls__popup .g-select-list::-webkit-scrollbar {
30
31
  display: none;
31
32
  }
32
- .pc-events-feed-header-controls__popup .g-select-list .g-list {
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-events-feed-header-controls__popup .g-list__item {
36
+ .pc-feed-header-controls__popup .g-list__item {
36
37
  margin: 4px;
37
38
  border-radius: 8px;
38
39
  }
39
- .pc-events-feed-header-controls__popup_mobile {
40
+ .pc-feed-header-controls__popup_mobile {
40
41
  max-height: inherit;
41
42
  }
42
- .pc-events-feed-header-controls__popup_mobile .pc-events-feed-header-controls__popup-filter {
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-events-feed-header-controls__popup_mobile .pc-events-feed-header-controls__popup-filter::before {
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-events-feed-header-controls__popup-filter {
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-events-feed-header-controls__filter-item {
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-events-feed-header-controls__filter-item {
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.EventsFeedHeaderControls = void 0;
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 eventsContext_1 = require("../../../../context/eventsContext");
8
- const mobileContext_1 = require("../../../../context/mobileContext");
9
- const utils_1 = require("../../../../utils");
10
- const EventsFeedHeaderSearch_1 = require("../EventsFeedHeaderSearch/EventsFeedHeaderSearch");
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)('events-feed-header-controls');
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(EventsFeedHeaderSearch_1.EventsFeedHeaderSearch, { className: b('filter-input'), placeholder: label, initialValue: value, onSubmit: onChange })));
16
- const FilterSelect = ({ label, value, onChange, items = [], }) => {
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)(eventsContext_1.EventsHeaderFunctionsContext);
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 EventsFeedHeaderControls = ({ title }) => {
46
- const { filter } = (0, react_1.useContext)(eventsContext_1.EventsHeaderFilterContext);
47
- const { filters } = (0, react_1.useContext)(eventsContext_1.EventsHeaderFiltersContext);
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, type: item.type, value: filter[item.name], label: item.label, items: item.items }))))));
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.EventsFeedHeaderControls = EventsFeedHeaderControls;
53
- exports.default = react_1.default.memo(exports.EventsFeedHeaderControls);
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-events-feed-header {
3
+ .pc-feed-header {
4
4
  padding: 16px 0;
5
5
  }
6
- .pc-events-feed-header__content {
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-events-feed-header__background {
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-events-feed-header-search {
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-events-feed-header-search__input-icon {
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-events-feed-header-search__suggest {
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-events-feed-header-search__suggest:hover, .pc-events-feed-header-search__suggest:focus {
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-events-feed-header-search__control.pc-events-feed-header-search__control {
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-events-feed-header-search_size_s {
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-events-feed-header-search_size_m {
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.EventsFeedHeaderSearch = void 0;
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("../../../../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)('events-feed-header-search');
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 EventsFeedHeaderSearch = ({ className, initialValue, onSubmit, debounce = 300, placeholder, size = 'm', }) => {
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.EventsFeedHeaderSearch = EventsFeedHeaderSearch;
49
- exports.default = exports.EventsFeedHeaderSearch;
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-events-feed-header-select-option {
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));