@meduza/ui-kit-2 0.1.18 → 0.1.20

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 (86) 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 +97 -7
  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 +97 -8
  20. package/dist/ui-kit-2.esm.js.map +1 -1
  21. package/dist/ui-kit.css +1240 -1042
  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/Button/Button.module.css +2 -0
  28. package/src/CardTitle/CardTitle.test.tsx +4 -3
  29. package/src/ChapterBlock/ChapterBlock.test.tsx +4 -3
  30. package/src/Cover/Cover.test.tsx +3 -3
  31. package/src/Cover/Cover.types.ts +22 -1
  32. package/src/Cover/index.tsx +1 -1
  33. package/src/DocumentItemsCount/DocumentItemsCount.test.tsx +4 -3
  34. package/src/DotsOnImage/DotsOnImage.test.tsx +4 -2
  35. package/src/DotsOnImage/DotsOnImage.types.ts +1 -1
  36. package/src/EmbedBlock/EmbedBlock.test.tsx +16 -3
  37. package/src/EmbedBlock/index.tsx +1 -1
  38. package/src/GroupedBlock/GroupedBlock.test.tsx +5 -3
  39. package/src/HalfBlock/HalfBlock.test.tsx +4 -3
  40. package/src/Image/Image.test.tsx +3 -0
  41. package/src/Image/Image.types.ts +1 -6
  42. package/src/Image/RenderPicture.tsx +1 -1
  43. package/src/ImportantLead/ImportantLead.test.tsx +10 -8
  44. package/src/ImportantLead/mock.json +6 -0
  45. package/src/Lazy/Lazy.test.tsx +3 -0
  46. package/src/ListBlock/ListBlock.stories.tsx +2 -1
  47. package/src/ListBlock/ListBlock.test.tsx +8 -4
  48. package/src/ListBlock/ListBlock.types.ts +6 -1
  49. package/src/ListBlock/index.tsx +1 -1
  50. package/src/ListBlock/mock.json +1 -1
  51. package/src/MaterialNote/MaterialNote.test.tsx +4 -3
  52. package/src/Meta/Meta.module.css +1 -1
  53. package/src/QuoteBlock/QuoteBlock.test.tsx +4 -3
  54. package/src/RawHtmlBlock/RawHtmlBlock.test.tsx +18 -9
  55. package/src/RawHtmlBlock/mock.json +6 -0
  56. package/src/RelatedBlock/RelatedBlock.test.tsx +4 -3
  57. package/src/RelatedBlock/RelatedBlock.types.ts +14 -1
  58. package/src/RelatedRichBlock/RelatedRichBlock.module.css +165 -0
  59. package/src/RelatedRichBlock/RelatedRichBlock.stories.module.css +12 -0
  60. package/src/RelatedRichBlock/RelatedRichBlock.stories.tsx +55 -0
  61. package/src/RelatedRichBlock/RelatedRichBlock.test.tsx +20 -0
  62. package/src/RelatedRichBlock/RelatedRichBlock.types.ts +4 -0
  63. package/src/RelatedRichBlock/index.tsx +105 -0
  64. package/src/RelatedRichBlock/mock.json +354 -0
  65. package/src/RenderBlocks/RenderBlocks.stories.tsx +4 -1
  66. package/src/RenderBlocks/RenderBlocks.test.tsx +15 -9
  67. package/src/RenderBlocks/mock.json +10 -0
  68. package/src/RichTitle/RichTitle.module.css +37 -7
  69. package/src/RichTitle/RichTitle.test.tsx +4 -3
  70. package/src/RichTitle/RichTitle.types.ts +8 -1
  71. package/src/SimpleBlock/SimpleBlock.test.tsx +16 -9
  72. package/src/SimpleBlock/mock.json +6 -0
  73. package/src/SimpleTitle/SimpleTitle.test.tsx +4 -3
  74. package/src/SimpleTitle/SimpleTitle.types.ts +6 -1
  75. package/src/SourceBlock/SourceBlock.test.tsx +4 -3
  76. package/src/SourceBlock/SourceBlock.types.ts +13 -1
  77. package/src/Spoiler/Spoiler.test.tsx +4 -3
  78. package/src/Table/Table.test.tsx +3 -3
  79. package/src/Timestamp/Timestamp.test.tsx +4 -3
  80. package/src/ToolbarButton/ToolbarButton.test.tsx +8 -3
  81. package/src/_storybook/PreviewWrapper/PreviewWrapper.module.css +3 -1
  82. package/src/index.tsx +1 -0
  83. package/src/types.ts +6 -0
  84. package/src/utils/{toCamel.ts → converCase.ts} +3 -0
  85. package/src/utils/generateGradient.ts +21 -15
  86. package/dist/utils/toCamel.d.ts +0 -1
