@gravity-ui/page-constructor 4.39.1 → 4.40.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.
@@ -20,6 +20,10 @@ unpredictable css rules order in build */
20
20
  width: 100%;
21
21
  padding-bottom: 24px;
22
22
  text-align: center;
23
+ display: flex;
24
+ flex-direction: column;
25
+ align-items: center;
26
+ height: max-content;
23
27
  }
24
28
  .pc-icons-block__text {
25
29
  margin: 8px 0 0;
@@ -1,3 +1,3 @@
1
1
  import { IconsBlockProps } from '../../models';
2
- declare const Icons: ({ title, description, size, items }: IconsBlockProps) => JSX.Element;
2
+ declare const Icons: ({ title, description, size, colSizes, items }: IconsBlockProps) => JSX.Element;
3
3
  export default Icons;
@@ -10,14 +10,14 @@ const b = (0, utils_1.block)('icons-block');
10
10
  const getItemContent = (item) => (react_1.default.createElement(react_1.Fragment, null,
11
11
  react_1.default.createElement(components_1.Image, { className: b('image'), src: item.src }),
12
12
  react_1.default.createElement("p", { className: b('text') }, item.text)));
13
- const Icons = ({ title, description, size = 's', items }) => {
13
+ const Icons = ({ title, description, size = 's', colSizes = { all: 12 }, items }) => {
14
14
  const { hostname } = (0, react_1.useContext)(locationContext_1.LocationContext);
15
15
  const handleAnalytics = (0, hooks_1.useAnalytics)();
16
16
  const onClick = (0, react_1.useCallback)(({ analyticsEvents, url }) => {
17
17
  handleAnalytics(analyticsEvents, { url });
18
18
  }, [handleAnalytics]);
19
19
  return (react_1.default.createElement("div", { className: b({ size }) },
20
- (title || description) && (react_1.default.createElement(components_1.Title, { className: b('header'), title: title, subtitle: description, colSizes: { all: 12 } })),
20
+ (title || description) && (react_1.default.createElement(components_1.Title, { className: b('header'), title: title, subtitle: description, colSizes: colSizes })),
21
21
  items.map((item) => {
22
22
  const itemContent = getItemContent(item);
23
23
  const { url, text } = item;
@@ -58,4 +58,8 @@ unpredictable css rules order in build */
58
58
  }
59
59
  .pc-content-list__item {
60
60
  display: flex;
61
+ }
62
+ .pc-content-list .pc-content-list__title .yfm {
63
+ font-size: inherit;
64
+ line-height: inherit;
61
65
  }
@@ -25,7 +25,7 @@ const ContentList = ({ list, size = 'l', qa }) => {
25
25
  react_1.default.createElement(ContentListItemIcon_1.default, { icon: icon, className: b('icon', { without_title: !title }), qa: qaAttributes.image }),
26
26
  react_1.default.createElement("div", null,
27
27
  title &&
28
- react_1.default.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, title),
28
+ react_1.default.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, react_1.default.createElement(YFMWrapper_1.default, { content: title, modifiers: { constructor: true } })),
29
29
  text && (react_1.default.createElement(YFMWrapper_1.default, { className: b('text'), content: text, modifiers: { constructor: true }, qa: qaAttributes.text })))));
30
30
  })));
31
31
  };
