@meduza/ui-kit-2 0.1.3 → 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.
@@ -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);
@@ -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,