@@ -370,6 +370,9 @@ var toCamel = function toCamel(s) {
370
370
  return str.toUpperCase().replace('_', '');
371
371
  });
372
372
  };
373
+ var toCapitalize = function toCapitalize(s) {
374
+ return s[0].toUpperCase() + s.slice(1);
375
+ };
373
376
 
374
377
  var RenderPicture = function RenderPicture(_ref) {
375
378
  var source = _ref.source,
@@ -1389,7 +1392,7 @@ var EmbedBlockContainer = function EmbedBlockContainer(_ref) {
1389
1392
  styleContext = _ref.styleContext,
1390
1393
  lang = _ref.lang;
1391
1394
 
1392
- if (block.data.wrap_with_iframe) {
1395
+ if (block.data && block.data.wrap_with_iframe) {
1393
1396
  return React.createElement(IframeBlock, {
1394
1397
  block: block,
1395
1398
  styleContext: styleContext,
@@ -1460,9 +1463,12 @@ var ChapterBlock = function ChapterBlock(_ref) {
1460
1463
  }));
1461
1464
  };
1462
1465
 
1463
- var generateGradient = function generateGradient(color) {
1464
- 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]];
1465
- var gradient = gradientSteps.map(function (i) {
1466
+ var generateGradient = function generateGradient(color, type) {
1467
+ var steps = {
1468
+ 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]],
1469
+ mediaBlockTop: [[0.5, 0], [0, 97]]
1470
+ };
1471
+ var gradient = steps[type].map(function (i) {
1466
1472
  return "rgba(" + color + ", " + i[0] + ") " + i[1] + "%";
1467
1473
  });
1468
1474
  return "linear-gradient(-180deg, " + gradient + ")";
@@ -1487,7 +1493,7 @@ var SimpleTitle = function SimpleTitle(_ref) {
1487
1493
  }, first);
1488
1494
  };
1489
1495
 
1490
- 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"};
1496
+ 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"};
1491
1497
 
1492
1498
  var RichTitle = function RichTitle(_ref) {
1493
1499
  var _ref$block = _ref.block,
@@ -1568,7 +1574,8 @@ var ListBlock = function ListBlock(_ref) {
1568
1574
  }
1569
1575
 
1570
1576
  return React.createElement(TagName, {
1571
- className: makeClassName(classNames)
1577
+ className: makeClassName(classNames),
1578
+ "data-testid": "list-block"
1572
1579
  }, data.map(function (item, index) {
1573
1580
  return React.createElement("li", {
1574
1581
  key: index,
@@ -2088,7 +2095,7 @@ var Cover = function Cover(_ref) {
2088
2095
  if (gradients) {
2089
2096
  var theme = [gradients.text_rgb === '0,0,0' ? 'dark' : 'light'];
2090
2097
  classNames = makeStyleContext(classNames, theme, styles$w);
2091
- style.backgroundImage = generateGradient(gradients.bg_rgb);
2098
+ style.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockBottom');
2092
2099
  }
2093
2100
 
2094
2101
  var renderCC = function renderCC(context) {
@@ -2361,5 +2368,87 @@ var ToolbarButton = function ToolbarButton(_ref) {
2361
2368
  }, children));
2362
2369
  };
2363
2370
 
2364
- export { BookmarkButton, Button, CardTitle, ChapterBlock, Cover, DocumentItemsCount, DotsOnImage, Dropdown, EmbedBlockContainer, Footnote, GroupedBlock, HalfBlock, Image, ImportantLead, Lazy, ListBlock, MaterialNote, MaterialTitle, MediaCaption, Menu, Meta, MetaItem, MetaItemLive, Popover, Primary, QuoteBlock, RawHtmlBlock, RelatedBlock, RenderBlocks, RichTitle, Secondary, SimpleBlock, SimpleTitle, SourceBlock, Spoiler, SvgSymbol, Switcher, Table, Tag, Timestamp, Toolbar, ToolbarButton };
2371
+ var styles$B = {"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"};
2372
+
2373
+ /* eslint-disable react/jsx-no-target-blank */
2374
+ var RelatedRichBlock = function RelatedRichBlock(_ref) {
2375
+ var _ref$block = _ref.block,
2376
+ onlyOn = _ref$block.only_on,
2377
+ _ref$block$data = _ref$block.data,
2378
+ blocks = _ref$block$data.blocks,
2379
+ fallback = _ref$block$data.fallback,
2380
+ url = _ref$block$data.url,
2381
+ _ref$block$data$cover = _ref$block$data.cover,
2382
+ urls = _ref$block$data$cover.urls,
2383
+ gradients = _ref$block$data$cover.gradients,
2384
+ tag = _ref$block$data$cover.tag,
2385
+ layout = _ref$block$data$cover.layout,
2386
+ ratio = _ref$block$data$cover.ratio,
2387
+ styleContext = _ref.styleContext;
2388
+ var style = {};
2389
+ var styleHeader = {};
2390
+
2391
+ var _useState = useState(false),
2392
+ isRich = _useState[0],
2393
+ setIsRich = _useState[1];
2394
+
2395
+ var cardType = "is" + toCapitalize(layout);
2396
+ useEffect(function () {
2397
+ // setIsRich(Math.random() >= 0.5)
2398
+ setIsRich(true);
2399
+ }, []);
2400
+ var classNames = [[styles$B.root, true], [styles$B[cardType], !!layout && !!styles$B[cardType]], [styles$B.hasGradient, !!gradients], [styles$B[onlyOn], !!onlyOn && !!styles$B[onlyOn]]];
2401
+
2402
+ if (styleContext) {
2403
+ classNames = makeStyleContext(classNames, styleContext, styles$B);
2404
+ }
2405
+
2406
+ if (gradients) {
2407
+ var theme = [gradients.text_rgb === '0,0,0' ? 'dark' : 'light'];
2408
+ classNames = makeStyleContext(classNames, theme, styles$B);
2409
+ styleHeader.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockTop');
2410
+ style.backgroundImage = generateGradient(gradients.bg_rgb, 'mediaBlockBottom');
2411
+ }
2412
+
2413
+ if (!isRich) {
2414
+ return React.createElement(RelatedBlock, {
2415
+ block: fallback
2416
+ });
2417
+ }
2418
+
2419
+ return React.createElement("a", {
2420
+ "data-testid": "related-rich-block",
2421
+ className: makeClassName(classNames),
2422
+ href: url,
2423
+ target: "_blank"
2424
+ }, layout === 'rich' && React.createElement(React.Fragment, null, React.createElement("div", {
2425
+ className: styles$B.overlay,
2426
+ style: style
2427
+ }), React.createElement("div", {
2428
+ className: styles$B.overlayHeader,
2429
+ style: styleHeader
2430
+ })), React.createElement("div", {
2431
+ className: styles$B.tag
2432
+ }, React.createElement(Tag, {
2433
+ size: "small",
2434
+ theme: "inherit",
2435
+ styleContext: "rich"
2436
+ }, tag)), React.createElement("div", {
2437
+ className: styles$B.cover
2438
+ }, React.createElement(Image, {
2439
+ optimized: urls,
2440
+ ratio: ratio,
2441
+ display: "narrow"
2442
+ })), React.createElement("div", {
2443
+ className: styles$B.body
2444
+ }, blocks.map(function (item) {
2445
+ return React.createElement(RenderBlocks, {
2446
+ key: item.id,
2447
+ block: item,
2448
+ styleContext: [].concat(styleContext, ['isInMediaBlock'])
2449
+ });
2450
+ })));
2451
+ };
2452
+
2453
+ export { BookmarkButton, Button, CardTitle, ChapterBlock, Cover, DocumentItemsCount, DotsOnImage, Dropdown, EmbedBlockContainer, Footnote, GroupedBlock, HalfBlock, Image, ImportantLead, Lazy, ListBlock, MaterialNote, MaterialTitle, MediaCaption, Menu, Meta, MetaItem, MetaItemLive, Popover, Primary, QuoteBlock, RawHtmlBlock, RelatedBlock, RelatedRichBlock, RenderBlocks, RichTitle, Secondary, SimpleBlock, SimpleTitle, SourceBlock, Spoiler, SvgSymbol, Switcher, Table, Tag, Timestamp, Toolbar, ToolbarButton };
2365
2454
  //# sourceMappingURL=ui-kit-2.esm.js.map