@gravity-ui/page-constructor 4.9.1-alpha.0 → 4.11.0

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 (77) hide show
  1. package/build/cjs/blocks/CardLayout/CardLayout.d.ts +2 -2
  2. package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
  3. package/build/cjs/blocks/ContentLayout/schema.d.ts +38 -0
  4. package/build/cjs/components/Image/schema.d.ts +19 -0
  5. package/build/cjs/components/Image/schema.js +12 -1
  6. package/build/cjs/constructor-items.d.ts +2 -2
  7. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +38 -0
  8. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -2
  9. package/build/cjs/models/constructor-items/blocks.d.ts +1 -0
  10. package/build/cjs/models/constructor-items/common.d.ts +1 -1
  11. package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -4
  12. package/build/cjs/models/constructor.d.ts +6 -1
  13. package/build/cjs/schema/constants.d.ts +181 -78
  14. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +2 -2
  15. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +100 -0
  16. package/build/cjs/sub-blocks/BackgroundCard/schema.js +10 -0
  17. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  18. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +3 -3
  19. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +81 -0
  20. package/build/cjs/sub-blocks/LayoutItem/schema.js +10 -0
  21. package/build/cjs/sub-blocks/MediaCard/MediaCard.d.ts +1 -1
  22. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +2 -2
  23. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +81 -78
  24. package/build/cjs/sub-blocks/MediaCard/schema.js +11 -1
  25. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +2 -2
  26. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +2 -2
  27. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +7 -4
  28. package/build/cjs/sub-blocks/PriceDetailed/schema.js +11 -1
  29. package/build/cjs/text-transform/common.d.ts +2 -3
  30. package/build/cjs/text-transform/common.js +2 -7
  31. package/build/cjs/text-transform/transformers.d.ts +0 -2
  32. package/build/cjs/text-transform/transformers.js +8 -6
  33. package/build/esm/blocks/CardLayout/CardLayout.d.ts +2 -2
  34. package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
  35. package/build/esm/blocks/ContentLayout/schema.d.ts +38 -0
  36. package/build/esm/components/Image/schema.d.ts +19 -0
  37. package/build/esm/components/Image/schema.js +12 -1
  38. package/build/esm/constructor-items.d.ts +2 -2
  39. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +38 -0
  40. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.d.ts +1 -0
  41. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +4 -2
  42. package/build/esm/models/constructor-items/blocks.d.ts +1 -0
  43. package/build/esm/models/constructor-items/common.d.ts +1 -1
  44. package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -4
  45. package/build/esm/models/constructor.d.ts +6 -1
  46. package/build/esm/schema/constants.d.ts +181 -78
  47. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +2 -2
  48. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +100 -0
  49. package/build/esm/sub-blocks/BackgroundCard/schema.js +10 -0
  50. package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  51. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +3 -3
  52. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +81 -0
  53. package/build/esm/sub-blocks/LayoutItem/schema.js +10 -0
  54. package/build/esm/sub-blocks/MediaCard/MediaCard.d.ts +1 -1
  55. package/build/esm/sub-blocks/MediaCard/MediaCard.js +2 -2
  56. package/build/esm/sub-blocks/MediaCard/schema.d.ts +81 -78
  57. package/build/esm/sub-blocks/MediaCard/schema.js +11 -1
  58. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +2 -2
  59. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +2 -2
  60. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +8 -4
  61. package/build/esm/sub-blocks/PriceDetailed/schema.js +11 -1
  62. package/build/esm/text-transform/common.d.ts +2 -3
  63. package/build/esm/text-transform/common.js +2 -6
  64. package/build/esm/text-transform/transformers.d.ts +0 -2
  65. package/build/esm/text-transform/transformers.js +8 -6
  66. package/package.json +1 -1
  67. package/server/models/constructor-items/blocks.d.ts +1 -0
  68. package/server/models/constructor-items/common.d.ts +1 -1
  69. package/server/models/constructor-items/sub-blocks.d.ts +4 -4
  70. package/server/models/constructor.d.ts +6 -1
  71. package/server/text-transform/common.d.ts +2 -3
  72. package/server/text-transform/common.js +2 -9
  73. package/server/text-transform/transformers.d.ts +0 -2
  74. package/server/text-transform/transformers.js +8 -6
  75. package/styles/mixins.scss +1 -0
  76. package/styles/storybook/common.scss +2 -0
  77. package/widget/index.js +1 -1
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
6
  const schema_1 = require("../../components/Image/schema");
