@meduza/ui-kit-2 0.1.2 → 0.1.4

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 (76) hide show
  1. package/README.md +5 -0
  2. package/dist/Button/Button.types.d.ts +2 -2
  3. package/dist/CardTitle/CardTitle.types.d.ts +5 -3
  4. package/dist/DocumentItemsCount/DocumentItemsCount.types.d.ts +3 -3
  5. package/dist/DotsOnImage/DotsOnImage.types.d.ts +5 -5
  6. package/dist/EmbedBlock/EmbedBlock.types.d.ts +6 -0
  7. package/dist/EmbedBlock/EmbedGif.d.ts +3 -0
  8. package/dist/Image/Image.types.d.ts +10 -10
  9. package/dist/ImportantLead/ImportantLead.types.d.ts +1 -1
  10. package/dist/ListBlock/ListBlock.types.d.ts +1 -1
  11. package/dist/Meta/Meta.types.d.ts +3 -3
  12. package/dist/MetaItem/MetaItem.types.d.ts +1 -1
  13. package/dist/RawHtmlBlock/RawHtmlBlock.types.d.ts +11 -5
  14. package/dist/RenderBlocks/RenderBlocks.types.d.ts +7 -1
  15. package/dist/ToolbarButton/ToolbarButton.types.d.ts +1 -1
  16. package/dist/ui-kit-2.cjs.development.js +93 -82
  17. package/dist/ui-kit-2.cjs.development.js.map +1 -1
  18. package/dist/ui-kit-2.cjs.production.min.js +1 -1
  19. package/dist/ui-kit-2.cjs.production.min.js.map +1 -1
  20. package/dist/ui-kit-2.esm.js +93 -82
  21. package/dist/ui-kit-2.esm.js.map +1 -1
  22. package/dist/ui-kit.css +652 -551
  23. package/package.json +1 -1
  24. package/src/Button/Button.types.ts +3 -1
  25. package/src/CardTitle/CardTitle.types.ts +5 -3
  26. package/src/CardTitle/index.tsx +3 -1
  27. package/src/Cover/Cover.module.css +107 -1
  28. package/src/Cover/Cover.stories.module.css +2 -0
  29. package/src/Cover/Cover.stories.tsx +3 -1
  30. package/src/Cover/index.tsx +3 -3
  31. package/src/Cover/mock.json +68 -0
  32. package/src/DocumentItemsCount/DocumentItemsCount.stories.module.css +2 -0
  33. package/src/DocumentItemsCount/DocumentItemsCount.stories.tsx +6 -1
  34. package/src/DocumentItemsCount/DocumentItemsCount.types.ts +3 -3
  35. package/src/DotsOnImage/DotsOnImage.types.ts +5 -5
  36. package/src/DotsOnImage/index.tsx +4 -8
  37. package/src/EmbedBlock/EmbedBlock.stories.tsx +0 -1
  38. package/src/EmbedBlock/EmbedBlock.tsx +18 -86
  39. package/src/EmbedBlock/EmbedBlock.types.ts +7 -0
  40. package/src/EmbedBlock/EmbedGif.tsx +73 -0
  41. package/src/EmbedBlock/mock.json +75 -0
  42. package/src/GroupedBlock/GroupedBlock.stories.tsx +3 -1
  43. package/src/GroupedBlock/mock.json +110 -0
  44. package/src/HalfBlock/HalfBlock.stories.module.css +2 -1
  45. package/src/HalfBlock/HalfBlock.stories.tsx +3 -1
  46. package/src/HalfBlock/mock.json +81 -0
  47. package/src/Image/Image.types.ts +10 -10
  48. package/src/ImportantLead/ImportantLead.stories.tsx +3 -1
  49. package/src/ImportantLead/ImportantLead.types.ts +1 -1
  50. package/src/ImportantLead/mock.json +47 -0
  51. package/src/ListBlock/ListBlock.stories.module.css +4 -0
  52. package/src/ListBlock/ListBlock.stories.tsx +5 -1
  53. package/src/ListBlock/ListBlock.types.ts +2 -2
  54. package/src/ListBlock/mock.json +24 -0
  55. package/src/Meta/Meta.types.ts +3 -3
  56. package/src/MetaItem/MetaItem.types.ts +1 -1
  57. package/src/RawHtmlBlock/RawHtmlBlock.stories.tsx +1 -1
  58. package/src/RawHtmlBlock/RawHtmlBlock.types.ts +13 -5
  59. package/src/RelatedBlock/RelatedBlock.stories.tsx +3 -1
  60. package/src/RelatedBlock/RelatedBlock.types.ts +1 -1
  61. package/src/RelatedBlock/mock.json +21 -0
  62. package/src/RenderBlocks/RenderBlocks.stories.tsx +1 -1
  63. package/src/RenderBlocks/RenderBlocks.types.ts +8 -1
  64. package/src/RenderBlocks/index.tsx +1 -0
  65. package/src/RichTitle/RichTitle.stories.tsx +3 -1
  66. package/src/RichTitle/RichTitle.types.ts +1 -1
  67. package/src/RichTitle/mock.json +7 -0
  68. package/src/SimpleBlock/SimpleBlock.stories.tsx +9 -1
  69. package/src/SimpleBlock/SimpleBlock.types.ts +1 -1
  70. package/src/SimpleBlock/mock.json +68 -0
  71. package/src/SimpleTitle/SimpleTitle.stories.tsx +3 -1
  72. package/src/SimpleTitle/SimpleTitle.types.ts +1 -1
  73. package/src/SimpleTitle/mock.json +7 -0
  74. package/src/SourceBlock/SourceBlock.types.ts +1 -1
  75. package/src/Spoiler/Spoiler.types.ts +1 -1
  76. package/src/ToolbarButton/ToolbarButton.types.ts +1 -1
