@meduza/ui-kit-2 0.1.19 → 0.1.21

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 (87) hide show
  1. package/dist/Cover/Cover.types.d.ts +21 -1
  2. package/dist/DotsOnImage/DotsOnImage.types.d.ts +1 -1
  3. package/dist/Image/Image.types.d.ts +1 -6
  4. package/dist/ListBlock/ListBlock.stories.d.ts +2 -1
  5. package/dist/ListBlock/ListBlock.types.d.ts +7 -1
  6. package/dist/RelatedBlock/RelatedBlock.types.d.ts +14 -1
  7. package/dist/RelatedRichBlock/RelatedRichBlock.stories.d.ts +10 -0
  8. package/dist/RelatedRichBlock/RelatedRichBlock.types.d.ts +4 -0
  9. package/dist/RelatedRichBlock/index.d.ts +3 -0
  10. package/dist/RichTitle/RichTitle.types.d.ts +8 -1
  11. package/dist/SimpleTitle/SimpleTitle.types.d.ts +6 -1
  12. package/dist/SourceBlock/SourceBlock.types.d.ts +12 -1
  13. package/dist/index.d.ts +1 -0
  14. package/dist/types.d.ts +6 -0
  15. package/dist/ui-kit-2.cjs.development.js +147 -47
  16. package/dist/ui-kit-2.cjs.development.js.map +1 -1
  17. package/dist/ui-kit-2.cjs.production.min.js +1 -1
  18. package/dist/ui-kit-2.cjs.production.min.js.map +1 -1
  19. package/dist/ui-kit-2.esm.js +147 -48
  20. package/dist/ui-kit-2.esm.js.map +1 -1
  21. package/dist/ui-kit.css +1157 -961
  22. package/dist/utils/converCase.d.ts +2 -0
  23. package/dist/utils/generateGradient.d.ts +1 -1
  24. package/package.json +4 -1
  25. package/src/.DS_Store +0 -0
  26. package/src/BookmarkButton/BookmarkButton.test.tsx +17 -4
  27. package/src/CardTitle/CardTitle.test.tsx +4 -3
  28. package/src/ChapterBlock/ChapterBlock.test.tsx +4 -3
  29. package/src/Cover/Cover.test.tsx +3 -3
  30. package/src/Cover/Cover.types.ts +22 -1
  31. package/src/Cover/index.tsx +1 -1
  32. package/src/DocumentItemsCount/DocumentItemsCount.test.tsx +4 -3
  33. package/src/DotsOnImage/DotsOnImage.test.tsx +4 -2
  34. package/src/DotsOnImage/DotsOnImage.types.ts +1 -1
  35. package/src/EmbedBlock/EmbedBlock.test.tsx +16 -3
  36. package/src/EmbedBlock/index.tsx +1 -1
  37. package/src/GroupedBlock/GroupedBlock.test.tsx +5 -3
  38. package/src/HalfBlock/HalfBlock.test.tsx +4 -3
  39. package/src/Image/Image.test.tsx +3 -0
  40. package/src/Image/Image.types.ts +1 -6
  41. package/src/Image/RenderPicture.tsx +1 -1
  42. package/src/ImportantLead/ImportantLead.test.tsx +10 -8
  43. package/src/ImportantLead/mock.json +6 -0
  44. package/src/Lazy/Lazy.test.tsx +3 -0
  45. package/src/ListBlock/ListBlock.stories.tsx +2 -1
  46. package/src/ListBlock/ListBlock.test.tsx +8 -4
  47. package/src/ListBlock/ListBlock.types.ts +6 -1
  48. package/src/ListBlock/index.tsx +1 -1
  49. package/src/ListBlock/mock.json +1 -1
  50. package/src/MaterialNote/MaterialNote.test.tsx +4 -3
  51. package/src/Meta/Meta.module.css +1 -1
  52. package/src/QuoteBlock/QuoteBlock.test.tsx +4 -3
  53. package/src/RawHtmlBlock/RawHtmlBlock.test.tsx +18 -9
  54. package/src/RawHtmlBlock/mock.json +6 -0
  55. package/src/RelatedBlock/RelatedBlock.test.tsx +4 -3
  56. package/src/RelatedBlock/RelatedBlock.types.ts +14 -1
  57. package/src/RelatedRichBlock/RelatedRichBlock.module.css +165 -0
  58. package/src/RelatedRichBlock/RelatedRichBlock.stories.module.css +12 -0
  59. package/src/RelatedRichBlock/RelatedRichBlock.stories.tsx +55 -0
  60. package/src/RelatedRichBlock/RelatedRichBlock.test.tsx +20 -0
  61. package/src/RelatedRichBlock/RelatedRichBlock.types.ts +4 -0
  62. package/src/RelatedRichBlock/index.tsx +105 -0
  63. package/src/RelatedRichBlock/mock.json +354 -0
  64. package/src/RenderBlocks/RenderBlocks.stories.module.css +3 -0
  65. package/src/RenderBlocks/RenderBlocks.stories.tsx +4 -1
  66. package/src/RenderBlocks/RenderBlocks.test.tsx +15 -9
  67. package/src/RenderBlocks/index.tsx +5 -0
  68. package/src/RenderBlocks/mock.json +83 -0
  69. package/src/RichTitle/RichTitle.module.css +37 -7
  70. package/src/RichTitle/RichTitle.test.tsx +4 -3
  71. package/src/RichTitle/RichTitle.types.ts +8 -1
  72. package/src/SimpleBlock/SimpleBlock.test.tsx +16 -9
  73. package/src/SimpleBlock/mock.json +6 -0
  74. package/src/SimpleTitle/SimpleTitle.test.tsx +4 -3
  75. package/src/SimpleTitle/SimpleTitle.types.ts +6 -1
  76. package/src/SourceBlock/SourceBlock.test.tsx +4 -3
  77. package/src/SourceBlock/SourceBlock.types.ts +13 -1
  78. package/src/Spoiler/Spoiler.test.tsx +4 -3
  79. package/src/Table/Table.test.tsx +3 -3
  80. package/src/Timestamp/Timestamp.test.tsx +4 -3
  81. package/src/ToolbarButton/ToolbarButton.test.tsx +8 -3
  82. package/src/_storybook/PreviewWrapper/PreviewWrapper.module.css +3 -1
  83. package/src/index.tsx +1 -0
  84. package/src/types.ts +6 -0
  85. package/src/utils/{toCamel.ts → converCase.ts} +3 -0
  86. package/src/utils/generateGradient.ts +21 -15
  87. package/dist/utils/toCamel.d.ts +0 -1