7
7
  const common_1 = require("../../schema/validators/common");
8
+ const event_1 = require("../../schema/validators/event");
8
9
  const schema_2 = require("../Content/schema");
9
10
  const BackgroundCardContentProps = lodash_1.default.omit(schema_2.ContentBase, ['size']);
10
11
  exports.BackgroundCard = {
@@ -18,6 +19,15 @@ exports.BackgroundCard = {
18
19
  }, paddingBottom: {
19
20
  type: 'string',
20
21
  enum: ['s', 'm', 'l', 'xl'],
22
+ }, analyticsEvents: {
23
+ oneOf: [
24
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
25
+ {
26
+ type: 'array',
27
+ items: event_1.AnalyticsEventSchema,
28
+ optionName: 'list',
29
+ },
30
+ ],
21
31
  } }),
22
32
  },
23
33
  };
@@ -1,3 +1,3 @@
1
1
  import { LayoutItemProps } from '../../models';
2
- declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullscreen, className, }: LayoutItemProps) => JSX.Element;
2
+ declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullscreen, className, analyticsEvents, }: LayoutItemProps) => JSX.Element;
3
3
  export default LayoutItem;
@@ -8,12 +8,12 @@ const utils_1 = require("../../utils");
8
8
  const utils_2 = require("./utils");
9
9
  const b = (0, utils_1.block)('layout-item');
10
10
  const LayoutItem = (_a) => {
11
- var _b = _a.content, { links } = _b, content = tslib_1.__rest(_b, ["links"]), { metaInfo, media, border, fullscreen, className } = _a;
11
+ var _b = _a.content, { links } = _b, content = tslib_1.__rest(_b, ["links"]), { metaInfo, media, border, fullscreen, className, analyticsEvents } = _a;
12
12
  return (react_1.default.createElement("div", { className: b(null, className) },
13
13
  fullscreen && (0, utils_2.hasFullscreen)(media) ? (react_1.default.createElement(components_1.FullscreenMedia, { showFullscreenIcon: (0, utils_2.showFullscreenIcon)(media) }, (_a = {}) => {
14
14
  var { className: mediaClassName, fullscreen: _fullscreen } = _a, fullscreenMediaProps = tslib_1.__rest(_a, ["className", "fullscreen"]);
15
- return (react_1.default.createElement(components_1.Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName) })));
16
- })) : (react_1.default.createElement(components_1.Media, Object.assign({}, media, { className: b('media', { border }) }))),
15
+ return (react_1.default.createElement(components_1.Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName), analyticsEvents: analyticsEvents })));
16
+ })) : (react_1.default.createElement(components_1.Media, Object.assign({}, media, { className: b('media', { border }), analyticsEvents: analyticsEvents }))),
17
17
  metaInfo && react_1.default.createElement(components_1.MetaInfo, { items: metaInfo, className: b('meta-info') }),
18
18
  react_1.default.createElement("div", { className: b('content') },
19
19
  react_1.default.createElement(__1.Content, Object.assign({}, content, { links: (0, utils_2.getLayoutItemLinks)(links), size: "s", colSizes: { all: 12, md: 12 } })))));