@@ -10,7 +10,7 @@ export declare const blockMap: {
10
10
  "table-block": (props: import("./models").TableBlockProps) => JSX.Element;
11
11
  "tabs-block": ({ items, title, description, animated, tabsColSizes, centered, direction, contentSize, }: import("./models").TabsBlockProps) => JSX.Element;
12
12
  "header-block": (props: import("./models").WithChildren<import("./models").HeaderBlockProps & import("./models").ClassNameProps>) => JSX.Element;
13
- "icons-block": ({ title, description, size, items }: import("./models").IconsBlockProps) => JSX.Element;
13
+ "icons-block": ({ title, description, size, colSizes, items }: import("./models").IconsBlockProps) => JSX.Element;
14
14
  "header-slider-block": ({ items, arrows, ...props }: import("./models").HeaderSliderBlockProps) => JSX.Element;
15
15
  "card-layout-block": import("react").FC<import("./blocks/CardLayout/CardLayout").CardLayoutBlockProps>;
16
16
  "content-layout-block": (props: import("./models").ContentLayoutBlockProps) => JSX.Element;
@@ -258,6 +258,7 @@ export interface IconsBlockProps {
258
258
  description?: string;
259
259
  size?: 's' | 'm' | 'l';
260
260
  items: IconsBlockItemProps[];
261
+ colSizes?: GridColumnSizesType;
261
262
  }
262
263
  interface ContentLayoutBlockParams {
263
264
  size?: ContentSize;
@@ -280,7 +280,7 @@ exports.config = {
280
280
  {
281
281
  fields: ['list'],
282
282
  transformer: common_1.yfmTransformer,
283
- parser: (0, common_1.createItemsParser)(['text']),
283
+ parser: (0, common_1.createItemsParser)(['title', 'text']),
284
284
  },
285
285
  ],
286
286
  [models_1.BlockType.InfoBlock]: [
@@ -20,6 +20,10 @@ unpredictable css rules order in build */
20
20
  width: 100%;
21
21
  padding-bottom: 24px;
22
22
  text-align: center;
23
+ display: flex;
24
+ flex-direction: column;
25
+ align-items: center;
26
+ height: max-content;
23
27
  }
24
28
  .pc-icons-block__text {
25
29
  margin: 8px 0 0;
@@ -1,4 +1,4 @@
1
1
  import { IconsBlockProps } from '../../models';
2
2
  import './Icons.css';
3
- declare const Icons: ({ title, description, size, items }: IconsBlockProps) => JSX.Element;
3
+ declare const Icons: ({ title, description, size, colSizes, items }: IconsBlockProps) => JSX.Element;
4
4
  export default Icons;
@@ -8,14 +8,14 @@ const b = block('icons-block');
8
8
  const getItemContent = (item) => (React.createElement(Fragment, null,
9
9
  React.createElement(Image, { className: b('image'), src: item.src }),
10
10
  React.createElement("p", { className: b('text') }, item.text)));
11
- const Icons = ({ title, description, size = 's', items }) => {
11
+ const Icons = ({ title, description, size = 's', colSizes = { all: 12 }, items }) => {
12
12
  const { hostname } = useContext(LocationContext);
13
13
  const handleAnalytics = useAnalytics();
14
14
  const onClick = useCallback(({ analyticsEvents, url }) => {
15
15
  handleAnalytics(analyticsEvents, { url });
16
16
  }, [handleAnalytics]);
17
17
  return (React.createElement("div", { className: b({ size }) },
18
- (title || description) && (React.createElement(Title, { className: b('header'), title: title, subtitle: description, colSizes: { all: 12 } })),
18
+ (title || description) && (React.createElement(Title, { className: b('header'), title: title, subtitle: description, colSizes: colSizes })),
19
19
  items.map((item) => {
20
20
  const itemContent = getItemContent(item);
21
21
  const { url, text } = item;
@@ -58,4 +58,8 @@ unpredictable css rules order in build */
58
58
  }
59
59
  .pc-content-list__item {
60
60
  display: flex;
61
+ }
62
+ .pc-content-list .pc-content-list__title .yfm {
63
+ font-size: inherit;
64
+ line-height: inherit;
61
65
  }
@@ -23,7 +23,7 @@ const ContentList = ({ list, size = 'l', qa }) => {
23
23
  React.createElement(ItemIcon, { icon: icon, className: b('icon', { without_title: !title }), qa: qaAttributes.image }),
24
24
  React.createElement("div", null,
25
25
  title &&
26
- React.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, title),
26
+ React.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, React.createElement(YFMWrapper, { content: title, modifiers: { constructor: true } })),
27
27
  text && (React.createElement(YFMWrapper, { className: b('text'), content: text, modifiers: { constructor: true }, qa: qaAttributes.text })))));
28
28
  })));
29
29
  };
@@ -10,7 +10,7 @@ export declare const blockMap: {
10
10
  "table-block": (props: import("./models").TableBlockProps) => JSX.Element;
11
11
  "tabs-block": ({ items, title, description, animated, tabsColSizes, centered, direction, contentSize, }: import("./models").TabsBlockProps) => JSX.Element;
12
12
  "header-block": (props: import("./models").WithChildren<import("./models").HeaderBlockProps & import("./models").ClassNameProps>) => JSX.Element;
13
- "icons-block": ({ title, description, size, items }: import("./models").IconsBlockProps) => JSX.Element;
13
+ "icons-block": ({ title, description, size, colSizes, items }: import("./models").IconsBlockProps) => JSX.Element;
14
14
  "header-slider-block": ({ items, arrows, ...props }: import("./models").HeaderSliderBlockProps) => JSX.Element;
15
15
  "card-layout-block": import("react").FC<import("./blocks/CardLayout/CardLayout").CardLayoutBlockProps>;
16
16
  "content-layout-block": (props: import("./models").ContentLayoutBlockProps) => JSX.Element;
@@ -258,6 +258,7 @@ export interface IconsBlockProps {
258
258
  description?: string;
259
259
  size?: 's' | 'm' | 'l';
260
260
  items: IconsBlockItemProps[];
261
+ colSizes?: GridColumnSizesType;
261
262
  }
262
263
  interface ContentLayoutBlockParams {
263
264
  size?: ContentSize;
@@ -277,7 +277,7 @@ export const config = {
277
277
  {
278
278
  fields: ['list'],
279
279
  transformer: yfmTransformer,
280
- parser: createItemsParser(['text']),
280
+ parser: createItemsParser(['title', 'text']),
281
281
  },
282
282
  ],
283
283
  [BlockType.InfoBlock]: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "4.39.1",
3
+ "version": "4.40.0",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -258,6 +258,7 @@ export interface IconsBlockProps {
258
258
  description?: string;
259
259
  size?: 's' | 'm' | 'l';
260
260
  items: IconsBlockItemProps[];
261
+ colSizes?: GridColumnSizesType;
261
262
  }
262
263
  interface ContentLayoutBlockParams {
263
264
  size?: ContentSize;
@@ -290,7 +290,7 @@ exports.config = {
290
290
  {
291
291
  fields: ['list'],
292
292
  transformer: common_1.yfmTransformer,
293
- parser: (0, common_1.createItemsParser)(['text']),
293
+ parser: (0, common_1.createItemsParser)(['title', 'text']),
294
294
  },
295
295
  ],
296
296
  [models_1.BlockType.InfoBlock]: [