@@ -1,4 +1,24 @@
1
+ import { OptimizedImageItem } from '../types';
1
2
  export interface CoverProps {
2
- block: any;
3
+ block: {
4
+ only_on?: string;
5
+ data: {
6
+ blocks: any;
7
+ cover: {
8
+ credit?: string;
9
+ caption?: string;
10
+ cc: string;
11
+ urls: {
12
+ w325: OptimizedImageItem;
13
+ w600: OptimizedImageItem;
14
+ };
15
+ mobile_ratio: number;
16
+ gradients: {
17
+ text_rgb: string;
18
+ bg_rgb: string;
19
+ };
20
+ };
21
+ };
22
+ };
3
23
  styleContext?: string[] | string;
4
24
  }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { OptimizedImageItem } from '../Image/Image.types';
2
+ import { OptimizedImageItem } from '../types';
3
3
  export interface PopoverData {
4
4
  title?: string;
5
5
  body?: string;
@@ -1,9 +1,4 @@
1
- export interface OptimizedImageItem {
2
- '1x': string;
3
- '2x': string;
4
- '1x_webp': string;
5
- '2x_webp': string;
6
- }
1
+ import { OptimizedImageItem } from '../types';
7
2
  export interface ImageProps {
8
3
  alt?: string;
9
4
  display?: string;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
+ import { ListBlockProps } from './ListBlock.types';
2
3
  declare const _default: {
3
4
  title: string;
4
- component: React.FC<import("./ListBlock.types").ListBlockProps>;
5
+ component: React.FC<ListBlockProps>;
5
6
  parameters: {
6
7
  themeWrapperSideBySide: boolean;
7
8
  };
@@ -1,4 +1,10 @@
1
+ /// <reference types="react" />
1
2
  export interface ListBlockProps {
2
- block: any;
3
+ block: {
4
+ type: keyof JSX.IntrinsicElements;
5
+ data: string[];
6
+ length: number;
7
+ only_on?: string;
8
+ };
3
9
  styleContext?: string[] | string;
4
10
  }
@@ -1,4 +1,17 @@
1
1
  export interface RelatedBlockProps {
2
- block: any;
2
+ block: {
3
+ data: {
4
+ title: string;
5
+ related: {
6
+ title: string;
7
+ second_title?: string;
8
+ layout: string;
9
+ url?: string;
10
+ full_url?: string;
11
+ id: string;
12
+ }[];
13
+ };
14
+ only_on?: string;
15
+ };
3
16
  styleContext?: string[] | string;
4
17
  }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.FC<import("./RelatedRichBlock.types").RelatedRichBlockProps>;
5
+ parameters: {
6
+ themeWrapperSideBySide: boolean;
7
+ };
8
+ };
9
+ export default _default;
10
+ export declare const Default: React.FC;
@@ -0,0 +1,4 @@
1
+ export interface RelatedRichBlockProps {
2
+ block?: any;
3
+ styleContext?: any;
4
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { RelatedRichBlockProps } from './RelatedRichBlock.types';
3
+ export declare const RelatedRichBlock: React.FC<RelatedRichBlockProps>;
@@ -1,4 +1,11 @@
1
1
  export interface RichTitleProps {
2
- block: any;
2
+ block: {
3
+ only_on?: string;
4
+ data: {
5
+ featured?: boolean;
6
+ first: string;
7
+ second?: string;
8
+ };
9
+ };
3
10
  styleContext?: string[] | string;
4
11
  }
@@ -1,4 +1,9 @@
1
1
  export interface SimpleTitleProps {
2
- block: any;
2
+ block: {
3
+ data: {
4
+ first: string;
5
+ };
6
+ only_on?: string;
7
+ };
3
8
  styleContext?: string[] | string;
4
9
  }
@@ -1,4 +1,15 @@
1
1
  export interface SourceBlockProps {
2
- block: any;
2
+ block: {
3
+ only_on?: string;
4
+ data: {
5
+ quote: {
6
+ type: string;
7
+ data: string;
8
+ length: number;
9
+ }[];
10
+ origin: string;
11
+ url: string;
12
+ };
13
+ };
3
14
  styleContext?: string[] | string;
4
15
  }
package/dist/index.d.ts CHANGED
@@ -37,3 +37,4 @@ export * from './MetaItemLive';
37
37
  export * from './DocumentItemsCount';
38
38
  export * from './ToolbarButton';
39
39
  export * from './Footnote';
40
+ export * from './RelatedRichBlock';
@@ -0,0 +1,6 @@
1
+ export interface OptimizedImageItem {
2
+ '1x': string;
3
+ '2x': string;
4
+ '1x_webp': string;
5
+ '2x_webp': string;
6
+ }
@@ -377,6 +377,9 @@ var toCamel = function toCamel(s) {
377
377
  return str.toUpperCase().replace('_', '');
378
378
  });
379
379
  };
380
+ var toCapitalize = function toCapitalize(s) {
381
+ return s[0].toUpperCase() + s.slice(1);
382
+ };
380
383
 
381
384
  var RenderPicture = function RenderPicture(_ref) {
382
385
  var source = _ref.source,
@@ -1396,7 +1399,7 @@ var EmbedBlockContainer = function EmbedBlockContainer(_ref) {
1396
1399
  styleContext = _ref.styleContext,
1397
1400
  lang = _ref.lang;
1398
1401
 
1399
- if (block.data.wrap_with_iframe) {
1402
+ if (block.data && block.data.wrap_with_iframe) {
1400
1403
  return React__default.createElement(IframeBlock, {
1401
1404
  block: block,
1402
1405
  styleContext: styleContext,
@@ -1467,9 +1470,12 @@ var ChapterBlock = function ChapterBlock(_ref) {
1467
1470
  }));
1468
1471
  };
1469
1472
 
1470
- var generateGradient = function generateGradient(color) {
1471
- var gradientSteps = [[0, 7], [0.08, 12], [0.16, 17], [0.22, 21], [0.32, 26], [0.42, 32], [0.52, 38], [0.62, 47], [0.72, 57], [0.82, 65], [1, 82]];
1472
- var gradient = gradientSteps.map(function (i) {
1473
+ var generateGradient = function generateGradient(color, type) {
1474
+ var steps = {
1475
+ mediaBlockBottom: [[0, 7], [0.08, 12], [0.16, 17], [0.22, 21], [0.32, 26], [0.42, 32], [0.52, 38], [0.62, 47], [0.72, 57], [0.82, 65], [1, 82]],
1476
+ mediaBlockTop: [[0.5, 0], [0, 97]]
1477
+ };
1478
+ var gradient = steps[type].map(function (i) {
1473
1479
  return "rgba(" + color + ", " + i[0] + ") " + i[1] + "%";
1474
1480
  });
1475
1481
  return "linear-gradient(-180deg, " + gradient + ")";
@@ -1494,7 +1500,7 @@ var SimpleTitle = function SimpleTitle(_ref) {
1494
1500
  }, first);
1495
1501
  };
1496
1502
 
1497
- var styles$n = {"root":"RichTitle-module_root__BK_WT","slide":"RichTitle-module_slide__1A-gB","game":"RichTitle-module_game__1g8Bn","half":"RichTitle-module_half__10GRI","featured":"RichTitle-module_featured__wJfaQ","mobile":"RichTitle-module_mobile__1Cb6E","desktop":"RichTitle-module_desktop__2ixSQ"};
1503
+ var styles$n = {"root":"RichTitle-module_root__BK_WT","slide":"RichTitle-module_slide__1A-gB","game":"RichTitle-module_game__1g8Bn","half":"RichTitle-module_half__10GRI","featured":"RichTitle-module_featured__wJfaQ","isInMediaBlock":"RichTitle-module_isInMediaBlock__3RDw4","mobile":"RichTitle-module_mobile__1Cb6E","desktop":"RichTitle-module_desktop__2ixSQ"};
1498
1504
 
1499
1505
  var RichTitle = function RichTitle(_ref) {
1500
1506
  var _ref$block = _ref.block,
@@ -1575,7 +1581,8 @@ var ListBlock = function ListBlock(_ref) {
1575
1581
  }
1576
1582
 
1577
1583
  return React__default.createElement(TagName, {
1578
- className: makeClassName(classNames)
1584
+ className: makeClassName(classNames),
1585
+ "data-testid": "list-block"
1579
1586
  }, data.map(function (item, index) {
1580
1587
  return React__default.createElement("li", {
1581
1588
  key: index,
@@ -1659,7 +1666,91 @@ var SourceBlock = function SourceBlock(_ref) {
1659
1666
  }, origin))));
1660
1667
  };
1661
1668
 
1662
- var styles$s = {"root":"GroupedBlock-module_root__2qfQA","hasFigcaption":"GroupedBlock-module_hasFigcaption__2_mcf","item":"GroupedBlock-module_item__3sz9_","items":"GroupedBlock-module_items__2DV2X","figcaption":"GroupedBlock-module_figcaption__2Q_wf","default":"GroupedBlock-module_default__3ylw_","full":"GroupedBlock-module_full__1dzQR","super_full":"GroupedBlock-module_super_full__1PU72","mobile":"GroupedBlock-module_mobile__3n8Ub","desktop":"GroupedBlock-module_desktop__6ZRpA"};
1669
+ var styles$s = {"root":"RelatedRichBlock-module_root__3NYmj","overlay":"RelatedRichBlock-module_overlay__3XSg_","overlayHeader":"RelatedRichBlock-module_overlayHeader__2Nmbv","isRich":"RelatedRichBlock-module_isRich__1LnA4","body":"RelatedRichBlock-module_body__1ZHZS","isCard":"RelatedRichBlock-module_isCard__2naDz","hasGradient":"RelatedRichBlock-module_hasGradient__27LOk","cover":"RelatedRichBlock-module_cover__3yygp","tag":"RelatedRichBlock-module_tag__3OLyG","dark":"RelatedRichBlock-module_dark__3Y1fE","light":"RelatedRichBlock-module_light__2mUxL","mobile":"RelatedRichBlock-module_mobile__JpCS4","desktop":"RelatedRichBlock-module_desktop__trL0D"};
1670
+
1671
+ /* eslint-disable react/jsx-no-target-blank */
1672
+ var RelatedRichBlock = function RelatedRichBlock(_ref) {
1673
+ var _ref$block = _ref.block,
1674
+ onlyOn = _ref$block.only_on,
1675
+ _ref$block$data = _ref$block.data,
1676
+ blocks = _ref$block$data.blocks,
1677
+ fallback = _ref$block$data.fallback,
1678
+ url = _ref$block$data.url,
1679
+ _ref$block$data$cover = _ref$block$data.cover,
1680
+ urls = _ref$block$data$cover.urls,
1681
+ gradients = _ref$block$data$cover.gradients,
1682
+ tag = _ref$block$data$cover.tag,
1683
+ layout = _ref$block$data$cover.layout,
1684
+ ratio = _ref$block$data$cover.ratio,
1685
+ styleContext = _ref.styleContext;
1686
+ var style = {};
1687
+ var styleHeader = {};
1688
+
1689
+ var _useState = React.useState(false),
1690
+ isRich = _useState[0],
1691
+ setIsRich = _useState[1];
1692
+
1693
+ var cardType = "is" + toCapitalize(layout);
1694
+ React.useEffect(function () {
1695
+ // setIsRich(Math.random() >= 0.5)
1696
+ setIsRich(true);
1697
+ }, []);
1698
+ var classNames = [[styles$s.root, true], [styles$s[cardType], !!layout && !!styles$s[cardType]], [styles$s.hasGradient, !!gradients], [styles$s[onlyOn], !!onlyOn && !!styles$s[onlyOn]]];
1699
+ var context = ['isInMediaBlock'];
1700
+
1701
+ if (styleContext) {
1702
+ classNames = makeStyleContext(classNames, styleContext, styles$s);
1703
+ context = [].concat(styleContext, ['isInMediaBlock']);
1704
+ }
1705
+
1706
+ if (gradients) {
1707
+ var theme = [gradients.text_rgb === '0,0,0' ? 'dark' : 'light'];
1708
+ classNames = makeStyleContext(classNames, theme, styles$s);
1709
+ styleHeader.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockTop');
1710
+ style.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockBottom');
1711
+ }
1712
+
1713
+ if (!isRich) {
1714
+ return React__default.createElement(RelatedBlock, {
1715
+ block: fallback
1716
+ });
1717
+ }
1718
+
1719
+ return React__default.createElement("a", {
1720
+ "data-testid": "related-rich-block",
1721
+ className: makeClassName(classNames),
1722
+ href: url,
1723
+ target: "_blank"
1724
+ }, layout === 'rich' && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1725
+ className: styles$s.overlay,
1726
+ style: style
1727
+ }), React__default.createElement("div", {
1728
+ className: styles$s.overlayHeader,
1729
+ style: styleHeader
1730
+ })), React__default.createElement("div", {
1731
+ className: styles$s.tag
1732
+ }, React__default.createElement(Tag, {
1733
+ size: "small",
1734
+ theme: "inherit",
1735
+ styleContext: "rich"
1736
+ }, tag)), React__default.createElement("div", {
1737
+ className: styles$s.cover
1738
+ }, React__default.createElement(Image, {
1739
+ optimized: urls,
1740
+ ratio: ratio,
1741
+ display: "narrow"
1742
+ })), React__default.createElement("div", {
1743
+ className: styles$s.body
1744
+ }, blocks.map(function (item) {
1745
+ return React__default.createElement(RenderBlocks, {
1746
+ key: item.id,
1747
+ block: item,
1748
+ styleContext: context
1749
+ });
1750
+ })));
1751
+ };
1752
+
1753
+ var styles$t = {"root":"GroupedBlock-module_root__2qfQA","hasFigcaption":"GroupedBlock-module_hasFigcaption__2_mcf","item":"GroupedBlock-module_item__3sz9_","items":"GroupedBlock-module_items__2DV2X","figcaption":"GroupedBlock-module_figcaption__2Q_wf","default":"GroupedBlock-module_default__3ylw_","full":"GroupedBlock-module_full__1dzQR","super_full":"GroupedBlock-module_super_full__1PU72","mobile":"GroupedBlock-module_mobile__3n8Ub","desktop":"GroupedBlock-module_desktop__6ZRpA"};
1663
1754
 
1664
1755
  var GroupedBlock = function GroupedBlock(_ref) {
1665
1756
  var block = _ref.block,
@@ -1674,21 +1765,21 @@ var GroupedBlock = function GroupedBlock(_ref) {
1674
1765
  var sumWidth = normalizedBoxesWidth.reduce(function (sum, x) {
1675
1766
  return sum + x;
1676
1767
  });
1677
- var classNames = [[styles$s.root, true], [styles$s[onlyOn], true], [styles$s.hasFigcaption, block.cc === 'default'], [styles$s[block.display], !!block.display && styles$s[block.display]]];
1768
+ var classNames = [[styles$t.root, true], [styles$t[onlyOn], true], [styles$t.hasFigcaption, block.cc === 'default'], [styles$t[block.display], !!block.display && styles$t[block.display]]];
1678
1769
 
1679
1770
  if (styleContext) {
1680
- classNames = makeStyleContext(classNames, styleContext, styles$s);
1771
+ classNames = makeStyleContext(classNames, styleContext, styles$t);
1681
1772
  }
1682
1773
 
1683
1774
  return React__default.createElement("div", {
1684
1775
  "data-testid": "grouped-block",
1685
1776
  className: makeClassName(classNames)
1686
1777
  }, React__default.createElement("div", {
1687
- className: styles$s.items
1778
+ className: styles$t.items
1688
1779
  }, block.data.map(function (item, index) {
1689
1780
  var percentWidth = normalizedBoxesWidth[index] / sumWidth * 100;
1690
1781
  return React__default.createElement("div", {
1691
- className: styles$s.item,
1782
+ className: styles$t.item,
1692
1783
  key: item.id,
1693
1784
  style: {
1694
1785
  width: percentWidth + "%"
@@ -1698,7 +1789,7 @@ var GroupedBlock = function GroupedBlock(_ref) {
1698
1789
  styleContext: "isInGroupedBlock"
1699
1790
  }));
1700
1791
  })), block.cc && React__default.createElement("figcaption", {
1701
- className: styles$s.figcaption
1792
+ className: styles$t.figcaption
1702
1793
  }, React__default.createElement(MediaCaption, {
1703
1794
  credit: block.credit,
1704
1795
  caption: block.caption,
@@ -1706,32 +1797,32 @@ var GroupedBlock = function GroupedBlock(_ref) {
1706
1797
  })));
1707
1798
  };
1708
1799
 
1709
- var styles$t = {"root":"MetaItem-module_root__2VQom","hasBullets":"MetaItem-module_hasBullets__CkQPI","hasSource":"MetaItem-module_hasSource__1DmCI","listened":"MetaItem-module_listened__lwvAO","read":"MetaItem-module_read__5eAIG","datetime":"MetaItem-module_datetime__3tOWm"};
1800
+ var styles$u = {"root":"MetaItem-module_root__2VQom","hasBullets":"MetaItem-module_hasBullets__CkQPI","hasSource":"MetaItem-module_hasSource__1DmCI","listened":"MetaItem-module_listened__lwvAO","read":"MetaItem-module_read__5eAIG","datetime":"MetaItem-module_datetime__3tOWm"};
1710
1801
 
1711
1802
  var MetaItem = function MetaItem(_ref) {
1712
1803
  var hasSource = _ref.hasSource,
1713
1804
  type = _ref.type,
1714
1805
  children = _ref.children,
1715
1806
  bullets = _ref.bullets;
1716
- var classNames = [[styles$t.root, true], [styles$t[type], !!type && !!styles$t[type]], [styles$t.hasSource, !!hasSource], [styles$t.hasBullets, !!bullets]];
1807
+ var classNames = [[styles$u.root, true], [styles$u[type], !!type && !!styles$u[type]], [styles$u.hasSource, !!hasSource], [styles$u.hasBullets, !!bullets]];
1717
1808
  return React__default.createElement("div", {
1718
1809
  "data-testid": "meta-item",
1719
1810
  className: makeClassName(classNames)
1720
1811
  }, children);
1721
1812
  };
1722
1813
 
1723
- var styles$u = {"root":"MetaItemLive-module_root__2mpD3","gold":"MetaItemLive-module_gold__3yZEV","frame":"MetaItemLive-module_frame__1H_Ha","liveMiddle":"MetaItemLive-module_liveMiddle__wyuV3","liveFirstWave":"MetaItemLive-module_liveFirstWave__3dbvz","liveSecondWave":"MetaItemLive-module_liveSecondWave__12g57"};
1814
+ var styles$v = {"root":"MetaItemLive-module_root__2mpD3","gold":"MetaItemLive-module_gold__3yZEV","frame":"MetaItemLive-module_frame__1H_Ha","liveMiddle":"MetaItemLive-module_liveMiddle__wyuV3","liveFirstWave":"MetaItemLive-module_liveFirstWave__3dbvz","liveSecondWave":"MetaItemLive-module_liveSecondWave__12g57"};
1724
1815
 
1725
1816
  var MetaItemLive = function MetaItemLive(_ref) {
1726
1817
  var _ref$theme = _ref.theme,
1727
1818
  theme = _ref$theme === void 0 ? 'gold' : _ref$theme;
1728
- var classNames = [[styles$u.root, true], [styles$u[theme], !!theme && styles$u[theme]]];
1819
+ var classNames = [[styles$v.root, true], [styles$v[theme], !!theme && styles$v[theme]]];
1729
1820
  return React__default.createElement("div", {
1730
1821
  "data-testid": "meta-item-live",
1731
1822
  "data-meta": "live",
1732
1823
  className: makeClassName(classNames)
1733
1824
  }, React__default.createElement("div", {
1734
- className: styles$u.frame
1825
+ className: styles$v.frame
1735
1826
  }));
1736
1827
  };
1737
1828
 
@@ -1756,7 +1847,7 @@ var pluralize = function pluralize(number, one, two, five) {
1756
1847
  return five;
1757
1848
  };
1758
1849
 
1759
- var styles$v = {"root":"DocumentItemsCount-module_root__P3q-z","items":"DocumentItemsCount-module_items__3pfxW"};
1850
+ var styles$w = {"root":"DocumentItemsCount-module_root__P3q-z","items":"DocumentItemsCount-module_items__3pfxW"};
1760
1851
 
1761
1852
  var DocumentItemsCount = function DocumentItemsCount(_ref) {
1762
1853
  var type = _ref.type,
@@ -1793,9 +1884,9 @@ var DocumentItemsCount = function DocumentItemsCount(_ref) {
1793
1884
  var itemsCount = items + " " + pluralize(items, i18n[lang][type].one, i18n[lang][type].two, i18n[lang][type].five);
1794
1885
  return React__default.createElement("div", {
1795
1886
  "data-testid": "document-items-count",
1796
- className: styles$v.root
1887
+ className: styles$w.root
1797
1888
  }, children, React__default.createElement("span", {
1798
- className: styles$v.items
1889
+ className: styles$w.items
1799
1890
  }, itemsCount));
1800
1891
  };
1801
1892
 
@@ -1998,6 +2089,14 @@ var RenderBlocks = function RenderBlocks(_ref) {
1998
2089
  });
1999
2090
  }
2000
2091
 
2092
+ case 'related_rich':
2093
+ {
2094
+ return React__default.createElement(RelatedRichBlock, {
2095
+ block: block,
2096
+ styleContext: styleContext
2097
+ });
2098
+ }
2099
+
2001
2100
  case 'chapter-subtitle':
2002
2101
  {
2003
2102
  return React__default.createElement(ChapterBlock, {
@@ -2065,7 +2164,7 @@ var RenderBlocks = function RenderBlocks(_ref) {
2065
2164
  }
2066
2165
  };
2067
2166
 
2068
- var styles$w = {"root":"Cover-module_root__18Z8J","body":"Cover-module_body__1xs8e","image":"Cover-module_image__2f3Qc","rich":"Cover-module_rich__1fAGA","dark":"Cover-module_dark__2Ac-w","light":"Cover-module_light__FUp5X","control":"Cover-module_control__VXbhi","isInDynamicBlock":"Cover-module_isInDynamicBlock__3eghb","mobile":"Cover-module_mobile__5DKa1","desktop":"Cover-module_desktop__2mrOc"};
2167
+ var styles$x = {"root":"Cover-module_root__18Z8J","body":"Cover-module_body__1xs8e","image":"Cover-module_image__2f3Qc","rich":"Cover-module_rich__1fAGA","dark":"Cover-module_dark__2Ac-w","light":"Cover-module_light__FUp5X","control":"Cover-module_control__VXbhi","isInDynamicBlock":"Cover-module_isInDynamicBlock__3eghb","mobile":"Cover-module_mobile__5DKa1","desktop":"Cover-module_desktop__2mrOc"};
2069
2168
 
2070
2169
  var Cover = function Cover(_ref) {
2071
2170
  var _ref$block = _ref.block,
@@ -2086,16 +2185,16 @@ var Cover = function Cover(_ref) {
2086
2185
  setIsPopoverShown = _useState[1];
2087
2186
 
2088
2187
  var style = {};
2089
- var classNames = [[styles$w.root, true], [styles$w[onlyOn], !!onlyOn && !!styles$w[onlyOn]]];
2188
+ var classNames = [[styles$x.root, true], [styles$x[onlyOn], !!onlyOn && !!styles$x[onlyOn]]];
2090
2189
 
2091
2190
  if (styleContext) {
2092
- classNames = makeStyleContext(classNames, styleContext, styles$w);
2191
+ classNames = makeStyleContext(classNames, styleContext, styles$x);
2093
2192
  }
2094
2193
 
2095
2194
  if (gradients) {
2096
2195
  var theme = [gradients.text_rgb === '0,0,0' ? 'dark' : 'light'];
2097
- classNames = makeStyleContext(classNames, theme, styles$w);
2098
- style.backgroundImage = generateGradient(gradients.bg_rgb);
2196
+ classNames = makeStyleContext(classNames, theme, styles$x);
2197
+ style.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockBottom');
2099
2198
  }
2100
2199
 
2101
2200
  var renderCC = function renderCC(context) {
@@ -2110,13 +2209,13 @@ var Cover = function Cover(_ref) {
2110
2209
  "data-testid": "cover",
2111
2210
  className: makeClassName(classNames)
2112
2211
  }, React__default.createElement("div", {
2113
- className: styles$w.image
2212
+ className: styles$x.image
2114
2213
  }, React__default.createElement(Image, {
2115
2214
  optimized: urls,
2116
2215
  ratio: mobileRatio,
2117
2216
  display: "narrow"
2118
2217
  })), React__default.createElement("div", {
2119
- className: styles$w.body,
2218
+ className: styles$x.body,
2120
2219
  style: style
2121
2220
  }, blocks.map(function (item) {
2122
2221
  return React__default.createElement(RenderBlocks, {
@@ -2125,7 +2224,7 @@ var Cover = function Cover(_ref) {
2125
2224
  styleContext: styleContext
2126
2225
  });
2127
2226
  })), cc === 'button' && React__default.createElement("button", {
2128
- className: styles$w.control,
2227
+ className: styles$x.control,
2129
2228
  type: "button",
2130
2229
  "aria-label": "Open",
2131
2230
  onClick: function onClick() {
@@ -2138,7 +2237,7 @@ var Cover = function Cover(_ref) {
2138
2237
  }, renderCC('isInPopover')));
2139
2238
  };
2140
2239
 
2141
- var styles$x = {"root":"HalfBlock-module_root__2frv2","main":"HalfBlock-module_main__2XX73","body":"HalfBlock-module_body__3MnEN","footer":"HalfBlock-module_footer__1C0yp","image":"HalfBlock-module_image__2lYel","mobile":"HalfBlock-module_mobile__2latf","desktop":"HalfBlock-module_desktop__3B1Ej"};
2240
+ var styles$y = {"root":"HalfBlock-module_root__2frv2","main":"HalfBlock-module_main__2XX73","body":"HalfBlock-module_body__3MnEN","footer":"HalfBlock-module_footer__1C0yp","image":"HalfBlock-module_image__2lYel","mobile":"HalfBlock-module_mobile__2latf","desktop":"HalfBlock-module_desktop__3B1Ej"};
2142
2241
 
2143
2242
  var HalfBlock = function HalfBlock(_ref) {
2144
2243
  var _ref$block = _ref.block,
@@ -2150,25 +2249,25 @@ var HalfBlock = function HalfBlock(_ref) {
2150
2249
  credit = _ref$block$data$cover.credit,
2151
2250
  caption = _ref$block$data$cover.caption,
2152
2251
  styleContext = _ref.styleContext;
2153
- var classNames = [[styles$x.root, true], [styles$x[onlyOn], true]];
2252
+ var classNames = [[styles$y.root, true], [styles$y[onlyOn], true]];
2154
2253
 
2155
2254
  if (styleContext) {
2156
- classNames = makeStyleContext(classNames, styleContext, styles$x);
2255
+ classNames = makeStyleContext(classNames, styleContext, styles$y);
2157
2256
  }
2158
2257
 
2159
2258
  return React__default.createElement("div", {
2160
2259
  "data-testid": "half-block",
2161
2260
  className: makeClassName(classNames)
2162
2261
  }, React__default.createElement("div", {
2163
- className: styles$x.main
2262
+ className: styles$y.main
2164
2263
  }, React__default.createElement("div", {
2165
- className: styles$x.image
2264
+ className: styles$y.image
2166
2265
  }, React__default.createElement(Image, {
2167
2266
  optimized: optimized,
2168
2267
  ratio: ratio,
2169
2268
  display: "super_full"
2170
2269
  })), React__default.createElement("div", {
2171
- className: styles$x.body
2270
+ className: styles$y.body
2172
2271
  }, data.blocks.map(function (item) {
2173
2272
  return React__default.createElement(RenderBlocks, {
2174
2273
  key: item.id,
@@ -2176,7 +2275,7 @@ var HalfBlock = function HalfBlock(_ref) {
2176
2275
  styleContext: ['rich']
2177
2276
  });
2178
2277
  }))), React__default.createElement("div", {
2179
- className: styles$x.footer
2278
+ className: styles$y.footer
2180
2279
  }, React__default.createElement(MediaCaption, {
2181
2280
  credit: credit,
2182
2281
  caption: caption,
@@ -2184,17 +2283,17 @@ var HalfBlock = function HalfBlock(_ref) {
2184
2283
  })));
2185
2284
  };
2186
2285
 
2187
- var styles$y = {"root":"ImportantLead-module_root__2BdT3","slide":"ImportantLead-module_slide__3kQ9x","mobile":"ImportantLead-module_mobile__3BXbm","desktop":"ImportantLead-module_desktop__3Zljc"};
2286
+ var styles$z = {"root":"ImportantLead-module_root__2BdT3","slide":"ImportantLead-module_slide__3kQ9x","mobile":"ImportantLead-module_mobile__3BXbm","desktop":"ImportantLead-module_desktop__3Zljc"};
2188
2287
 
2189
2288
  var ImportantLead = function ImportantLead(_ref) {
2190
2289
  var _ref$block = _ref.block,
2191
2290
  onlyOn = _ref$block.only_on,
2192
2291
  data = _ref$block.data,
2193
2292
  styleContext = _ref.styleContext;
2194
- var classNames = [[styles$y.root, true], [styles$y[onlyOn], !!onlyOn]];
2293
+ var classNames = [[styles$z.root, true], [styles$z[onlyOn], !!onlyOn]];
2195
2294
 
2196
2295
  if (styleContext) {
2197
- classNames = makeStyleContext(classNames, styleContext, styles$y);
2296
+ classNames = makeStyleContext(classNames, styleContext, styles$z);
2198
2297
  }
2199
2298
 
2200
2299
  return React__default.createElement("div", {
@@ -2209,7 +2308,7 @@ var ImportantLead = function ImportantLead(_ref) {
2209
2308
  }));
2210
2309
  };
2211
2310
 
2212
- var styles$z = {"root":"Spoiler-module_root__1OfSR","header":"Spoiler-module_header__1rZUs","body":"Spoiler-module_body__Q1e_c","spoiled":"Spoiler-module_spoiled__1A5r4","footer":"Spoiler-module_footer__23mh7","spoilerSticky":"Spoiler-module_spoilerSticky__3Kd30","spoilerStickyBg":"Spoiler-module_spoilerStickyBg__nYdlo","center":"Spoiler-module_center__tq1m0","full":"Spoiler-module_full__1QFqR","default":"Spoiler-module_default__2Kjx8","mobile":"Spoiler-module_mobile__2BPt8","desktop":"Spoiler-module_desktop__1BIFJ"};
2311
+ var styles$A = {"root":"Spoiler-module_root__1OfSR","header":"Spoiler-module_header__1rZUs","body":"Spoiler-module_body__Q1e_c","spoiled":"Spoiler-module_spoiled__1A5r4","footer":"Spoiler-module_footer__23mh7","spoilerSticky":"Spoiler-module_spoilerSticky__3Kd30","spoilerStickyBg":"Spoiler-module_spoilerStickyBg__nYdlo","center":"Spoiler-module_center__tq1m0","full":"Spoiler-module_full__1QFqR","default":"Spoiler-module_default__2Kjx8","mobile":"Spoiler-module_mobile__2BPt8","desktop":"Spoiler-module_desktop__1BIFJ"};
2213
2312
 
2214
2313
  var Spoiler = function Spoiler(_ref) {
2215
2314
  var _ref$block = _ref.block,
@@ -2244,10 +2343,10 @@ var Spoiler = function Spoiler(_ref) {
2244
2343
  }
2245
2344
  };
2246
2345
 
2247
- var classNames = [[styles$z.root, true], [styles$z[onlyOn], !!onlyOn], [styles$z[display], !!display && styles$z[display]], [[styles$z.spoiled], !!spoiled]];
2346
+ var classNames = [[styles$A.root, true], [styles$A[onlyOn], !!onlyOn], [styles$A[display], !!display && styles$A[display]], [[styles$A.spoiled], !!spoiled]];
2248
2347
 
2249
2348
  if (styleContext) {
2250
- classNames = makeStyleContext(classNames, styleContext, styles$z);
2349
+ classNames = makeStyleContext(classNames, styleContext, styles$A);
2251
2350
  }
2252
2351
 
2253
2352
  var buttonCollapse = button ? button.collapse : 'Свернуть';
@@ -2257,9 +2356,9 @@ var Spoiler = function Spoiler(_ref) {
2257
2356
  className: makeClassName(classNames),
2258
2357
  "data-testid": "spoiler"
2259
2358
  }, React__default.createElement("div", {
2260
- className: styles$z.header
2359
+ className: styles$A.header
2261
2360
  }, title && React__default.createElement("h3", null, title)), React__default.createElement("div", {
2262
- className: styles$z.body
2361
+ className: styles$A.body
2263
2362
  }, blocks.map(function (item) {
2264
2363
  return React__default.createElement(RenderBlocks, {
2265
2364
  key: item.id,
@@ -2267,7 +2366,7 @@ var Spoiler = function Spoiler(_ref) {
2267
2366
  styleContext: styleContext
2268
2367
  });
2269
2368
  })), React__default.createElement("div", {
2270
- className: styles$z.footer
2369
+ className: styles$A.footer
2271
2370
  }, React__default.createElement(Button, {
2272
2371
  size: "default",
2273
2372
  theme: "gray",
@@ -2343,7 +2442,7 @@ var RawHtmlBlock = function RawHtmlBlock(_ref) {
2343
2442
  }
2344
2443
  };
2345
2444
 
2346
- var styles$A = {"root":"ToolbarButton-module_root__xN-fq","dark":"ToolbarButton-module_dark__GrIOr","bookmark":"ToolbarButton-module_bookmark__3369b","isActive":"ToolbarButton-module_isActive__3NLAE","text":"ToolbarButton-module_text__32m6s"};
2445
+ var styles$B = {"root":"ToolbarButton-module_root__xN-fq","dark":"ToolbarButton-module_dark__GrIOr","bookmark":"ToolbarButton-module_bookmark__3369b","isActive":"ToolbarButton-module_isActive__3NLAE","text":"ToolbarButton-module_text__32m6s"};
2347
2446
 
2348
2447
  var ToolbarButton = function ToolbarButton(_ref) {
2349
2448
  var children = _ref.children,
@@ -2351,7 +2450,7 @@ var ToolbarButton = function ToolbarButton(_ref) {
2351
2450
  theme = _ref.theme,
2352
2451
  isActive = _ref.isActive,
2353
2452
  _onClick = _ref.onClick;
2354
- var classNames = [[styles$A.root, true], [styles$A[type], !!styles$A[type]], [styles$A[theme], !!styles$A[theme] && !!theme], [styles$A.isActive, !!isActive]];
2453
+ var classNames = [[styles$B.root, true], [styles$B[type], !!styles$B[type]], [styles$B[theme], !!styles$B[theme] && !!theme], [styles$B.isActive, !!isActive]];
2355
2454
  return React__default.createElement("button", {
2356
2455
  "data-testid": "toolbar-button",
2357
2456
  className: makeClassName(classNames),
@@ -2364,7 +2463,7 @@ var ToolbarButton = function ToolbarButton(_ref) {
2364
2463
  icon: type,
2365
2464
  styleContext: "isInToolbar"
2366
2465
  }), children && React__default.createElement("span", {
2367
- className: styles$A.text
2466
+ className: styles$B.text
2368
2467
  }, children));
2369
2468
  };
2370
2469
 
@@ -2396,6 +2495,7 @@ exports.Primary = Primary;
2396
2495
  exports.QuoteBlock = QuoteBlock;
2397
2496
  exports.RawHtmlBlock = RawHtmlBlock;
2398
2497
  exports.RelatedBlock = RelatedBlock;
2498
+ exports.RelatedRichBlock = RelatedRichBlock;
2399
2499
  exports.RenderBlocks = RenderBlocks;
2400
2500
  exports.RichTitle = RichTitle;
2401
2501
  exports.Secondary = Secondary;