@@ -318,6 +318,87 @@ export declare const LayoutItem: {
318
318
  fullscreen: {
319
319
  type: string;
320
320
  };
321
+ analyticsEvents: {
322
+ oneOf: ({
323
+ optionName: string;
324
+ type: string;
325
+ additionalProperties: {
326
+ type: string;
327
+ };
328
+ required: string[];
329
+ properties: {
330
+ name: {
331
+ type: string;
332
+ };
333
+ type: {
334
+ type: string;
335
+ };
336
+ counters: {
337
+ type: string;
338
+ additionalProperties: boolean;
339
+ required: never[];
340
+ properties: {
341
+ include: {
342
+ type: string;
343
+ items: {
344
+ type: string;
345
+ };
346
+ };
347
+ exclude: {
348
+ type: string;
349
+ items: {
350
+ type: string;
351
+ };
352
+ };
353
+ };
354
+ };
355
+ context: {
356
+ type: string;
357
+ };
358
+ };
359
+ items?: undefined;
360
+ } | {
361
+ type: string;
362
+ items: {
363
+ type: string;
364
+ additionalProperties: {
365
+ type: string;
366
+ };
367
+ required: string[];
368
+ properties: {
369
+ name: {
370
+ type: string;
371
+ };
372
+ type: {
373
+ type: string;
374
+ };
375
+ counters: {
376
+ type: string;
377
+ additionalProperties: boolean;
378
+ required: never[];
379
+ properties: {
380
+ include: {
381
+ type: string;
382
+ items: {
383
+ type: string;
384
+ };
385
+ };
386
+ exclude: {
387
+ type: string;
388
+ items: {
389
+ type: string;
390
+ };
391
+ };
392
+ };
393
+ };
394
+ context: {
395
+ type: string;
396
+ };
397
+ };
398
+ };
399
+ optionName: string;
400
+ })[];
401
+ };
321
402
  type: {};
322
403
  when: {
323
404
  type: string;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const lodash_1 = require("lodash");
6
6
  const schema_1 = tslib_1.__importDefault(require("../../components/MetaInfo/schema"));
7
7
  const common_1 = require("../../schema/validators/common");
8
+ const event_1 = require("../../schema/validators/event");
8
9
  const schema_2 = require("../../sub-blocks/Content/schema");
9
10
  exports.LayoutItem = {
10
11
  type: 'object',
@@ -14,5 +15,14 @@ exports.LayoutItem = {
14
15
  type: 'boolean',
15
16
  }, fullscreen: {
16
17
  type: 'boolean',
18
+ }, analyticsEvents: {
19
+ oneOf: [
20
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
21
+ {
22
+ type: 'array',
23
+ items: event_1.AnalyticsEventSchema,
24
+ optionName: 'list',
25
+ },
26
+ ],
17
27
  } }),
18
28
  };
@@ -1,3 +1,3 @@
1
1
  import { MediaCardProps } from '../../models';
2
- declare const MediaCard: ({ border, ...mediaProps }: MediaCardProps) => JSX.Element;
2
+ declare const MediaCard: ({ border, analyticsEvents, ...mediaProps }: MediaCardProps) => JSX.Element;
3
3
  export default MediaCard;
@@ -6,8 +6,8 @@ const components_1 = require("../../components");
6
6
  const utils_1 = require("../../utils");
7
7
  const b = (0, utils_1.block)('MediaCard');
