@doyourjob/gravity-ui-page-constructor 5.31.122 → 5.31.124

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 (48) hide show
  1. package/build/cjs/blocks/FilterCardLayout/FilterCardLayout.css +51 -0
  2. package/build/cjs/blocks/FilterCardLayout/FilterCardLayout.d.ts +4 -0
  3. package/build/cjs/blocks/FilterCardLayout/FilterCardLayout.js +46 -0
  4. package/build/cjs/blocks/FilterCardLayout/i18n/en.json +3 -0
  5. package/build/cjs/blocks/FilterCardLayout/i18n/index.d.ts +1 -0
  6. package/build/cjs/blocks/FilterCardLayout/i18n/index.js +9 -0
  7. package/build/cjs/blocks/FilterCardLayout/i18n/ru.json +3 -0
  8. package/build/cjs/blocks/FilterCardLayout/schema.d.ts +319 -0
  9. package/build/cjs/blocks/FilterCardLayout/schema.js +49 -0
  10. package/build/cjs/blocks/index.d.ts +1 -0
  11. package/build/cjs/blocks/index.js +3 -1
  12. package/build/cjs/components/Filters/FilterMultipleSelect/FilterMultipleSelect.js +1 -1
  13. package/build/cjs/components/Filters/FilterSelect/FilterSelect.js +1 -1
  14. package/build/cjs/constructor-items.d.ts +1 -0
  15. package/build/cjs/constructor-items.js +1 -0
  16. package/build/cjs/models/constructor-items/blocks.d.ts +17 -1
  17. package/build/cjs/models/constructor-items/blocks.js +1 -0
  18. package/build/cjs/schema/constants.js +2 -1
  19. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  20. package/build/cjs/schema/validators/blocks.js +1 -0
  21. package/build/cjs/text-transform/config.js +13 -0
  22. package/build/esm/blocks/FilterCardLayout/FilterCardLayout.css +51 -0
  23. package/build/esm/blocks/FilterCardLayout/FilterCardLayout.d.ts +5 -0
  24. package/build/esm/blocks/FilterCardLayout/FilterCardLayout.js +45 -0
  25. package/build/esm/blocks/FilterCardLayout/i18n/en.json +3 -0
  26. package/build/esm/blocks/FilterCardLayout/i18n/index.d.ts +1 -0
  27. package/build/esm/blocks/FilterCardLayout/i18n/index.js +5 -0
  28. package/build/esm/blocks/FilterCardLayout/i18n/ru.json +3 -0
  29. package/build/esm/blocks/FilterCardLayout/schema.d.ts +319 -0
  30. package/build/esm/blocks/FilterCardLayout/schema.js +46 -0
  31. package/build/esm/blocks/index.d.ts +1 -0
  32. package/build/esm/blocks/index.js +1 -0
  33. package/build/esm/components/Filters/FilterMultipleSelect/FilterMultipleSelect.js +1 -1
  34. package/build/esm/components/Filters/FilterSelect/FilterSelect.js +1 -1
  35. package/build/esm/constructor-items.d.ts +1 -0
  36. package/build/esm/constructor-items.js +2 -1
  37. package/build/esm/models/constructor-items/blocks.d.ts +17 -1
  38. package/build/esm/models/constructor-items/blocks.js +1 -0
  39. package/build/esm/schema/constants.js +3 -2
  40. package/build/esm/schema/validators/blocks.d.ts +1 -0
  41. package/build/esm/schema/validators/blocks.js +1 -0
  42. package/build/esm/text-transform/config.js +13 -0
  43. package/package.json +1 -1
  44. package/schema/index.js +1 -1
  45. package/server/models/constructor-items/blocks.d.ts +17 -1
  46. package/server/models/constructor-items/blocks.js +1 -0
  47. package/server/text-transform/config.js +13 -0
  48. package/widget/index.js +1 -1