@@ -477,13 +477,13 @@ var Image = function Image(_ref) {
477
477
  var styles$5 = {"root":"DotsOnImage-module_root__2XP3Q","dot":"DotsOnImage-module_dot__H1wua","popover":"DotsOnImage-module_popover__35Cpj","popoverTitle":"DotsOnImage-module_popoverTitle__343d8"};
478
478
 
479
479
  var DotsOnImage = function DotsOnImage(_ref) {
480
- var block = _ref.block;
481
- var optimized = block.optimized,
482
- width = block.width,
483
- height = block.height,
484
- credit = block.credit,
485
- display = block.display,
486
- dots = block.dots;
480
+ var _ref$block = _ref.block,
481
+ optimized = _ref$block.optimized,
482
+ width = _ref$block.width,
483
+ height = _ref$block.height,
484
+ credit = _ref$block.credit,
485
+ display = _ref$block.display,
486
+ dots = _ref$block.dots;
487
487
 
488
488
  var _useState = useState({
489
489
  title: null,
@@ -506,7 +506,7 @@ var DotsOnImage = function DotsOnImage(_ref) {
506
506
 
507
507
  return React.createElement("div", {
508
508
  "data-testid": "dots-on-image",
509
- className: makeClassName([[styles$5.root, true]])
509
+ className: styles$5.root
510
510
  }, React.createElement("div", {
511
511
  className: styles$5.dots
512
512
  }, dots.map(function (dot) {
@@ -990,31 +990,16 @@ var DangerousHTML = function DangerousHTML(_ref) {
990
990
 
991
991
  var styles$h = {"root":"EmbedBlock-module_root__28k9U","object":"EmbedBlock-module_object__2_UZ7","objectWrap":"EmbedBlock-module_objectWrap__1aDVd","proportional":"EmbedBlock-module_proportional__3lAv4","attachment":"EmbedBlock-module_attachment__2pE0t","default":"EmbedBlock-module_default__LSDny","xs":"EmbedBlock-module_xs__1hFgW","full":"EmbedBlock-module_full__1TEjx","super_full":"EmbedBlock-module_super_full__1Fn9A","figure":"EmbedBlock-module_figure__vAvcN","dark":"EmbedBlock-module_dark__1be2G","isInGroupedBlock":"EmbedBlock-module_isInGroupedBlock__3r_i-","gameEmbed":"EmbedBlock-module_gameEmbed__AZQSo","mobile":"EmbedBlock-module_mobile__1P-eo","desktop":"EmbedBlock-module_desktop__SF5a_","control":"EmbedBlock-module_control__xr8dZ","raw_html":"EmbedBlock-module_raw_html__MQoAA","youtube":"EmbedBlock-module_youtube__3gGQ5","vimeo":"EmbedBlock-module_vimeo__kpH1s","onetv":"EmbedBlock-module_onetv__3o33d","coub":"EmbedBlock-module_coub__38Mva","facebook_video":"EmbedBlock-module_facebook_video__1_M05","card":"EmbedBlock-module_card__KTbvp","slide":"EmbedBlock-module_slide__3cL3M","cc":"EmbedBlock-module_cc__1BQ5g","isInAnswer":"EmbedBlock-module_isInAnswer__tLlgs","picture":"EmbedBlock-module_picture__186q0","wrapper":"EmbedBlock-module_wrapper__33XvX"};
992
992
 
993
- var EmbedBlock = function EmbedBlock(_ref) {
994
- var block = _ref.block,
995
- _ref$block = _ref.block,
996
- data = _ref$block.data,
997
- _ref$block$data = _ref$block.data,
998
- display = _ref$block$data.display,
999
- onlyOn = _ref$block$data.only_on,
1000
- provider = _ref$block$data.provider,
1001
- cc = _ref$block$data.cc,
1002
- optimized = _ref$block$data.optimized,
1003
- small = _ref$block$data.small_url,
1004
- large = _ref$block$data.large_url,
1005
- styleContext = _ref.styleContext,
1006
- children = _ref.children;
993
+ var EmbedGif = function EmbedGif(_ref) {
994
+ var gif = _ref.gif,
995
+ mp4Url = _ref.mp4Url,
996
+ style = _ref.style;
1007
997
 
1008
998
  var _useState = useState(false),
1009
- isPopoverShown = _useState[0],
1010
- setIsPopoverShown = _useState[1];
1011
-
1012
- var _useState2 = useState(false),
1013
- videoFrozen = _useState2[0],
1014
- setVideoFrozen = _useState2[1];
999
+ videoFrozen = _useState[0],
1000
+ setVideoFrozen = _useState[1];
1015
1001
 
1016
1002
  var videoElem = useRef(null);
1017
- var wrapperElem = useRef(null);
1018
1003
 
1019
1004
  var handleVideoTouch = function handleVideoTouch() {
1020
1005
  videoElem.current.play();
@@ -1030,31 +1015,67 @@ var EmbedBlock = function EmbedBlock(_ref) {
1030
1015
  useEffect(function () {
1031
1016
  var video = videoElem.current;
1032
1017
 
1033
- if (block.type === 'gif' && video) {
1034
- var _viewportSize = viewportSize(),
1035
- viewportWidth = _viewportSize.width;
1036
-
1037
- enableInlineVideo(video);
1018
+ var _viewportSize = viewportSize(),
1019
+ viewportWidth = _viewportSize.width;
1038
1020
 
1039
- if (viewportWidth >= MediaQuerySizes.MOBILE) {
1040
- video.setAttribute('autoplay', true);
1041
- video.play();
1042
- } else {
1043
- setVideoFrozen(true);
1044
- video.pause();
1045
- video.addEventListener('touchstart', handleVideoTouch);
1046
- }
1021
+ enableInlineVideo(video);
1047
1022
 
1048
- video.addEventListener('error', handleVideoError);
1023
+ if (viewportWidth >= MediaQuerySizes.MOBILE) {
1024
+ video.setAttribute('autoplay', true);
1025
+ video.play();
1026
+ } else {
1027
+ setVideoFrozen(true);
1028
+ video.pause();
1029
+ video.addEventListener('touchstart', handleVideoTouch);
1049
1030
  }
1050
1031
 
1032
+ video.addEventListener('error', handleVideoError);
1051
1033
  return function () {
1052
- if (video) {
1053
- video.removeEventListener('touchstart', handleVideoTouch);
1054
- video.removeEventListener('error', handleVideoError);
1055
- }
1034
+ video.removeEventListener('touchstart', handleVideoTouch);
1035
+ video.removeEventListener('error', handleVideoError);
1056
1036
  };
1057
1037
  }, []);
1038
+ return React.createElement("div", {
1039
+ className: styles$h.figure
1040
+ }, React.createElement("div", {
1041
+ className: styles$h.objectWrap,
1042
+ style: style,
1043
+ "data-frozen": videoFrozen
1044
+ }, React.createElement("video", {
1045
+ playsInline: true,
1046
+ muted: true,
1047
+ loop: true,
1048
+ autoPlay: true,
1049
+ preload: "metadata",
1050
+ "data-gif": gif,
1051
+ ref: videoElem
1052
+ }, React.createElement("source", {
1053
+ src: "https://meduza.io" + mp4Url,
1054
+ type: "video/mp4"
1055
+ }))));
1056
+ };
1057
+
1058
+ var EmbedBlock = function EmbedBlock(_ref) {
1059
+ var block = _ref.block,
1060
+ _ref$block = _ref.block,
1061
+ data = _ref$block.data,
1062
+ _ref$block$data = _ref$block.data,
1063
+ html = _ref$block$data.html,
1064
+ display = _ref$block$data.display,
1065
+ onlyOn = _ref$block$data.only_on,
1066
+ provider = _ref$block$data.provider,
1067
+ cc = _ref$block$data.cc,
1068
+ optimized = _ref$block$data.optimized,
1069
+ small = _ref$block$data.small_url,
1070
+ large = _ref$block$data.large_url,
1071
+ gifUrl = _ref$block$data.gif_url,
1072
+ mp4Url = _ref$block$data.mp4_url,
1073
+ styleContext = _ref.styleContext,
1074
+ children = _ref.children;
1075
+
1076
+ var _useState = useState(false),
1077
+ isPopoverShown = _useState[0],
1078
+ setIsPopoverShown = _useState[1];
1058
1079
 
1059
1080
  var renderCC = function renderCC(context) {
1060
1081
  return React.createElement(MediaCaption, {
@@ -1065,30 +1086,14 @@ var EmbedBlock = function EmbedBlock(_ref) {
1065
1086
  };
1066
1087
 
1067
1088
  var renderEmbed = function renderEmbed(style) {
1068
- var html = block.data.html;
1069
-
1070
1089
  switch (block.type) {
1071
1090
  case 'gif':
1072
1091
  {
1073
- return React.createElement("div", {
1074
- className: styles$h.figure
1075
- }, React.createElement("div", {
1076
- className: styles$h.objectWrap,
1077
- style: style,
1078
- ref: wrapperElem,
1079
- "data-frozen": videoFrozen
1080
- }, React.createElement("video", {
1081
- playsInline: true,
1082
- muted: true,
1083
- loop: true,
1084
- autoPlay: true,
1085
- preload: "metadata",
1086
- "data-gif": block.data.gif_url,
1087
- ref: videoElem
1088
- }, React.createElement("source", {
1089
- src: "https://meduza.io" + block.data.mp4_url,
1090
- type: "video/mp4"
1091
- }))));
1092
+ return React.createElement(EmbedGif, {
1093
+ gif: gifUrl,
1094
+ mp4Url: mp4Url,
1095
+ style: style
1096
+ });
1092
1097
  }
1093
1098
 
1094
1099
  case 'image':
@@ -1118,6 +1123,13 @@ var EmbedBlock = function EmbedBlock(_ref) {
1118
1123
  }));
1119
1124
  }
1120
1125
 
1126
+ case 'dots_on_image':
1127
+ {
1128
+ return React.createElement(DotsOnImage, {
1129
+ block: data
1130
+ });
1131
+ }
1132
+
1121
1133
  default:
1122
1134
  {
1123
1135
  return React.createElement("div", {
@@ -1133,8 +1145,7 @@ var EmbedBlock = function EmbedBlock(_ref) {
1133
1145
  }
1134
1146
  };
1135
1147
 
1136
- var style = {};
1137
- var isProportional; // @TODO: Разобраться зачем это было нужно
1148
+ var style = {}; // @TODO: Разобраться зачем это было нужно
1138
1149
  // const className = Object.keys(styleContext)
1139
1150
  // .filter(key => key.startsWith('isIn') && styles[key])
1140
1151
  // .reduce((acc, key) => {
@@ -1142,15 +1153,14 @@ var EmbedBlock = function EmbedBlock(_ref) {
1142
1153
  // return acc
1143
1154
  // }, [])
1144
1155
 
1145
- /* eslint-disable react/no-array-index-key, no-mixed-operators */
1156
+ var isProportional = block.data.height && block.data.width;
1146
1157
 
1147
- if (block.data.height && block.data.width) {
1158
+ if (isProportional) {
1148
1159
  style.paddingBottom = block.data.height / block.data.width * 100 + "%";
1149
1160
  style.height = 0;
1150
- isProportional = true;
1151
1161
  }
1152
1162
 
1153
- var classNames = [[styles$h.root, true], [styles$h.cc, cc], [styles$h[display], !!display && styles$h[display]], [styles$h[provider], !!provider && !!styles$h[provider]], [styles$h[onlyOn], !!onlyOn && styles$h[onlyOn]], [styles$h.proportional, !!styles$h.proportional && isProportional]];
1163
+ var classNames = [[styles$h.root, true], [styles$h.cc, cc], [styles$h[display], !!display && styles$h[display]], [styles$h[provider], !!provider && !!styles$h[provider]], [styles$h[onlyOn], !!onlyOn && styles$h[onlyOn]], [styles$h.proportional, isProportional && !!styles$h.proportional]];
1154
1164
 
1155
1165
  if (styleContext) {
1156
1166
  classNames = makeStyleContext(classNames, styleContext, styles$h);
@@ -1266,10 +1276,10 @@ var QuoteBlock = function QuoteBlock(_ref) {
1266
1276
  var styles$j = {"root":"CardTitle-module_root__1uqqF","index":"CardTitle-module_index__4FsTf","title":"CardTitle-module_title__2iTI6","mobile":"CardTitle-module_mobile__1_kij","desktop":"CardTitle-module_desktop__1l3_n"};
1267
1277
 
1268
1278
  var CardTitle = function CardTitle(_ref) {
1269
- var _ref$block = _ref.block,
1270
- onlyOn = _ref$block.only_on,
1271
- index = _ref$block.index,
1272
- text = _ref$block.text,
1279
+ var _ref$block$data = _ref.block.data,
1280
+ onlyOn = _ref$block$data.only_on,
1281
+ index = _ref$block$data.index,
1282
+ text = _ref$block$data.text,
1273
1283
  styleContext = _ref.styleContext;
1274
1284
  return React.createElement("div", {
1275
1285
  "data-testid": "card-title",
@@ -1304,7 +1314,7 @@ var generateGradient = function generateGradient(color) {
1304
1314
  return "linear-gradient(-180deg, " + gradient + ")";
1305
1315
  };
1306
1316
 
1307
- var styles$l = {"root":"Cover-module_root__18Z8J"};
1317
+ var styles$l = {"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"};
1308
1318
 
1309
1319
  var styles$m = {"root":"SimpleTitle-module_root__2jVQN","mobile":"SimpleTitle-module_mobile__11gBz","desktop":"SimpleTitle-module_desktop__3yXgy"};
1310
1320
 
@@ -1865,6 +1875,7 @@ var RenderBlocks = function RenderBlocks(_ref) {
1865
1875
  case 'embed_code':
1866
1876
  case 'game_embed':
1867
1877
  case 'image':
1878
+ case 'dots_on_image':
1868
1879
  case 'gif':
1869
1880
  return React.createElement(EmbedBlockContainer, {
1870
1881
  block: block,
@@ -1910,15 +1921,15 @@ var Cover = function Cover(_ref) {
1910
1921
  setIsPopoverShown = _useState[1];
1911
1922
 
1912
1923
  var style = {};
1913
- var theme;
1914
- var classNames = [[styles$l.root, true], [styles$l[theme], true], [styles$l[onlyOn], !!onlyOn && !!styles$l[onlyOn]]];
1924
+ var classNames = [[styles$l.root, true], [styles$l[onlyOn], !!onlyOn && !!styles$l[onlyOn]]];
1915
1925
 
1916
1926
  if (styleContext) {
1917
1927
  classNames = makeStyleContext(classNames, styleContext, styles$l);
1918
1928
  }
1919
1929
 
1920
1930
  if (gradients) {
1921
- theme = gradients.text_rgb === '0,0,0' ? 'dark' : 'light';
1931
+ var theme = [gradients.text_rgb === '0,0,0' ? 'dark' : 'light'];
1932
+ classNames = makeStyleContext(classNames, theme, styles$l);
1922
1933
  style.backgroundImage = generateGradient(gradients.bg_rgb);
1923
1934
  }
1924
1935