8
8
  const MediaCard = (_a) => {
9
- var { border } = _a, mediaProps = tslib_1.__rest(_a, ["border"]);
10
- return (react_1.default.createElement(components_1.CardBase, { className: b(), bodyClassName: b('body'), border: border },
9
+ var { border, analyticsEvents } = _a, mediaProps = tslib_1.__rest(_a, ["border", "analyticsEvents"]);
10
+ return (react_1.default.createElement(components_1.CardBase, { className: b(), bodyClassName: b('body'), border: border, analyticsEvents: analyticsEvents },
11
11
  react_1.default.createElement(components_1.CardBase.Content, null,
12
12
  react_1.default.createElement(components_1.Media, Object.assign({}, mediaProps)))));
13
13
  };
@@ -3,6 +3,87 @@ export declare const MediaCardBlock: {
3
3
  additionalProperties: boolean;
4
4
  required: never[];
5
5
  properties: {
6
+ analyticsEvents: {
7
+ oneOf: ({
8
+ optionName: string;
9
+ type: string;
10
+ additionalProperties: {
11
+ type: string;
12
+ };
13
+ required: string[];
14
+ properties: {
15
+ name: {
16
+ type: string;
17
+ };
18
+ type: {
19
+ type: string;
20
+ };
21
+ counters: {
22
+ type: string;
23
+ additionalProperties: boolean;
24
+ required: never[];
25
+ properties: {
26
+ include: {
27
+ type: string;
28
+ items: {
29
+ type: string;
30
+ };
31
+ };
32
+ exclude: {
33
+ type: string;
34
+ items: {
35
+ type: string;
36
+ };
37
+ };
38
+ };
39
+ };
40
+ context: {
41
+ type: string;
42
+ };
43
+ };
44
+ items?: undefined;
45
+ } | {
46
+ type: string;
47
+ items: {
48
+ type: string;
49
+ additionalProperties: {
50
+ type: string;
51
+ };
52
+ required: string[];
53
+ properties: {
54
+ name: {
55
+ type: string;
56
+ };
57
+ type: {
58
+ type: string;
59
+ };
60
+ counters: {
61
+ type: string;
62
+ additionalProperties: boolean;
63
+ required: never[];
64
+ properties: {
65
+ include: {
66
+ type: string;
67
+ items: {
68
+ type: string;
69
+ };
70
+ };
71
+ exclude: {
72
+ type: string;
73
+ items: {
74
+ type: string;
75
+ };
76
+ };
77
+ };
78
+ };
79
+ context: {
80
+ type: string;
81
+ };
82
+ };
83
+ };
84
+ optionName: string;
85
+ })[];
86
+ };
6
87
  animated: {
7
88
  type: string;
8
89
  };
@@ -147,84 +228,6 @@ export declare const MediaCardBlock: {
147
228
  fullscreen: {
148
229
  type: string;
149
230
  };
150
- analyticsEvents: {
151
- anyOf: ({
152
- type: string;
153
- additionalProperties: {
154
- type: string;
155
- };
156
- required: string[];
157
- properties: {
158
- name: {
159
- type: string;
160
- };
161
- type: {
162
- type: string;
163
- };
164
- counters: {
165
- type: string;
166
- additionalProperties: boolean;
167
- required: never[];
168
- properties: {
169
- include: {
170
- type: string;
171
- items: {
172
- type: string;
173
- };
174
- };
175
- exclude: {
176
- type: string;
177
- items: {
178
- type: string;
179
- };
180
- };
181
- };
182
- };
183
- context: {
184
- type: string;
185
- };
186
- };
187
- } | {
188
- type: string;
189
- items: {
190
- type: string;
191
- additionalProperties: {
192
- type: string;
193
- };
194
- required: string[];
195
- properties: {
196
- name: {
197
- type: string;
198
- };
199
- type: {
200
- type: string;
201
- };
202
- counters: {
203
- type: string;
204
- additionalProperties: boolean;
205
- required: never[];
206
- properties: {
207
- include: {
208
- type: string;
209
- items: {
210
- type: string;
211
- };
212
- };
213
- exclude: {
214
- type: string;
215
- items: {
216
- type: string;
217
- };
218
- };
219
- };
220
- };
221
- context: {
222
- type: string;
223
- };
224
- };
225
- };
226
- })[];
227
- };
228
231
  border: {
229
232
  type: string;
230
233
  enum: string[];
@@ -2,10 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MediaCardBlock = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ const event_1 = require("../../schema/validators/event");
5
6
  exports.MediaCardBlock = {
6
7
  'media-card': {
7
8
  additionalProperties: false,
8
9
  required: [],
9
- properties: Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), common_1.MediaProps), common_1.AnimatableProps),
10
+ properties: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), common_1.MediaProps), common_1.AnimatableProps), { analyticsEvents: {
11
+ oneOf: [
12
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
13
+ {
14
+ type: 'array',
15
+ items: event_1.AnalyticsEventSchema,
16
+ optionName: 'list',
17
+ },
18
+ ],
19
+ } }),
10
20
  },