@@ -0,0 +1,51 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-filter-card-layout__title {
4
+ margin-bottom: 24px;
5
+ }
6
+ .pc-filter-card-layout__title_centered {
7
+ text-align: center;
8
+ }
9
+ .pc-filter-card-layout__title_centered > * {
10
+ margin: 0 auto;
11
+ }
12
+ .pc-filter-card-layout__tabs {
13
+ margin-bottom: 0;
14
+ display: flex;
15
+ flex-wrap: wrap;
16
+ justify-content: flex-start;
17
+ }
18
+ .pc-filter-card-layout__tabs_centered {
19
+ justify-content: center;
20
+ }
21
+ @media (max-width: 769px) {
22
+ .pc-filter-card-layout__tabs {
23
+ flex-wrap: nowrap;
24
+ justify-content: flex-start;
25
+ overflow: auto;
26
+ margin-left: -48px;
27
+ margin-right: -48px;
28
+ padding-left: 48px;
29
+ padding-right: 40px;
30
+ }
31
+ }
32
+ @media (max-width: 577px) {
33
+ .pc-filter-card-layout__tabs {
34
+ margin-left: -24px;
35
+ margin-right: -24px;
36
+ padding-left: 24px;
37
+ padding-right: 16px;
38
+ }
39
+ }
40
+ .row .pc-filter-card-layout__block-container.row {
41
+ margin: 0px;
42
+ }
43
+ .pc-filter-card-layout__block-container {
44
+ display: flex;
45
+ flex-direction: column;
46
+ gap: 32px;
47
+ padding-top: 20px;
48
+ }
49
+ .pc-filter-card-layout__container {
50
+ width: 100%;
51
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { FilterCardLayoutBlockProps } from '../../models';
3
+ declare const FilterCardLayoutBlock: React.FC<FilterCardLayoutBlockProps>;
4
+ export default FilterCardLayoutBlock;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const __1 = require("..");
6
+ const components_1 = require("../../components");
7
+ const ButtonTabs_1 = tslib_1.__importDefault(require("../../components/ButtonTabs/ButtonTabs"));
8
+ const ConstructorItem_1 = require("../../containers/PageConstructor/components/ConstructorItem");
9
+ const grid_1 = require("../../grid");
10
+ const utils_1 = require("../../utils");
11
+ const i18n_1 = require("./i18n");
12
+ const b = (0, utils_1.block)('filter-card-layout');
13
+ const FilterCardLayoutBlock = ({ title, description, tags, tagButtonSize, allTag, items, centered, animated, }) => {
14
+ const tabButtons = (0, react_1.useMemo)(() => {
15
+ const allButton = allTag
16
+ ? { id: null, title: typeof allTag === 'boolean' ? (0, i18n_1.i18n)('label-all-tag') : allTag }
17
+ : undefined;
18
+ const otherButtons = tags && tags.map((tag) => ({ id: tag.id, title: tag.label }));
19
+ return [...(allButton ? [allButton] : []), ...(otherButtons ? otherButtons : [])];
20
+ }, [allTag, tags]);
21
+ const [selectedTag, setSelectedTag] = (0, react_1.useState)(tabButtons.length ? tabButtons[0].id : null);
22
+ const actualTag = (0, react_1.useMemo)(() => {
23
+ return tabButtons.length && !tabButtons.find((tab) => tab.id === selectedTag)
24
+ ? tabButtons[0].id
25
+ : selectedTag;
26
+ }, [tabButtons, selectedTag]);
27
+ const layouts = (0, react_1.useMemo)(() => {
28
+ const itemsToShow = actualTag
29
+ ? items.filter((item) => item.tags.includes(actualTag))
30
+ : items;
31
+ return itemsToShow;
32
+ }, [actualTag, items]);
33
+ return (react_1.default.createElement(components_1.AnimateBlock, { className: b(), animate: animated },
34
+ title && (react_1.default.createElement(components_1.Title, { className: b('title', { centered: centered }), title: title, subtitle: description })),
35
+ Boolean(tabButtons.length) && (react_1.default.createElement(grid_1.Row, null,
36
+ react_1.default.createElement(grid_1.Col, null,
37
+ react_1.default.createElement(ButtonTabs_1.default, { className: b('tabs', { centered: centered }), items: tabButtons, activeTab: selectedTag, onSelectTab: setSelectedTag, tabSize: tagButtonSize })))),
38
+ react_1.default.createElement(grid_1.Row, { className: b('block-container') }, layouts.map((_a, index) => {
39
+ var { children } = _a, props = tslib_1.__rest(_a, ["children"]);
40
+ return (react_1.default.createElement(__1.CardLayoutBlock, Object.assign({ key: index }, props, { className: b('container') }), children === null || children === void 0 ? void 0 : children.map((child, _index) => {
41
+ const key = (0, utils_1.getBlockKey)(child, _index);
42
+ return react_1.default.createElement(ConstructorItem_1.ConstructorItem, { data: child, blockKey: key, key: key });
43
+ })));
44
+ }))));
45
+ };
46
+ exports.default = FilterCardLayoutBlock;
@@ -0,0 +1,3 @@
1
+ {
2
+ "label-all-tag": "All"
3
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "label-all-tag", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("@gravity-ui/uikit/i18n");
6
+ const cn_1 = require("../../../utils/cn");
7
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}FilterCardLayoutBlock`);
@@ -0,0 +1,3 @@
1
+ {
2
+ "label-all-tag": "Все"
3
+ }
@@ -0,0 +1,319 @@
1
+ export declare const FilterCardLayoutBlock: {
2
+ 'filter-card-layout-block': {
3
+ additionalProperties: boolean;
4
+ required: string[];
5
+ properties: {
6
+ allTag: {
7
+ oneOf: {
8
+ type: string;
9
+ optionName: string;
10
+ }[];
11
+ };
12
+ tags: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ properties: {
17
+ when: {
18
+ type: string;
19
+ };
20
+ };
21
+ };
22
+ };
23
+ items: {
24
+ type: string;
25
+ items: {
26
+ type: string;
27
+ properties: {
28
+ when: {
29
+ type: string;
30
+ };
31
+ };
32
+ };
33
+ };
34
+ tagButtonSize: {
35
+ type: string;
36
+ enum: string[];
37
+ };
38
+ centered: {
39
+ type: string;
40
+ };
41
+ title: {
42
+ oneOf: ({
43
+ type: string;
44
+ optionName: string;
45
+ } | {
46
+ optionName: string;
47
+ type: string;
48
+ additionalProperties: boolean;
49
+ required: string[];
50
+ properties: {
51
+ text: {
52
+ type: string;
53
+ contentType: string;
54
+ };
55
+ link: {
56
+ type: string;
57
+ additionalProperties: boolean;
58
+ required: string[];
59
+ properties: {
60
+ text: {
61
+ type: string;
62
+ contentType: string;
63
+ };
64
+ url: {
65
+ type: string;
66
+ };
67
+ urlTitle: {
68
+ type: string;
69
+ };
70
+ arrow: {
71
+ type: string;
72
+ };
73
+ theme: {
74
+ type: string;
75
+ enum: string[];
76
+ };
77
+ textSize: {
78
+ type: string;
79
+ enum: string[];
80
+ };
81
+ target: {
82
+ type: string;
83
+ enum: string[];
84
+ };
85
+ analyticsEvents: {
86
+ oneOf: ({
87
+ optionName: string;
88
+ type: string;
89
+ additionalProperties: {
90
+ type: string;
91
+ };
92
+ required: string[];
93
+ properties: {
94
+ name: {
95
+ type: string;
96
+ };
97
+ type: {
98
+ type: string;
99
+ };
100
+ counters: {
101
+ type: string;
102
+ additionalProperties: boolean;
103
+ required: never[];
104
+ properties: {
105
+ include: {
106
+ type: string;
107
+ items: {
108
+ type: string;
109
+ };
110
+ };
111
+ exclude: {
112
+ type: string;
113
+ items: {
114
+ type: string;
115
+ };
116
+ };
117
+ };
118
+ };
119
+ context: {
120
+ type: string;
121
+ };
122
+ };
123
+ items?: undefined;
124
+ } | {
125
+ type: string;
126
+ items: {
127
+ type: string;
128
+ additionalProperties: {
129
+ type: string;
130
+ };
131
+ required: string[];
132
+ properties: {
133
+ name: {
134
+ type: string;
135
+ };
136
+ type: {
137
+ type: string;
138
+ };
139
+ counters: {
140
+ type: string;
141
+ additionalProperties: boolean;
142
+ required: never[];
143
+ properties: {
144
+ include: {
145
+ type: string;
146
+ items: {
147
+ type: string;
148
+ };
149
+ };
150
+ exclude: {
151
+ type: string;
152
+ items: {
153
+ type: string;
154
+ };
155
+ };
156
+ };
157
+ };
158
+ context: {
159
+ type: string;
160
+ };
161
+ };
162
+ };
163
+ optionName: string;
164
+ })[];
165
+ };
166
+ type: {};
167
+ when: {
168
+ type: string;
169
+ };
170
+ };
171
+ };
172
+ textSize: {
173
+ type: string;
174
+ enum: string[];
175
+ };
176
+ url: {
177
+ type: string;
178
+ };
179
+ urlTitle: {
180
+ type: string;
181
+ };
182
+ resetMargin: {
183
+ type: string;
184
+ };
185
+ };
186
+ })[];
187
+ };
188
+ description: {
189
+ type: string;
190
+ contentType: string;
191
+ inputType: string;
192
+ };
193
+ animated: {
194
+ type: string;
195
+ };
196
+ anchor: {
197
+ type: string;
198
+ additionalProperties: boolean;
199
+ required: string[];
200
+ properties: {
201
+ text: {
202
+ type: string;
203
+ contentType: string;
204
+ };
205
+ url: {
206
+ type: string;
207
+ };
208
+ urlTitle: {
209
+ type: string;
210
+ };
211
+ };
212
+ };
213
+ visibility: {
214
+ oneOf: ({
215
+ type: string;
216
+ enum: string[];
217
+ additionalProperties?: undefined;
218
+ properties?: undefined;
219
+ } | {
220
+ type: string;
221
+ additionalProperties: boolean;
222
+ properties: {
223
+ xs: {
224
+ type: string;
225
+ };
226
+ sm: {
227
+ type: string;
228
+ };
229
+ md: {
230
+ type: string;
231
+ };
232
+ lg: {
233
+ type: string;
234
+ };
235
+ xl: {
236
+ type: string;
237
+ };
238
+ xxl: {
239
+ type: string;
240
+ };
241
+ };
242
+ enum?: undefined;
243
+ })[];
244
+ };
245
+ visible: {
246
+ type: string;
247
+ enum: string[];
248
+ };
249
+ hidden: {
250
+ type: string;
251
+ enum: string[];
252
+ };
253
+ resetPaddings: {
254
+ type: string;
255
+ };
256
+ context: {
257
+ type: string;
258
+ };
259
+ indent: {
260
+ type: string;
261
+ additionalProperties: boolean;
262
+ properties: {
263
+ top: {
264
+ enum: string[];
265
+ };
266
+ bottom: {
267
+ enum: string[];
268
+ };
269
+ };
270
+ };
271
+ backgroundFull: {
272
+ type: string;
273
+ };
274
+ blockBackground: {
275
+ oneOf: ({
276
+ type: string;
277
+ additionalProperties?: undefined;
278
+ properties?: undefined;
279
+ } | {
280
+ type: string;
281
+ additionalProperties: boolean;
282
+ properties: {
283
+ color: {
284
+ type: string;
285
+ };
286
+ image: {
287
+ type: string;
288
+ };
289
+ size: {
290
+ type: string;
291
+ };
292
+ repeat: {
293
+ type: string;
294
+ };
295
+ position: {
296
+ type: string;
297
+ };
298
+ attachment: {
299
+ type: string;
300
+ };
301
+ clip: {
302
+ type: string;
303
+ };
304
+ origin: {
305
+ type: string;
306
+ };
307
+ blendMode: {
308
+ type: string;
309
+ };
310
+ };
311
+ })[];
312
+ };
313
+ type: {};
314
+ when: {
315
+ type: string;
316
+ };
317
+ };
318
+ };
319
+ };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterCardLayoutBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ const utils_1 = require("../../schema/validators/utils");
6
+ const validators_1 = require("../validators");
7
+ const FilterCardLayoutTagProps = {
8
+ additionalProperties: false,
9
+ required: ['id', 'label'],
10
+ properties: {
11
+ id: {
12
+ type: 'string',
13
+ },
14
+ label: {
15
+ type: 'string',
16
+ },
17
+ },
18
+ };
19
+ const FilterCardLayoutItemProps = {
20
+ additionalProperties: false,
21
+ required: ['tags'],
22
+ properties: Object.assign({ tags: {
23
+ type: 'array',
24
+ items: {
25
+ type: 'string',
26
+ },
27
+ } }, validators_1.CardLayoutProps.properties),
28
+ };
29
+ exports.FilterCardLayoutBlock = {
30
+ 'filter-card-layout-block': {
31
+ additionalProperties: false,
32
+ required: ['tags', 'items'],
33
+ properties: Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BlockBaseProps), common_1.AnimatableProps), common_1.BlockHeaderProps), { allTag: {
34
+ oneOf: [
35
+ {
36
+ type: 'boolean',
37
+ optionName: 'auto',
38
+ },
39
+ {
40
+ type: 'string',
41
+ optionName: 'cutom',
42
+ },
43
+ ],
44
+ }, tags: (0, utils_1.filteredArray)(FilterCardLayoutTagProps), items: (0, utils_1.filteredArray)(FilterCardLayoutItemProps), tagButtonSize: {
45
+ type: 'string',
46
+ enum: ['s', 'm', 'l', 'xl'],
47
+ }, centered: { type: 'boolean' } }),
48
+ },
49
+ };
@@ -20,6 +20,7 @@ export { default as CardLayoutBlock } from './CardLayout/CardLayout';
20
20
  export { default as ContentLayoutBlock } from './ContentLayout/ContentLayout';
21
21
  export { default as ShareBlock } from './Share/Share';
22
22
  export { default as FilterBlock } from './FilterBlock/FilterBlock';
23
+ export { default as FilterCardLayoutBlock } from './FilterCardLayout/FilterCardLayout';
23
24
  export { default as FormBlock } from './Form/Form';
24
25
  export { default as MarqueeLinksBlock } from './MarqueeLinks/MarqueeLinks';
25
26
  export { default as SolutionsBlock } from './Solutions/Solutions';
@@ -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.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = exports.ReportsBlock = 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.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.LogoRotatorBlock = exports.BannerBlock = void 0;
6
+ exports.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = exports.ReportsBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterCardLayoutBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.LogoRotatorBlock = 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 LogoRotator_1 = require("./LogoRotator/LogoRotator");
@@ -48,6 +48,8 @@ var Share_1 = require("./Share/Share");
48
48
  Object.defineProperty(exports, "ShareBlock", { enumerable: true, get: function () { return __importDefault(Share_1).default; } });
49
49
  var FilterBlock_1 = require("./FilterBlock/FilterBlock");
50
50
  Object.defineProperty(exports, "FilterBlock", { enumerable: true, get: function () { return __importDefault(FilterBlock_1).default; } });
51
+ var FilterCardLayout_1 = require("./FilterCardLayout/FilterCardLayout");
52
+ Object.defineProperty(exports, "FilterCardLayoutBlock", { enumerable: true, get: function () { return __importDefault(FilterCardLayout_1).default; } });
51
53
  var Form_1 = require("./Form/Form");
52
54
  Object.defineProperty(exports, "FormBlock", { enumerable: true, get: function () { return __importDefault(Form_1).default; } });
53
55
  var MarqueeLinks_1 = require("./MarqueeLinks/MarqueeLinks");
@@ -19,7 +19,7 @@ const FilterMultipleSelect = ({ label, value, onChange, items = [], filterText,
19
19
  initial: valueLocal,
20
20
  list: items,
21
21
  defaultLabel: label || '',
22
- }), disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: customRenders_1.renderOption, renderFilter: (0, customRenders_1.renderFilter)({
22
+ }), popupPlacement: "bottom-start", disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: customRenders_1.renderOption, renderFilter: (0, customRenders_1.renderFilter)({
23
23
  placeholder: filterText,
24
24
  className: b('popup-filter'),
25
25
  }), multiple: true, filterable: true, hasClear: true }));
@@ -19,6 +19,6 @@ const FilterSelect = ({ label, value, onChange, items = [], }) => {
19
19
  initial: valueLocal,
20
20
  list: items,
21
21
  defaultLabel: label || '',
22
- }), disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: customRenders_1.renderOption }));
22
+ }), popupPlacement: "bottom-start", disablePortal: true, virtualizationThreshold: VIRTUALIZATION_THRESHOLD, renderOption: customRenders_1.renderOption }));
23
23
  };
24
24
  exports.default = react_1.default.memo(FilterSelect);
@@ -20,6 +20,7 @@ export declare const blockMap: {
20
20
  "share-block": ({ items, title }: import("./models").ShareBlockProps) => JSX.Element;
21
21
  "map-block": ({ map, border, disableShadow, ...props }: import("./models").MapBlockProps) => JSX.Element;
22
22
  "filter-block": import("react").FC<import("./models").FilterBlockProps>;
23
+ "filter-card-layout-block": import("react").FC<import("./models").FilterCardLayoutBlockProps>;
23
24
  "form-block": import("react").FC<import("./models").FormBlockProps>;
24
25
  "marquee-links-block": ({ title, description, textAlign, speed, items, }: import("./models").MarqueeLinksBlockProps) => JSX.Element | null;
25
26
  "solutions-block": () => JSX.Element;
@@ -29,6 +29,7 @@ exports.blockMap = {
29
29
  [models_1.BlockType.ShareBlock]: blocks_1.ShareBlock,
30
30
  [models_1.BlockType.MapBlock]: blocks_1.MapBlock,
31
31
  [models_1.BlockType.FilterBlock]: blocks_1.FilterBlock,
32
+ [models_1.BlockType.FilterCardLayoutBlock]: blocks_1.FilterCardLayoutBlock,
32
33
  [models_1.BlockType.FormBlock]: blocks_1.FormBlock,
33
34
  [models_1.BlockType.MarqueeLinksBlock]: blocks_1.MarqueeLinksBlock,
34
35
  [models_1.BlockType.SolutionsBlock]: blocks_1.SolutionsBlock,
@@ -27,6 +27,7 @@ export declare enum BlockType {
27
27
  ShareBlock = "share-block",
28
28
  MapBlock = "map-block",
29
29
  FilterBlock = "filter-block",
30
+ FilterCardLayoutBlock = "filter-card-layout-block",
30
31
  FormBlock = "form-block",
31
32
  MarqueeLinksBlock = "marquee-links-block",
32
33
  SolutionsBlock = "solutions-block",
@@ -515,6 +516,18 @@ export interface FilterBlockProps extends Animatable, LoadableChildren {
515
516
  colSizes?: GridColumnSizesType;
516
517
  centered?: boolean;
517
518
  }
519
+ export type FilterCardLayoutItem = {
520
+ tags: string[];
521
+ } & CardLayoutBlockModel;
522
+ export interface FilterCardLayoutBlockProps extends Animatable, LoadableChildren {
523
+ title?: TitleItemProps | string;
524
+ description?: string;
525
+ tags: FilterTag[];
526
+ items: FilterCardLayoutItem[];
527
+ tagButtonSize?: ButtonSize;
528
+ allTag?: boolean | string;
529
+ centered?: boolean;
530
+ }
518
531
  export interface IconsBlockItemProps extends AnalyticsEventsBase {
519
532
  url: string;
520
533
  text: string;
@@ -664,6 +677,9 @@ export type CardLayoutBlockModel = {
664
677
  export type FilterBlockModel = {
665
678
  type: BlockType.FilterBlock;
666
679
  } & FilterBlockProps;
680
+ export type FilterCardLayoutBlockModel = {
681
+ type: BlockType.FilterCardLayoutBlock;
682
+ } & FilterCardLayoutBlockProps;
667
683
  export type IconsBlockModel = {
668
684
  type: BlockType.IconsBlock;
669
685
  } & IconsBlockProps;
@@ -730,6 +746,6 @@ export type FormWallBlockModel = {
730
746
  export type SliderNewBlockModel = {
731
747
  type: BlockType.SliderNewBlock;
732
748
  } & SliderNewProps;
733
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
749
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
734
750
  export type Block = BlockModels & BlockBaseProps;
735
751
  export {};
@@ -24,6 +24,7 @@ var BlockType;
24
24
  BlockType["ShareBlock"] = "share-block";
25
25
  BlockType["MapBlock"] = "map-block";
26
26
  BlockType["FilterBlock"] = "filter-block";
27
+ BlockType["FilterCardLayoutBlock"] = "filter-card-layout-block";
27
28
  BlockType["FormBlock"] = "form-block";
28
29
  BlockType["MarqueeLinksBlock"] = "marquee-links-block";
29
30
  BlockType["SolutionsBlock"] = "solutions-block";
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
4
4
  const blocks_1 = require("./validators/blocks");
5
5
  const sub_blocks_1 = require("./validators/sub-blocks");
6
- exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.LogoRotatorBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.MiniCaseBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.ReportsBlock), blocks_1.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock);
6
+ exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.LogoRotatorBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.MiniCaseBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FilterCardLayoutBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.ReportsBlock), blocks_1.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock);
7
7
  exports.cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard), sub_blocks_1.PriceCardBlock), sub_blocks_1.ImageCard), sub_blocks_1.ContentLayoutCard), sub_blocks_1.Card), sub_blocks_1.PostCard), sub_blocks_1.FeedCard), sub_blocks_1.EventPersonCard), sub_blocks_1.AttachmentCard), sub_blocks_1.CaseStudyCard);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -37,6 +37,7 @@ exports.constructorBlockSchemaNames = [
37
37
  'content-layout-block',
38
38
  'share-block',
39
39
  'filter-block',
40
+ 'filter-card-layout-block',
40
41
  'form-block',
41
42
  'solutions-block',
42
43
  'services-block',
@@ -18,6 +18,7 @@ export * from '../../blocks/CardLayout/schema';
18
18
  export * from '../../blocks/ContentLayout/schema';
19
19
  export * from '../../blocks/Share/schema';
20
20
  export * from '../../blocks/FilterBlock/schema';
21
+ export * from '../../blocks/FilterCardLayout/schema';
21
22
  export * from '../../blocks/Form/schema';
22
23
  export * from '../../blocks/SliderNew/schema';
23
24
  export * from '../../blocks/MarqueeLinks/schema';