11
21
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { CardBorder, PriceDescriptionProps, PriceDetailsListProps, PriceDetailsSettingsProps, PriceItemProps } from '../../../models';
3
- interface CombinedPriceDetailedProps {
2
+ import { AnalyticsEventsBase, CardBorder, PriceDescriptionProps, PriceDetailsListProps, PriceDetailsSettingsProps, PriceItemProps } from '../../../models';
3
+ interface CombinedPriceDetailedProps extends AnalyticsEventsBase {
4
4
  items: PriceItemProps[];
5
5
  numberGroupItems: number;
6
6
  useMixedView?: boolean;
@@ -14,7 +14,7 @@ const CombinedPricesGroupSize = {
14
14
  [grid_1.GridColumnSize.Lg]: 3,
15
15
  };
16
16
  const CombinedPriceDetailed = (props) => {
17
- const { items, numberGroupItems, border, useMixedView, getDescriptionComponent, getDetailsComponent, } = props;
17
+ const { items, numberGroupItems, border, useMixedView, getDescriptionComponent, getDetailsComponent, analyticsEvents, } = props;
18
18
  const [groupItemsSize, setGroupItemsSize] = (0, react_1.useState)(numberGroupItems);
19
19
  const updateGroupItemsSize = (0, react_1.useCallback)((windowWidth) => {
20
20
  if (windowWidth >= constants_1.BREAKPOINTS.lg) {
@@ -51,7 +51,7 @@ const CombinedPriceDetailed = (props) => {
51
51
  react_1.default.createElement("div", { className: b('description', { delimiter: useMixedView }) }, detailsComponents)));
52
52
  };
53
53
  const chunkedItems = lodash_1.default.chunk(items, groupItemsSize);
54
- return (react_1.default.createElement(components_1.CardBase, { className: b(), border: border },
54
+ return (react_1.default.createElement(components_1.CardBase, { className: b(), border: border, analyticsEvents: analyticsEvents },
55
55
  react_1.default.createElement(components_1.CardBase.Content, null,
56
56
  react_1.default.createElement(grid_1.Grid, null, chunkedItems.map((chunk, id) => {
57
57
  return (react_1.default.createElement(grid_1.Row, { key: id, className: b('row') }, getPrice(chunk)));
@@ -7,9 +7,12 @@ const utils_1 = require("../../../utils");
7
7
  const b = (0, utils_1.block)('separate-price-detailed-block');
8
8
  const SeparatePriceDetailed = (props) => {
9
9
  const { items, border, getDescriptionComponent, getDetailsComponent } = props;
10
- return (react_1.default.createElement(react_1.Fragment, null, items.map((item, id) => (react_1.default.createElement(components_1.CardBase, { key: id, className: b(), border: border },
11
- react_1.default.createElement(components_1.CardBase.Content, null,
12
- getDescriptionComponent(item),
13
- getDetailsComponent(item.items)))))));
10
+ return (react_1.default.createElement(react_1.Fragment, null, items.map((_a, id) => {
11
+ var { analyticsEvents } = _a, item = tslib_1.__rest(_a, ["analyticsEvents"]);
12
+ return (react_1.default.createElement(components_1.CardBase, { key: id, className: b(), border: border, analyticsEvents: analyticsEvents },
13
+ react_1.default.createElement(components_1.CardBase.Content, null,
14
+ getDescriptionComponent(item),
15
+ getDetailsComponent(item.items))));
16
+ })));
14
17
  };
15
18
  exports.default = SeparatePriceDetailed;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PriceDetailedBlock = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ const event_1 = require("../../schema/validators/event");
5
6
  const utils_1 = require("../../schema/validators/utils");
6
7
  const PriceDetailedDetailsType = ['marked-list', 'settings'];
7
8
  const PriceDetailedDescriptionColor = ['cornflower', 'black'];
@@ -137,7 +138,16 @@ const PriceItem = {
137
138
  type: 'object',
138
139
  additionalProperties: false,
139
140
  required: ['title', 'description'],
140
- properties: Object.assign(Object.assign({}, PriceDetailsProps), PriceDescriptionProps),
141
+ properties: Object.assign(Object.assign(Object.assign({}, PriceDetailsProps), PriceDescriptionProps), { analyticsEvents: {
142
+ oneOf: [
143
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
144
+ {
145
+ type: 'array',
146
+ items: event_1.AnalyticsEventSchema,
147
+ optionName: 'list',
148
+ },
149
+ ],
150
+ } }),
141
151
  };
142
152
  exports.PriceDetailedBlock = {
143
153
  'price-detailed': {
@@ -1,14 +1,13 @@
1
- import { MarkdownItPluginCb } from '@doc-tools/transform/lib/plugins/typings';
2
1
  import { Lang } from '../utils/configure';
3
2
  export type ComplexItem = {
4
3
  [key: string]: string;
5
4
  };
6
5
  export type Item = string | null | ComplexItem;
7
6
  export type Transformer = (text: string) => string;
8
- export type TransformerRaw = (lang: Lang, content: string, additionalPlugins: MarkdownItPluginCb[]) => string;
7
+ export type TransformerRaw = (lang: Lang, content: string) => string;
9
8
  export type Parser<T = any> = (transformer: Transformer, block: T) => T;
10
9
  export declare const createItemsParser: (fields: string[]) => (transformer: Transformer, items: Item[]) => (string | {
11
10
  [x: string]: string;
12
11
  } | null)[];
13
- export declare function yfmTransformer(lang: Lang, content: string, additionalPlugins?: MarkdownItPluginCb[]): string;
12
+ export declare function yfmTransformer(lang: Lang, content: string): string;
14
13
  export declare function typografTransformer(lang: Lang, content: string): string;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.typografTransformer = exports.yfmTransformer = exports.createItemsParser = void 0;
4
- const tslib_1 = require("tslib");
5
- const plugins_1 = tslib_1.__importDefault(require("@doc-tools/transform/lib/plugins"));
6
4
  const utils_1 = require("./utils");
7
5
  const createItemsParser = (fields) => (transformer, items) => items.map((item) => {
8
6
  if (!item) {
@@ -22,11 +20,8 @@ const createItemsParser = (fields) => (transformer, items) => items.map((item) =
22
20
  }
23
21
  });
24
22
  exports.createItemsParser = createItemsParser;
25
- function yfmTransformer(lang, content, additionalPlugins = []) {
26
- const { html } = (0, utils_1.fullTransform)(content, {
27
- lang,
28
- plugins: [...plugins_1.default, ...additionalPlugins],
29
- });
23
+ function yfmTransformer(lang, content) {
24
+ const { html } = (0, utils_1.fullTransform)(content, { lang });
30
25
  return html;
31
26
  }
32
27
  exports.yfmTransformer = yfmTransformer;
@@ -1,4 +1,3 @@
1
- import { MarkdownItPluginCb } from '@doc-tools/transform/lib/plugins/typings';
2
1
  import { ConstructorBlock } from '../models/constructor';
3
2
  import { Lang } from '../utils/configure';
4
3
  export type ContentVariables = Record<string, string>;
@@ -10,7 +9,6 @@ export type ContentTransformerProps = {
10
9
  lang: Lang;
11
10
  customConfig?: {};
12
11
  vars?: ContentVariables;
13
- additionalPlugins?: MarkdownItPluginCb[];
14
12
  };
15
13
  };
16
14
  export declare const contentTransformer: ({ content, options }: ContentTransformerProps) => {
@@ -2,15 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contentTransformer = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ /* eslint-disable no-param-reassign */
6
+ /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */
5
7
  const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
8
  const config_1 = require("./config");
7
9
  const filter_1 = require("./filter");
8
- function transformBlocks(blocks, lang, customConfig = {}, additionalPlugins = []) {
10
+ function transformBlocks(blocks, lang, customConfig = {}) {
9
11
  const fullConfig = Object.assign(Object.assign({}, config_1.config), customConfig);
10
12
  const clonedBlocks = lodash_1.default.cloneDeep(blocks);
11
- return clonedBlocks.map((block) => transformBlock(lang, fullConfig, block, additionalPlugins));
13
+ return clonedBlocks.map((block) => transformBlock(lang, fullConfig, block));
12
14
  }
13
- function transformBlock(lang, blocksConfig, block, additionalPlugins) {
15
+ function transformBlock(lang, blocksConfig, block) {
14
16
  const blockConfig = blocksConfig[block.type];
15
17
  if (block) {
16
18
  if ('randomOrder' in block && block.randomOrder && 'children' in block && block.children) {
@@ -21,7 +23,7 @@ function transformBlock(lang, blocksConfig, block, additionalPlugins) {
21
23
  const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];
22
24
  configs.forEach((transformConfig) => {
23
25
  const { fields, transformer: transformerRaw, parser } = transformConfig;
24
- const transformer = (content) => transformerRaw(lang, content, additionalPlugins);
26
+ const transformer = transformerRaw.bind(null, lang);
25
27
  if (fields) {
26
28
  fields.forEach((field) => {
27
29
  if (block[field]) {
@@ -45,9 +47,9 @@ function transformBlock(lang, blocksConfig, block, additionalPlugins) {
45
47
  return block;
46
48
  }
47
49
  const contentTransformer = ({ content, options }) => {
48
- const { lang, customConfig = {}, vars, additionalPlugins = [] } = options;
50
+ const { lang, customConfig = {}, vars } = options;
49
51
  const { blocks = [] } = (vars ? (0, filter_1.filterContent)(content, vars) : content);
50
- const transformedBlocks = transformBlocks(blocks, lang, customConfig, additionalPlugins);
52
+ const transformedBlocks = transformBlocks(blocks, lang, customConfig);
51
53
  return {
52
54
  blocks: transformedBlocks,
53
55
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { CardLayoutBlockProps as CardLayoutBlockParams, WithChildren } from '../../models';
2
+ import { CardLayoutBlockProps as CardLayoutBlockParams, ClassNameProps, WithChildren } from '../../models';
3
3
  import './CardLayout.css';
4
- export type CardLayoutBlockProps = WithChildren<Omit<CardLayoutBlockParams, 'children'>>;
4
+ export type CardLayoutBlockProps = WithChildren<Omit<CardLayoutBlockParams, 'children'>> & ClassNameProps;
5
5
  declare const CardLayout: React.FC<CardLayoutBlockProps>;
6
6
  export default CardLayout;
@@ -9,7 +9,7 @@ const DEFAULT_SIZES = {
9
9
  md: 4,
10
10
  };
11
11
  const b = block('card-layout-block');
12
- const CardLayout = ({ title, description, animated, colSizes = DEFAULT_SIZES, children, }) => (React.createElement(AnimateBlock, { className: b(), animate: animated },
12
+ const CardLayout = ({ title, description, animated, colSizes = DEFAULT_SIZES, children, className, }) => (React.createElement(AnimateBlock, { className: b(null, className), animate: animated },
13
13
  (title || description) && React.createElement(Title, { title: title, subtitle: description }),
14
14
  React.createElement(Row, null, React.Children.map(children, (child, index) => (React.createElement(Col, { key: index, sizes: colSizes, className: b('item') }, child))))));
15
15
  export default CardLayout;
@@ -15,6 +15,25 @@ export declare const ContentLayoutBlock: {
15
15
  type: string;
16
16
  pattern: string;
17
17
  };
18
+ style: {
19
+ type: string;
20
+ additionalProperties: boolean;
21
+ required: never[];
22
+ properties: {
23
+ backgroundColor: {
24
+ type: string;
25
+ };
26
+ height: {
27
+ type: string[];
28
+ };
29
+ width: {
30
+ type: string[];
31
+ };
32
+ color: {
33
+ type: string;
34
+ };
35
+ };
36
+ };
18
37
  alt: {
19
38
  type: string;
20
39
  contentType: string;
@@ -153,6 +172,25 @@ export declare const ContentLayoutBlock: {
153
172
  type: string;
154
173
  pattern: string;
155
174
  };
175
+ style: {
176
+ type: string;
177
+ additionalProperties: boolean;
178
+ required: never[];
179
+ properties: {
180
+ backgroundColor: {
181
+ type: string;
182
+ };
183
+ height: {
184
+ type: string[];
185
+ };
186
+ width: {
187
+ type: string[];
188
+ };
189
+ color: {
190
+ type: string;
191
+ };
192
+ };
193
+ };
156
194
  alt: {
157
195
  type: string;
158
196
  contentType: string;
@@ -34,6 +34,25 @@ export declare const ImageObjectProps: {
34
34
  type: string;
35
35
  pattern: string;
36
36
  };
37
+ style: {
38
+ type: string;
39
+ additionalProperties: boolean;
40
+ required: never[];
41
+ properties: {
42
+ backgroundColor: {
43
+ type: string;
44
+ };
45
+ height: {
46
+ type: string[];
47
+ };
48
+ width: {
49
+ type: string[];
50
+ };
51
+ color: {
52
+ type: string;
53
+ };
54
+ };
55
+ };
37
56
  alt: {
38
57
  type: string;
39
58
  contentType: string;