@prom-ui/core 1.7.0-alpha.3 → 1.7.0-alpha.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 (57) hide show
  1. package/Avatar/package.json +1 -1
  2. package/Backdrop/package.json +1 -1
  3. package/Body/package.json +1 -1
  4. package/BodyContext/package.json +1 -1
  5. package/BodyProvider/package.json +1 -1
  6. package/Box/package.json +1 -1
  7. package/Button/package.json +1 -1
  8. package/ButtonPageUp/package.json +1 -1
  9. package/Checkbox/package.json +1 -1
  10. package/Flex/package.json +1 -1
  11. package/Grid/package.json +1 -1
  12. package/Icon/package.json +1 -1
  13. package/Image/package.json +1 -1
  14. package/ImageEmoji/package.json +1 -1
  15. package/Input/package.json +1 -1
  16. package/InputField/package.json +1 -1
  17. package/KeyPress/package.json +1 -1
  18. package/Line/package.json +1 -1
  19. package/Link/package.json +1 -1
  20. package/List/package.json +1 -1
  21. package/Media/package.json +1 -1
  22. package/OutsideClick/package.json +1 -1
  23. package/Overlay/package.json +1 -1
  24. package/PhotoGallery/cjs/index.development.js +29 -18
  25. package/PhotoGallery/cjs/index.development.v2.js +29 -18
  26. package/PhotoGallery/cjs/index.production.js +1 -1
  27. package/PhotoGallery/cjs/index.production.v2.js +1 -1
  28. package/PhotoGallery/components/MainPhotosImage.d.ts +4 -5
  29. package/PhotoGallery/index.d.ts +1 -1
  30. package/PhotoGallery/package.json +1 -1
  31. package/PhotoGallery/utils.d.ts +2 -1
  32. package/Picture/package.json +1 -1
  33. package/Portal/package.json +1 -1
  34. package/QRCode/package.json +1 -1
  35. package/Rating/package.json +1 -1
  36. package/RatingSelect/package.json +1 -1
  37. package/SafeQuery/package.json +1 -1
  38. package/Scroll/package.json +1 -1
  39. package/ScrollControls/package.json +1 -1
  40. package/SimpleSlider/package.json +1 -1
  41. package/Skeleton/package.json +1 -1
  42. package/Spinner/package.json +1 -1
  43. package/Text/package.json +1 -1
  44. package/TextEmoji/package.json +1 -1
  45. package/Tooltip/package.json +1 -1
  46. package/Tumbler/package.json +1 -1
  47. package/package.json +2 -2
  48. package/useBodyTTag/package.json +1 -1
  49. package/useDebounce/package.json +1 -1
  50. package/useForwardRef/package.json +1 -1
  51. package/useId/package.json +1 -1
  52. package/useIsMounted/package.json +1 -1
  53. package/useKeyPress/package.json +1 -1
  54. package/useMedia/package.json +1 -1
  55. package/useOutsideClick/package.json +1 -1
  56. package/usePortal/package.json +1 -1
  57. package/useScrollPosition/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Avatar",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Backdrop",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Body/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Body",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/BodyContext",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/BodyProvider",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Box/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Box",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Button",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/ButtonPageUp",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Checkbox",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Flex/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Flex",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Grid/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Grid",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Icon/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Icon",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Image",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/ImageEmoji",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Input",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/InputField",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/KeyPress",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Line/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Line",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Link/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Link",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/List/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/List",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Media",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/OutsideClick",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Overlay",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -164,12 +164,18 @@ var getIndexFromScroll = function getIndexFromScroll(target, size) {
164
164
  var scrollIndex = scrollLeft / scrollWidth * size;
165
165
  return Math.round(scrollIndex);
166
166
  };
167
- var prepareVideoUrl = function prepareVideoUrl(videoSrc) {
168
- var url = new URL(videoSrc);
169
- url.searchParams["delete"]('autoplay');
170
- url.searchParams.append('enablejsapi', '1');
171
- url.searchParams.append('rel', '0');
172
- return url.href;
167
+ var getVideoEmbedId = function getVideoEmbedId(videoUrl) {
168
+ var regExp = /^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/;
169
+ var matches = regExp.exec(videoUrl);
170
+ return matches && matches[1];
171
+ };
172
+ var getEmbedVideoUrl = function getEmbedVideoUrl(videoUrl) {
173
+ var embedId = getVideoEmbedId(videoUrl);
174
+ return "https://youtube.com/embed/".concat(embedId, "?enablejsapi=1&rel=0");
175
+ };
176
+ var getVideoPreviewImage = function getVideoPreviewImage(videoUrl) {
177
+ var embedId = getVideoEmbedId(videoUrl);
178
+ return "https://img.youtube.com/vi/".concat(embedId, "/0.jpg");
173
179
  };
174
180
 
175
181
  // fork rfom https://github.com/manuelstofer/pinchzoom
@@ -1003,11 +1009,11 @@ var css = {"scrolling":"PhotoGallery__scrolling___BeLzR","root":"PhotoGallery__r
1003
1009
 
1004
1010
  var MainPhotosImage = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1005
1011
  var src = _ref.src,
1006
- video = _ref.video;
1012
+ videoSrc = _ref.videoSrc;
1007
1013
  var videoIframeRef = React__namespace.useRef(null);
1008
1014
  var pinchZoomRef = React__namespace.useRef(null);
1009
1015
  var imgRef = React__namespace.useRef(null);
1010
- var isVideo = !!video;
1016
+ var isVideo = !!videoSrc;
1011
1017
  var reset = function reset() {
1012
1018
  var _pinchZoomRef$current, _videoIframeRef$curre;
1013
1019
  (_pinchZoomRef$current = pinchZoomRef.current) === null || _pinchZoomRef$current === void 0 ? void 0 : _pinchZoomRef$current.reset();
@@ -1026,7 +1032,7 @@ var MainPhotosImage = /*#__PURE__*/React__namespace.forwardRef(function (_ref, r
1026
1032
  var _pinchZoomRef$current2;
1027
1033
  (_pinchZoomRef$current2 = pinchZoomRef.current) === null || _pinchZoomRef$current2 === void 0 ? void 0 : _pinchZoomRef$current2.destroy();
1028
1034
  };
1029
- }, [video]);
1035
+ }, [videoSrc]);
1030
1036
  React__namespace.useImperativeHandle(ref, function () {
1031
1037
  return {
1032
1038
  reset: reset
@@ -1036,7 +1042,7 @@ var MainPhotosImage = /*#__PURE__*/React__namespace.forwardRef(function (_ref, r
1036
1042
  return /*#__PURE__*/React__namespace.createElement("iframe", {
1037
1043
  ref: videoIframeRef,
1038
1044
  className: css.mainPhotoIframe,
1039
- src: prepareVideoUrl(video),
1045
+ src: videoSrc,
1040
1046
  width: "100%",
1041
1047
  height: "100%",
1042
1048
  allowFullScreen: true,
@@ -1108,8 +1114,11 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1108
1114
  className: css.mainPhoto,
1109
1115
  onScroll: onScroll
1110
1116
  }, items.map(function (_ref2, index) {
1111
- var src = _ref2.src,
1112
- video = _ref2.video;
1117
+ var type = _ref2.type,
1118
+ src = _ref2.src;
1119
+ var isVideo = type === 'video';
1120
+ var previewSrc = isVideo ? getVideoPreviewImage(src) : src;
1121
+ var videoSrc = isVideo ? getEmbedVideoUrl(src) : undefined;
1113
1122
  return /*#__PURE__*/React__namespace.createElement("div", {
1114
1123
  key: index,
1115
1124
  className: css.mainPhotoItem,
@@ -1119,8 +1128,8 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1119
1128
  ref: function ref(el) {
1120
1129
  return mainPhotoRefs.current[index] = el;
1121
1130
  },
1122
- src: src,
1123
- video: video
1131
+ src: previewSrc,
1132
+ videoSrc: videoSrc
1124
1133
  }));
1125
1134
  })));
1126
1135
  });
@@ -1154,8 +1163,10 @@ var PreviewPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
1154
1163
  ref: localScrollRef,
1155
1164
  className: css.preview
1156
1165
  }, items.map(function (_ref2, index) {
1157
- var src = _ref2.src,
1158
- video = _ref2.video;
1166
+ var type = _ref2.type,
1167
+ src = _ref2.src;
1168
+ var isVideo = type === 'video';
1169
+ var previewSrc = isVideo ? getVideoPreviewImage(src) : src;
1159
1170
  return /*#__PURE__*/React__namespace.createElement("div", {
1160
1171
  key: index,
1161
1172
  className: css.previewItem,
@@ -1172,7 +1183,7 @@ var PreviewPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
1172
1183
  "data-testid": "photo_gallery_preview_button"
1173
1184
  }, /*#__PURE__*/React__namespace.createElement("img", {
1174
1185
  className: css.previewImage,
1175
- src: src,
1186
+ src: previewSrc,
1176
1187
  width: 58,
1177
1188
  height: 58,
1178
1189
  alt: "",
@@ -1180,7 +1191,7 @@ var PreviewPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
1180
1191
  loading: "lazy",
1181
1192
  "data-qaid": "photo_gallery_preview_image",
1182
1193
  "data-testid": "photo_gallery_preview_image"
1183
- }), !!video && /*#__PURE__*/React__namespace.createElement("div", {
1194
+ }), isVideo && /*#__PURE__*/React__namespace.createElement("div", {
1184
1195
  className: css.videoPlayLabel,
1185
1196
  "data-qaid": "photo_gallery_preview_play",
1186
1197
  "data-testid": "photo_gallery_preview_play"
@@ -164,12 +164,18 @@ var getIndexFromScroll = function getIndexFromScroll(target, size) {
164
164
  var scrollIndex = scrollLeft / scrollWidth * size;
165
165
  return Math.round(scrollIndex);
166
166
  };
167
- var prepareVideoUrl = function prepareVideoUrl(videoSrc) {
168
- var url = new URL(videoSrc);
169
- url.searchParams["delete"]('autoplay');
170
- url.searchParams.append('enablejsapi', '1');
171
- url.searchParams.append('rel', '0');
172
- return url.href;
167
+ var getVideoEmbedId = function getVideoEmbedId(videoUrl) {
168
+ var regExp = /^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/;
169
+ var matches = regExp.exec(videoUrl);
170
+ return matches && matches[1];
171
+ };
172
+ var getEmbedVideoUrl = function getEmbedVideoUrl(videoUrl) {
173
+ var embedId = getVideoEmbedId(videoUrl);
174
+ return "https://youtube.com/embed/".concat(embedId, "?enablejsapi=1&rel=0");
175
+ };
176
+ var getVideoPreviewImage = function getVideoPreviewImage(videoUrl) {
177
+ var embedId = getVideoEmbedId(videoUrl);
178
+ return "https://img.youtube.com/vi/".concat(embedId, "/0.jpg");
173
179
  };
174
180
 
175
181
  // fork rfom https://github.com/manuelstofer/pinchzoom
@@ -1003,11 +1009,11 @@ var css = {"scrolling":"PhotoGallery__scrolling___q1DKc","root":"PhotoGallery__r
1003
1009
 
1004
1010
  var MainPhotosImage = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1005
1011
  var src = _ref.src,
1006
- video = _ref.video;
1012
+ videoSrc = _ref.videoSrc;
1007
1013
  var videoIframeRef = React__namespace.useRef(null);
1008
1014
  var pinchZoomRef = React__namespace.useRef(null);
1009
1015
  var imgRef = React__namespace.useRef(null);
1010
- var isVideo = !!video;
1016
+ var isVideo = !!videoSrc;
1011
1017
  var reset = function reset() {
1012
1018
  var _pinchZoomRef$current, _videoIframeRef$curre;
1013
1019
  (_pinchZoomRef$current = pinchZoomRef.current) === null || _pinchZoomRef$current === void 0 ? void 0 : _pinchZoomRef$current.reset();
@@ -1026,7 +1032,7 @@ var MainPhotosImage = /*#__PURE__*/React__namespace.forwardRef(function (_ref, r
1026
1032
  var _pinchZoomRef$current2;
1027
1033
  (_pinchZoomRef$current2 = pinchZoomRef.current) === null || _pinchZoomRef$current2 === void 0 ? void 0 : _pinchZoomRef$current2.destroy();
1028
1034
  };
1029
- }, [video]);
1035
+ }, [videoSrc]);
1030
1036
  React__namespace.useImperativeHandle(ref, function () {
1031
1037
  return {
1032
1038
  reset: reset
@@ -1036,7 +1042,7 @@ var MainPhotosImage = /*#__PURE__*/React__namespace.forwardRef(function (_ref, r
1036
1042
  return /*#__PURE__*/React__namespace.createElement("iframe", {
1037
1043
  ref: videoIframeRef,
1038
1044
  className: css.mainPhotoIframe,
1039
- src: prepareVideoUrl(video),
1045
+ src: videoSrc,
1040
1046
  width: "100%",
1041
1047
  height: "100%",
1042
1048
  allowFullScreen: true,
@@ -1108,8 +1114,11 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1108
1114
  className: css.mainPhoto,
1109
1115
  onScroll: onScroll
1110
1116
  }, items.map(function (_ref2, index) {
1111
- var src = _ref2.src,
1112
- video = _ref2.video;
1117
+ var type = _ref2.type,
1118
+ src = _ref2.src;
1119
+ var isVideo = type === 'video';
1120
+ var previewSrc = isVideo ? getVideoPreviewImage(src) : src;
1121
+ var videoSrc = isVideo ? getEmbedVideoUrl(src) : undefined;
1113
1122
  return /*#__PURE__*/React__namespace.createElement("div", {
1114
1123
  key: index,
1115
1124
  className: css.mainPhotoItem,
@@ -1119,8 +1128,8 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1119
1128
  ref: function ref(el) {
1120
1129
  return mainPhotoRefs.current[index] = el;
1121
1130
  },
1122
- src: src,
1123
- video: video
1131
+ src: previewSrc,
1132
+ videoSrc: videoSrc
1124
1133
  }));
1125
1134
  })));
1126
1135
  });
@@ -1154,8 +1163,10 @@ var PreviewPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
1154
1163
  ref: localScrollRef,
1155
1164
  className: css.preview
1156
1165
  }, items.map(function (_ref2, index) {
1157
- var src = _ref2.src,
1158
- video = _ref2.video;
1166
+ var type = _ref2.type,
1167
+ src = _ref2.src;
1168
+ var isVideo = type === 'video';
1169
+ var previewSrc = isVideo ? getVideoPreviewImage(src) : src;
1159
1170
  return /*#__PURE__*/React__namespace.createElement("div", {
1160
1171
  key: index,
1161
1172
  className: css.previewItem,
@@ -1172,7 +1183,7 @@ var PreviewPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
1172
1183
  "data-testid": "photo_gallery_preview_button"
1173
1184
  }, /*#__PURE__*/React__namespace.createElement("img", {
1174
1185
  className: css.previewImage,
1175
- src: src,
1186
+ src: previewSrc,
1176
1187
  width: 58,
1177
1188
  height: 58,
1178
1189
  alt: "",
@@ -1180,7 +1191,7 @@ var PreviewPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
1180
1191
  loading: "lazy",
1181
1192
  "data-qaid": "photo_gallery_preview_image",
1182
1193
  "data-testid": "photo_gallery_preview_image"
1183
- }), !!video && /*#__PURE__*/React__namespace.createElement("div", {
1194
+ }), isVideo && /*#__PURE__*/React__namespace.createElement("div", {
1184
1195
  className: css.videoPlayLabel,
1185
1196
  "data-qaid": "photo_gallery_preview_play",
1186
1197
  "data-testid": "photo_gallery_preview_play"
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),e=require("react-scrolllock"),n=require("react-transition-group"),i=require("@prom-ui/core/Backdrop"),o=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),r=require("@prom-ui/core/ScrollControls"),s=require("react-scrolllock/dist/utils"),l=require("@prom-ui/core/Icon"),c=require("@prom-ui/icons/Play"),u=require("@prom-ui/core/Button"),h=require("@prom-ui/core/useBodyTTag"),d=require("@prom-ui/icons/Close");function f(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function m(t){if(t&&"object"==typeof t&&"default"in t)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var p=m(t),g=f(e);function v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,o,a,r,s=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(c)throw o}}return s}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function b(t){var e=t.currentTarget;return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth?(t.stopPropagation(),!0):(t.preventDefault(),!1)}var E,w=!("undefined"==typeof window||!window.document||!window.document.createElement)&&!(!window.addEventListener&&!window.attachEvent),x=function(t){var e=t.isActive,n=void 0!==e&&e,i=t.scrollRef,o=t.children;return p.useEffect((function(){if(n&&w&&null!=i&&i.current)return i.current.addEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.addEventListener("touchmove",b,s.listenerOptions),function(){n&&w&&null!=i&&i.current&&(i.current.removeEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.removeEventListener("touchmove",b,s.listenerOptions))}})),p.createElement(p.Fragment,null,o)},O=new Map,T=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];O.has(e)&&(cancelAnimationFrame(O.get(e)),O.delete(e));var i=requestAnimationFrame((function(){var i=e.getBoundingClientRect(),o=t.getBoundingClientRect(),a=o.top+e.scrollTop-i.top-i.height/2+o.height/2,r=o.left+e.scrollLeft-i.left-i.width/2+o.width/2;r<0&&(r=0),a<0&&(a=0),e.scrollTo({behavior:n?"smooth":"instant",top:a,left:r})}));O.set(e,i)},z=function(){var t=function(t,e){this.el=t,this.zoomFactor=1,this.lastScale=1,this.offset={x:0,y:0},this.initialOffset={x:0,y:0},this.options=Object.assign({},this.defaults,e),this.setupMarkup(),this.bindEvents(),this.update(),this.isImageLoaded(this.el)&&(this.updateAspectRatio(),this.setupOffsets()),this.enable()},e=function(t,e){return t+e};t.prototype={defaults:{tapZoomFactor:2,zoomOutFactor:1.3,animationDuration:300,maxZoom:4,minZoom:.5,draggableUnzoomed:!0,lockDragAxis:!1,setOffsetsOnce:!1,use2d:!0,useMouseWheel:!1,verticalPadding:0,horizontalPadding:0,onZoomStart:null,onZoomEnd:null,onZoomUpdate:null,onDragStart:null,onDragEnd:null,onDragUpdate:null,onDoubleTap:null,onMouseWheel:null},handleDragStart:function(t){"function"==typeof this.options.onDragStart&&this.options.onDragStart(this,t),this.stopAnimation(),this.lastDragPosition=!1,this.hasInteraction=!0,this.handleDrag(t)},handleDrag:function(t){var e="touchmove"===t.type?this.getTouches(t)[0]:this.getPointer(t);this.drag(e,this.lastDragPosition),this.offset=this.sanitizeOffset(this.offset),this.lastDragPosition=e},handleDragEnd:function(){"function"==typeof this.options.onDragEnd&&this.options.onDragEnd(this,event),this.end()},handleZoomStart:function(t){"function"==typeof this.options.onZoomStart&&this.options.onZoomStart(this,t),this.stopAnimation(),this.lastScale=1,this.nthZoom=0,this.lastZoomCenter=!1,this.hasInteraction=!0},handleZoom:function(t,e){var n=this.getTouchCenter(this.getTouches(t)),i=e/this.lastScale;this.lastScale=e,this.nthZoom+=1,this.nthZoom>3&&(this.scale(i,n),this.drag(n,this.lastZoomCenter)),this.lastZoomCenter=n},handleZoomEnd:function(){"function"==typeof this.options.onZoomEnd&&this.options.onZoomEnd(this,event),this.end()},handleDoubleTap:function(t){var e=this.getTouches(t)[0],n=this.zoomFactor>1?1:this.options.tapZoomFactor,i=this.zoomFactor,o=function(t){this.scaleTo(i+t*(n-i),e)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,i>n&&(e=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,o,this.swing),"function"==typeof this.options.onDoubleTap&&this.options.onDoubleTap(this,t))},handleMouseWheel:function(t){var e=this.getPointer(t),n=Math.min(Math.max(this.options.minZoom,this.lastScale+-.01*t.deltaY),this.options.maxZoom),i=n/this.lastScale;this.scale(i,e),this.lastScale=n,this.update(),"function"==typeof this.options.onMouseWheel&&this.options.onMouseWheel(this,t)},computeInitialOffset:function(){this.initialOffset={x:-Math.abs(this.el.offsetWidth*this.getInitialZoomFactor()-this.container.offsetWidth)/2,y:-Math.abs(this.el.offsetHeight*this.getInitialZoomFactor()-this.container.offsetHeight)/2}},resetOffset:function(){this.offset.x=this.initialOffset.x,this.offset.y=this.initialOffset.y},isImageLoaded:function(t){return"IMG"===t.nodeName?t.complete&&0!==t.naturalHeight:Array.from(t.querySelectorAll("img")).every(this.isImageLoaded)},setupOffsets:function(){this.options.setOffsetsOnce&&this._isOffsetsSet||(this._isOffsetsSet=!0,this.computeInitialOffset(),this.resetOffset())},sanitizeOffset:function(t){var e=this.el.offsetWidth*this.getInitialZoomFactor()*this.zoomFactor,n=this.el.offsetHeight*this.getInitialZoomFactor()*this.zoomFactor,i=e-this.getContainerX()+this.options.horizontalPadding,o=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(i,0),r=Math.max(o,0),s=Math.min(i,0)-this.options.horizontalPadding,l=Math.min(o,0)-this.options.verticalPadding;return{x:Math.min(Math.max(t.x,s),a),y:Math.min(Math.max(t.y,l),r)}},scaleTo:function(t,e){this.scale(t/this.zoomFactor,e)},scale:function(t,e){t=this.scaleZoomFactor(t),this.addOffset({x:(t-1)*(e.x+this.offset.x),y:(t-1)*(e.y+this.offset.y)}),"function"==typeof this.options.onZoomUpdate&&this.options.onZoomUpdate(this,event)},scaleZoomFactor:function(t){var e=this.zoomFactor;return this.zoomFactor*=t,this.zoomFactor=Math.min(this.options.maxZoom,Math.max(this.zoomFactor,this.options.minZoom)),this.zoomFactor/e},canDrag:function(){return this.options.draggableUnzoomed||!((t=this.zoomFactor)>(e=1)-.01&&t<e+.01);var t,e},drag:function(t,e){e&&(this.options.lockDragAxis?Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?this.addOffset({x:-(t.x-e.x),y:0}):this.addOffset({y:-(t.y-e.y),x:0}):this.addOffset({y:-(t.y-e.y),x:-(t.x-e.x)}),"function"==typeof this.options.onDragUpdate&&this.options.onDragUpdate(this,event))},getTouchCenter:function(t){return this.getVectorAvg(t)},getVectorAvg:function(t){return{x:t.map((function(t){return t.x})).reduce(e)/t.length,y:t.map((function(t){return t.y})).reduce(e)/t.length}},addOffset:function(t){this.offset={x:this.offset.x+t.x,y:this.offset.y+t.y}},sanitize:function(){this.zoomFactor<this.options.zoomOutFactor?this.zoomOutAnimation():this.isInsaneOffset(this.offset)&&this.sanitizeOffsetAnimation()},isInsaneOffset:function(t){var e=this.sanitizeOffset(t);return e.x!==t.x||e.y!==t.y},sanitizeOffsetAnimation:function(){var t=this.sanitizeOffset(this.offset),e=this.offset.x,n=this.offset.y,i=function(i){this.offset.x=e+i*(t.x-e),this.offset.y=n+i*(t.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,i,this.swing)},zoomOutAnimation:function(){if(1!==this.zoomFactor){var t=this.zoomFactor,e=this.getCurrentZoomCenter(),n=function(n){this.scaleTo(t+n*(1-t),e)}.bind(this);this.animate(this.options.animationDuration,n,this.swing)}},updateAspectRatio:function(){this.unsetContainerY(),this.setContainerY(this.container.parentElement.offsetHeight)},getInitialZoomFactor:function(){var t=this.container.offsetWidth/this.el.offsetWidth,e=this.container.offsetHeight/this.el.offsetHeight;return Math.min(t,e)},getAspectRatio:function(){return this.el.offsetWidth/this.el.offsetHeight},getCurrentZoomCenter:function(){var t=this.offset.x-this.initialOffset.x,e=-1*this.offset.x-t/(1/this.zoomFactor-1),n=this.offset.y-this.initialOffset.y;return{x:e,y:-1*this.offset.y-n/(1/this.zoomFactor-1)}},getTouches:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,a=e.left+i;return Array.prototype.slice.call(t.touches).map((function(t){return{x:t.pageX-a,y:t.pageY-o}}))},getPointer:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,a=e.left+i;return{x:t.pageX-a,y:t.pageY-o}},animate:function(t,e,n,i){var o=(new Date).getTime(),a=function(){if(this.inAnimation){var r=(new Date).getTime()-o,s=r/t;r>=t?(e(1),i&&i(),this.update(),this.stopAnimation(),this.update()):(n&&(s=n(s)),e(s),this.update(),requestAnimationFrame(a))}}.bind(this);this.inAnimation=!0,requestAnimationFrame(a)},stopAnimation:function(){this.inAnimation=!1},swing:function(t){return-Math.cos(t*Math.PI)/2+.5},getContainerX:function(){return this.container.offsetWidth},getContainerY:function(){return this.container.offsetHeight},setContainerY:function(t){return this.container.style.height=t+"px"},unsetContainerY:function(){this.container.style.height=null},setupMarkup:function(){var t,e;this.container=(t='<div class="pinch-zoom-container"></div>',(e=document.implementation.createHTMLDocument("")).body.innerHTML=t,Array.from(e.body.children)[0]),this.el.parentNode.insertBefore(this.container,this.el),this.container.appendChild(this.el),this.container.style.overflow="hidden",this.container.style.position="relative",this.el.style.webkitTransformOrigin="0% 0%",this.el.style.mozTransformOrigin="0% 0%",this.el.style.msTransformOrigin="0% 0%",this.el.style.oTransformOrigin="0% 0%",this.el.style.transformOrigin="0% 0%",this.el.style.position="absolute",this.el.style.backfaceVisibility="hidden",this.el.style.willChange="transform"},end:function(){this.hasInteraction=!1,this.sanitize(),this.update()},bindEvents:function(){var t=this;n(this.container,this),this.resizeHandler=this.update.bind(this),window.addEventListener("resize",this.resizeHandler),Array.from(this.el.querySelectorAll("img")).forEach((function(e){e.addEventListener("load",t.update.bind(t))})),"IMG"===this.el.nodeName&&this.el.addEventListener("load",this.update.bind(this))},update:function(t){t&&"resize"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),t&&"load"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),this.updatePlanned||(this.updatePlanned=!0,window.setTimeout(function(){this.updatePlanned=!1;var t=this.getInitialZoomFactor()*this.zoomFactor,e=-this.offset.x/t,n=-this.offset.y/t,i="scale3d("+t+", "+t+",1) translate3d("+e+"px,"+n+"px,0px)",o="scale("+t+", "+t+") translate("+e+"px,"+n+"px)",a=function(){this.clone&&(this.clone.parentNode.removeChild(this.clone),delete this.clone)}.bind(this);!this.options.use2d||this.hasInteraction||this.inAnimation?(this.is3d=!0,a(),this.el.style.webkitTransform=i,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=i):(this.is3d&&(this.clone=this.el.cloneNode(!0),this.clone.style.pointerEvents="none",this.container.appendChild(this.clone),window.setTimeout(a,200)),this.el.style.webkitTransform=o,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=o,this.is3d=!1)}.bind(this),0))},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},destroy:function(){window.removeEventListener("resize",this.resizeHandler),this.container&&(this.container.remove(),this.container=null)},reset:function(){this.zoomOutAnimation()}};var n=function(t,e){var n=null,i=0,o=null,a=null,r=function(t,i){if(n!==t){if(n&&!t)switch(n){case"zoom":e.handleZoomEnd(i);break;case"drag":e.handleDragEnd(i)}switch(t){case"zoom":e.handleZoomStart(i);break;case"drag":e.handleDragStart(i)}}n=t},s=function(t){2===i?r("zoom"):1===i&&e.canDrag()?r("drag",t):r(null,t)},l=function(t){return Array.from(t).map((function(t){return{x:t.pageX,y:t.pageY}}))},c=function(t,e){var n,i;return n=t.x-e.x,i=t.y-e.y,Math.sqrt(n*n+i*i)},u=function(t){t.stopPropagation(),t.preventDefault()},h=!0;t.addEventListener("touchstart",(function(t){e.enabled&&(h=!0,i=t.touches.length,function(t){var a=(new Date).getTime();if(i>1&&(o=null),a-o<300)switch(u(t),e.handleDoubleTap(t),n){case"zoom":e.handleZoomEnd(t);break;case"drag":e.handleDragEnd(t)}else e.isDoubleTap=!1;1===i&&(o=a)}(t))}),{passive:!1}),t.addEventListener("touchmove",(function(t){if(e.enabled&&!e.isDoubleTap){if(h)s(t),n&&u(t),a=l(t.touches);else{switch(n){case"zoom":2==a.length&&2==t.touches.length&&e.handleZoom(t,function(t,e){var n=c(t[0],t[1]);return c(e[0],e[1])/n}(a,l(t.touches)));break;case"drag":e.handleDrag(t)}n&&(u(t),e.update())}h=!1}}),{passive:!1}),t.addEventListener("touchend",(function(t){e.enabled&&(i=t.touches.length,s(t))})),e.options.useMouseWheel&&(t.addEventListener("mousewheel",(function(t){e.enabled&&(u(t),e.handleMouseWheel(t))})),t.addEventListener("mousedown",(function(t){e.enabled&&(h=!0,i=1)}),{passive:!0}),t.addEventListener("mousemove",(function(t){e.enabled&&(h?(s(t),n&&u(t)):("drag"===n&&e.handleDrag(t),n&&(u(t),e.update())),h=!1)}),{passive:!1}),t.addEventListener("mouseup",(function(t){e.enabled&&(i=0,s(t))}),{passive:!0}))};return t}(),_={scrolling:"BeLzR",root:"nJWgH",layout:"BDoOb",layoutHeader:"iNVA1",layoutContent:"C-jWr",layoutSection:"_3FXm5",layoutAside:"ABw2b",header:"meCSL",headerTitle:"NpSWI",headerClose:"-B9Zg",mainPhotoScrollControls:"ckcap",mainPhoto:"-r4WP BeLzR",mainPhotoItem:"Q7wDI",mainPhotoImage:"NrcBT",mainPhotoIframe:"kObZY",preview:"_86-3f BeLzR",previewItem:"gnB8m",previewButton:"L4PR-",previewImage:"_8dsDI",videoPlayLabel:"_2kU58",videoPlayLabelIcon:"WR7T8",enter:"sM8Qu",exit:"veHZr",enterActive:"VP4oy",exitActive:"AMPJ3"},I=p.forwardRef((function(t,e){var n,i,o=t.src,a=t.video,r=p.useRef(null),s=p.useRef(null),l=p.useRef(null),c=!!a,u=function(){var t,e;null===(t=s.current)||void 0===t||t.reset(),null===(e=r.current)||void 0===e||null===(e=e.contentWindow)||void 0===e||e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return p.useEffect((function(){return requestAnimationFrame((function(){l.current&&!c&&(s.current=new z(l.current,{draggableUnzoomed:!1,animationDuration:200}))})),function(){var t;null===(t=s.current)||void 0===t||t.destroy()}}),[a]),p.useImperativeHandle(e,(function(){return{reset:u}}),[]),c?p.createElement("iframe",{ref:r,className:_.mainPhotoIframe,src:(n=a,i=new URL(n),i.searchParams.delete("autoplay"),i.searchParams.append("enablejsapi","1"),i.searchParams.append("rel","0"),i.href),width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):p.createElement("img",{ref:l,className:_.mainPhotoImage,src:o,width:"100%",height:"100%",alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_main_image","data-testid":"photo_gallery_main_image"})})),A=p.forwardRef((function(t,e){var n=t.items,i=t.onChange,o=p.useRef([]),a=p.useRef(0),s=p.useRef(null),l=function(){o.current.forEach((function(t){null==t||t.reset()}))},c=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=s.current)||void 0===e?void 0:e.children[t];l(),i&&T(i,s.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:c}}),[]);var u=function(){if(s.current){var t=function(t,e){var n=t.scrollLeft/t.scrollWidth*e;return Math.round(n)}(s.current,n.length);a.current!==t&&(a.current=t,i(t),l())}};return p.createElement(r.ScrollControls,{ref:s,className:_.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0},(function(t){return p.createElement(x,{scrollRef:t,isActive:!0},p.createElement("div",{ref:t,className:_.mainPhoto,onScroll:u},n.map((function(t,e){var n=t.src,i=t.video;return p.createElement("div",{key:e,className:_.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},p.createElement(I,{ref:function(t){return o.current[e]=t},src:n,video:i}))}))))}))})),C=p.forwardRef((function(t,e){var n=t.items,i=t.selectedIndex,o=t.onChange,a=p.useRef(null),r=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=a.current)||void 0===e?void 0:e.children[t];i&&T(i,a.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:r}}),[]);return p.createElement(x,{scrollRef:a,isActive:!0},p.createElement("div",{ref:a,className:_.preview},n.map((function(t,e){var n=t.src,a=t.video;return p.createElement("div",{key:e,className:_.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},p.createElement("button",{className:_.previewButton,type:"button",onClick:function(){return function(t){o(t)}(e)},disabled:i===e,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},p.createElement("img",{className:_.previewImage,src:n,width:58,height:58,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),!!a&&p.createElement("div",{className:_.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},p.createElement(l.Icon,{className:_.videoPlayLabelIcon,"icon-as":c.SvgPlay}))))}))))})),P=function(t){var e,n,i=t.title,o=t.onClose,a=t.selectedIndex,r=t.itemsLength,s=a+1,c=(0,h.useBodyTTag().t)(E||(e=["Фото "," из ",""],n||(n=e.slice(0)),E=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))),s,r);return p.createElement("div",{className:_.header},p.createElement("div",{className:_.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},i||c),p.createElement("div",{className:_.headerClose},p.createElement(u.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:o,"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},p.createElement(l.Icon,{"icon-as":d.SvgClose,style:{width:24,height:24}}))))};exports.PhotoGallery=function(t){var e=t.isOpen,r=t.title,s=t.visibleIndex,l=void 0===s?0:s,c=t.items,u=t.onClose,h=t.onChange,d=p.useRef(!0),f=p.useRef(null),m=p.useRef(null),y=v(p.useState(l),2),b=y[0],E=y[1];p.useEffect((function(){e&&"function"==typeof h&&h(b)}),[b]),p.useEffect((function(){var t,n;e&&(E(l),null===(t=m.current)||void 0===t||t.scrollToIndex(l,!1),null===(n=f.current)||void 0===n||n.scrollToIndex(l,!1))}),[e]),p.useEffect((function(){if(!e)return function(){};var t=null,n=function(){t&&clearTimeout(t)},i=function(){n(),t=setTimeout((function(){var t,e;null===(t=m.current)||void 0===t||t.scrollToIndex(b,!1),null===(e=f.current)||void 0===e||e.scrollToIndex(b,!1)}),100)};return window.addEventListener("resize",i),window.matchMedia("(orientation: portrait)").addEventListener("change",i),function(){n(),window.removeEventListener("resize",i),window.matchMedia("(orientation: portrait)").removeEventListener("change",i)}}),[e,b]);var w=function(t){var e,n;d.current=!1,E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t),null===(n=f.current)||void 0===n||n.scrollToIndex(t)},x=function(){u(b)};return p.createElement(p.Fragment,null,p.createElement(i.Backdrop,{isOpen:e,onClick:x}),p.createElement(n.CSSTransition,{in:e,timeout:240,classNames:_,unmountOnExit:!0},p.createElement(a.Portal,null,p.createElement("div",{className:_.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery"},p.createElement(g.default,null),p.createElement(o.KeyPress,{code:"Escape",onKeyUp:x}),p.createElement(o.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==b&&w(b-1)}}),p.createElement(o.KeyPress,{code:"ArrowRight",onKeyUp:function(){b!==c.length-1&&w(b+1)}}),p.createElement("div",{className:_.layout},p.createElement("header",{className:_.layoutHeader},p.createElement(P,{title:r,selectedIndex:b,itemsLength:c.length,onClose:x})),p.createElement("div",{className:_.layoutContent},p.createElement("section",{className:_.layoutSection},p.createElement(A,{ref:f,items:c,onChange:function(t){var e;d.current&&(E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t));d.current||b!==t||(d.current=!0)}})),p.createElement("aside",{className:_.layoutAside},p.createElement(C,{ref:m,items:c,selectedIndex:b,onChange:w}))))))))},require("./style.production.css");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),e=require("react-scrolllock"),n=require("react-transition-group"),i=require("@prom-ui/core/Backdrop"),o=require("@prom-ui/core/KeyPress"),r=require("@prom-ui/core/Portal"),a=require("@prom-ui/core/ScrollControls"),s=require("react-scrolllock/dist/utils"),l=require("@prom-ui/core/Icon"),c=require("@prom-ui/icons/Play"),u=require("@prom-ui/core/Button"),h=require("@prom-ui/core/useBodyTTag"),d=require("@prom-ui/icons/Close");function f(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function m(t){if(t&&"object"==typeof t&&"default"in t)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var p=m(t),g=f(e);function v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,o,r,a,s=[],l=!0,c=!1;try{if(r=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=r.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function b(t){var e=t.currentTarget;return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth?(t.stopPropagation(),!0):(t.preventDefault(),!1)}var E,w=!("undefined"==typeof window||!window.document||!window.document.createElement)&&!(!window.addEventListener&&!window.attachEvent),x=function(t){var e=t.isActive,n=void 0!==e&&e,i=t.scrollRef,o=t.children;return p.useEffect((function(){if(n&&w&&null!=i&&i.current)return i.current.addEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.addEventListener("touchmove",b,s.listenerOptions),function(){n&&w&&null!=i&&i.current&&(i.current.removeEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.removeEventListener("touchmove",b,s.listenerOptions))}})),p.createElement(p.Fragment,null,o)},O=new Map,T=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];O.has(e)&&(cancelAnimationFrame(O.get(e)),O.delete(e));var i=requestAnimationFrame((function(){var i=e.getBoundingClientRect(),o=t.getBoundingClientRect(),r=o.top+e.scrollTop-i.top-i.height/2+o.height/2,a=o.left+e.scrollLeft-i.left-i.width/2+o.width/2;a<0&&(a=0),r<0&&(r=0),e.scrollTo({behavior:n?"smooth":"instant",top:r,left:a})}));O.set(e,i)},z=function(t){var e=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/.exec(t);return e&&e[1]},_=function(t){var e=z(t);return"https://img.youtube.com/vi/".concat(e,"/0.jpg")},I=function(){var t=function(t,e){this.el=t,this.zoomFactor=1,this.lastScale=1,this.offset={x:0,y:0},this.initialOffset={x:0,y:0},this.options=Object.assign({},this.defaults,e),this.setupMarkup(),this.bindEvents(),this.update(),this.isImageLoaded(this.el)&&(this.updateAspectRatio(),this.setupOffsets()),this.enable()},e=function(t,e){return t+e};t.prototype={defaults:{tapZoomFactor:2,zoomOutFactor:1.3,animationDuration:300,maxZoom:4,minZoom:.5,draggableUnzoomed:!0,lockDragAxis:!1,setOffsetsOnce:!1,use2d:!0,useMouseWheel:!1,verticalPadding:0,horizontalPadding:0,onZoomStart:null,onZoomEnd:null,onZoomUpdate:null,onDragStart:null,onDragEnd:null,onDragUpdate:null,onDoubleTap:null,onMouseWheel:null},handleDragStart:function(t){"function"==typeof this.options.onDragStart&&this.options.onDragStart(this,t),this.stopAnimation(),this.lastDragPosition=!1,this.hasInteraction=!0,this.handleDrag(t)},handleDrag:function(t){var e="touchmove"===t.type?this.getTouches(t)[0]:this.getPointer(t);this.drag(e,this.lastDragPosition),this.offset=this.sanitizeOffset(this.offset),this.lastDragPosition=e},handleDragEnd:function(){"function"==typeof this.options.onDragEnd&&this.options.onDragEnd(this,event),this.end()},handleZoomStart:function(t){"function"==typeof this.options.onZoomStart&&this.options.onZoomStart(this,t),this.stopAnimation(),this.lastScale=1,this.nthZoom=0,this.lastZoomCenter=!1,this.hasInteraction=!0},handleZoom:function(t,e){var n=this.getTouchCenter(this.getTouches(t)),i=e/this.lastScale;this.lastScale=e,this.nthZoom+=1,this.nthZoom>3&&(this.scale(i,n),this.drag(n,this.lastZoomCenter)),this.lastZoomCenter=n},handleZoomEnd:function(){"function"==typeof this.options.onZoomEnd&&this.options.onZoomEnd(this,event),this.end()},handleDoubleTap:function(t){var e=this.getTouches(t)[0],n=this.zoomFactor>1?1:this.options.tapZoomFactor,i=this.zoomFactor,o=function(t){this.scaleTo(i+t*(n-i),e)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,i>n&&(e=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,o,this.swing),"function"==typeof this.options.onDoubleTap&&this.options.onDoubleTap(this,t))},handleMouseWheel:function(t){var e=this.getPointer(t),n=Math.min(Math.max(this.options.minZoom,this.lastScale+-.01*t.deltaY),this.options.maxZoom),i=n/this.lastScale;this.scale(i,e),this.lastScale=n,this.update(),"function"==typeof this.options.onMouseWheel&&this.options.onMouseWheel(this,t)},computeInitialOffset:function(){this.initialOffset={x:-Math.abs(this.el.offsetWidth*this.getInitialZoomFactor()-this.container.offsetWidth)/2,y:-Math.abs(this.el.offsetHeight*this.getInitialZoomFactor()-this.container.offsetHeight)/2}},resetOffset:function(){this.offset.x=this.initialOffset.x,this.offset.y=this.initialOffset.y},isImageLoaded:function(t){return"IMG"===t.nodeName?t.complete&&0!==t.naturalHeight:Array.from(t.querySelectorAll("img")).every(this.isImageLoaded)},setupOffsets:function(){this.options.setOffsetsOnce&&this._isOffsetsSet||(this._isOffsetsSet=!0,this.computeInitialOffset(),this.resetOffset())},sanitizeOffset:function(t){var e=this.el.offsetWidth*this.getInitialZoomFactor()*this.zoomFactor,n=this.el.offsetHeight*this.getInitialZoomFactor()*this.zoomFactor,i=e-this.getContainerX()+this.options.horizontalPadding,o=n-this.getContainerY()+this.options.verticalPadding,r=Math.max(i,0),a=Math.max(o,0),s=Math.min(i,0)-this.options.horizontalPadding,l=Math.min(o,0)-this.options.verticalPadding;return{x:Math.min(Math.max(t.x,s),r),y:Math.min(Math.max(t.y,l),a)}},scaleTo:function(t,e){this.scale(t/this.zoomFactor,e)},scale:function(t,e){t=this.scaleZoomFactor(t),this.addOffset({x:(t-1)*(e.x+this.offset.x),y:(t-1)*(e.y+this.offset.y)}),"function"==typeof this.options.onZoomUpdate&&this.options.onZoomUpdate(this,event)},scaleZoomFactor:function(t){var e=this.zoomFactor;return this.zoomFactor*=t,this.zoomFactor=Math.min(this.options.maxZoom,Math.max(this.zoomFactor,this.options.minZoom)),this.zoomFactor/e},canDrag:function(){return this.options.draggableUnzoomed||!((t=this.zoomFactor)>(e=1)-.01&&t<e+.01);var t,e},drag:function(t,e){e&&(this.options.lockDragAxis?Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?this.addOffset({x:-(t.x-e.x),y:0}):this.addOffset({y:-(t.y-e.y),x:0}):this.addOffset({y:-(t.y-e.y),x:-(t.x-e.x)}),"function"==typeof this.options.onDragUpdate&&this.options.onDragUpdate(this,event))},getTouchCenter:function(t){return this.getVectorAvg(t)},getVectorAvg:function(t){return{x:t.map((function(t){return t.x})).reduce(e)/t.length,y:t.map((function(t){return t.y})).reduce(e)/t.length}},addOffset:function(t){this.offset={x:this.offset.x+t.x,y:this.offset.y+t.y}},sanitize:function(){this.zoomFactor<this.options.zoomOutFactor?this.zoomOutAnimation():this.isInsaneOffset(this.offset)&&this.sanitizeOffsetAnimation()},isInsaneOffset:function(t){var e=this.sanitizeOffset(t);return e.x!==t.x||e.y!==t.y},sanitizeOffsetAnimation:function(){var t=this.sanitizeOffset(this.offset),e=this.offset.x,n=this.offset.y,i=function(i){this.offset.x=e+i*(t.x-e),this.offset.y=n+i*(t.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,i,this.swing)},zoomOutAnimation:function(){if(1!==this.zoomFactor){var t=this.zoomFactor,e=this.getCurrentZoomCenter(),n=function(n){this.scaleTo(t+n*(1-t),e)}.bind(this);this.animate(this.options.animationDuration,n,this.swing)}},updateAspectRatio:function(){this.unsetContainerY(),this.setContainerY(this.container.parentElement.offsetHeight)},getInitialZoomFactor:function(){var t=this.container.offsetWidth/this.el.offsetWidth,e=this.container.offsetHeight/this.el.offsetHeight;return Math.min(t,e)},getAspectRatio:function(){return this.el.offsetWidth/this.el.offsetHeight},getCurrentZoomCenter:function(){var t=this.offset.x-this.initialOffset.x,e=-1*this.offset.x-t/(1/this.zoomFactor-1),n=this.offset.y-this.initialOffset.y;return{x:e,y:-1*this.offset.y-n/(1/this.zoomFactor-1)}},getTouches:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,r=e.left+i;return Array.prototype.slice.call(t.touches).map((function(t){return{x:t.pageX-r,y:t.pageY-o}}))},getPointer:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,r=e.left+i;return{x:t.pageX-r,y:t.pageY-o}},animate:function(t,e,n,i){var o=(new Date).getTime(),r=function(){if(this.inAnimation){var a=(new Date).getTime()-o,s=a/t;a>=t?(e(1),i&&i(),this.update(),this.stopAnimation(),this.update()):(n&&(s=n(s)),e(s),this.update(),requestAnimationFrame(r))}}.bind(this);this.inAnimation=!0,requestAnimationFrame(r)},stopAnimation:function(){this.inAnimation=!1},swing:function(t){return-Math.cos(t*Math.PI)/2+.5},getContainerX:function(){return this.container.offsetWidth},getContainerY:function(){return this.container.offsetHeight},setContainerY:function(t){return this.container.style.height=t+"px"},unsetContainerY:function(){this.container.style.height=null},setupMarkup:function(){var t,e;this.container=(t='<div class="pinch-zoom-container"></div>',(e=document.implementation.createHTMLDocument("")).body.innerHTML=t,Array.from(e.body.children)[0]),this.el.parentNode.insertBefore(this.container,this.el),this.container.appendChild(this.el),this.container.style.overflow="hidden",this.container.style.position="relative",this.el.style.webkitTransformOrigin="0% 0%",this.el.style.mozTransformOrigin="0% 0%",this.el.style.msTransformOrigin="0% 0%",this.el.style.oTransformOrigin="0% 0%",this.el.style.transformOrigin="0% 0%",this.el.style.position="absolute",this.el.style.backfaceVisibility="hidden",this.el.style.willChange="transform"},end:function(){this.hasInteraction=!1,this.sanitize(),this.update()},bindEvents:function(){var t=this;n(this.container,this),this.resizeHandler=this.update.bind(this),window.addEventListener("resize",this.resizeHandler),Array.from(this.el.querySelectorAll("img")).forEach((function(e){e.addEventListener("load",t.update.bind(t))})),"IMG"===this.el.nodeName&&this.el.addEventListener("load",this.update.bind(this))},update:function(t){t&&"resize"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),t&&"load"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),this.updatePlanned||(this.updatePlanned=!0,window.setTimeout(function(){this.updatePlanned=!1;var t=this.getInitialZoomFactor()*this.zoomFactor,e=-this.offset.x/t,n=-this.offset.y/t,i="scale3d("+t+", "+t+",1) translate3d("+e+"px,"+n+"px,0px)",o="scale("+t+", "+t+") translate("+e+"px,"+n+"px)",r=function(){this.clone&&(this.clone.parentNode.removeChild(this.clone),delete this.clone)}.bind(this);!this.options.use2d||this.hasInteraction||this.inAnimation?(this.is3d=!0,r(),this.el.style.webkitTransform=i,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=i):(this.is3d&&(this.clone=this.el.cloneNode(!0),this.clone.style.pointerEvents="none",this.container.appendChild(this.clone),window.setTimeout(r,200)),this.el.style.webkitTransform=o,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=o,this.is3d=!1)}.bind(this),0))},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},destroy:function(){window.removeEventListener("resize",this.resizeHandler),this.container&&(this.container.remove(),this.container=null)},reset:function(){this.zoomOutAnimation()}};var n=function(t,e){var n=null,i=0,o=null,r=null,a=function(t,i){if(n!==t){if(n&&!t)switch(n){case"zoom":e.handleZoomEnd(i);break;case"drag":e.handleDragEnd(i)}switch(t){case"zoom":e.handleZoomStart(i);break;case"drag":e.handleDragStart(i)}}n=t},s=function(t){2===i?a("zoom"):1===i&&e.canDrag()?a("drag",t):a(null,t)},l=function(t){return Array.from(t).map((function(t){return{x:t.pageX,y:t.pageY}}))},c=function(t,e){var n,i;return n=t.x-e.x,i=t.y-e.y,Math.sqrt(n*n+i*i)},u=function(t){t.stopPropagation(),t.preventDefault()},h=!0;t.addEventListener("touchstart",(function(t){e.enabled&&(h=!0,i=t.touches.length,function(t){var r=(new Date).getTime();if(i>1&&(o=null),r-o<300)switch(u(t),e.handleDoubleTap(t),n){case"zoom":e.handleZoomEnd(t);break;case"drag":e.handleDragEnd(t)}else e.isDoubleTap=!1;1===i&&(o=r)}(t))}),{passive:!1}),t.addEventListener("touchmove",(function(t){if(e.enabled&&!e.isDoubleTap){if(h)s(t),n&&u(t),r=l(t.touches);else{switch(n){case"zoom":2==r.length&&2==t.touches.length&&e.handleZoom(t,function(t,e){var n=c(t[0],t[1]);return c(e[0],e[1])/n}(r,l(t.touches)));break;case"drag":e.handleDrag(t)}n&&(u(t),e.update())}h=!1}}),{passive:!1}),t.addEventListener("touchend",(function(t){e.enabled&&(i=t.touches.length,s(t))})),e.options.useMouseWheel&&(t.addEventListener("mousewheel",(function(t){e.enabled&&(u(t),e.handleMouseWheel(t))})),t.addEventListener("mousedown",(function(t){e.enabled&&(h=!0,i=1)}),{passive:!0}),t.addEventListener("mousemove",(function(t){e.enabled&&(h?(s(t),n&&u(t)):("drag"===n&&e.handleDrag(t),n&&(u(t),e.update())),h=!1)}),{passive:!1}),t.addEventListener("mouseup",(function(t){e.enabled&&(i=0,s(t))}),{passive:!0}))};return t}(),A={scrolling:"BeLzR",root:"nJWgH",layout:"BDoOb",layoutHeader:"iNVA1",layoutContent:"C-jWr",layoutSection:"_3FXm5",layoutAside:"ABw2b",header:"meCSL",headerTitle:"NpSWI",headerClose:"-B9Zg",mainPhotoScrollControls:"ckcap",mainPhoto:"-r4WP BeLzR",mainPhotoItem:"Q7wDI",mainPhotoImage:"NrcBT",mainPhotoIframe:"kObZY",preview:"_86-3f BeLzR",previewItem:"gnB8m",previewButton:"L4PR-",previewImage:"_8dsDI",videoPlayLabel:"_2kU58",videoPlayLabelIcon:"WR7T8",enter:"sM8Qu",exit:"veHZr",enterActive:"VP4oy",exitActive:"AMPJ3"},C=p.forwardRef((function(t,e){var n=t.src,i=t.videoSrc,o=p.useRef(null),r=p.useRef(null),a=p.useRef(null),s=!!i,l=function(){var t,e;null===(t=r.current)||void 0===t||t.reset(),null===(e=o.current)||void 0===e||null===(e=e.contentWindow)||void 0===e||e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return p.useEffect((function(){return requestAnimationFrame((function(){a.current&&!s&&(r.current=new I(a.current,{draggableUnzoomed:!1,animationDuration:200}))})),function(){var t;null===(t=r.current)||void 0===t||t.destroy()}}),[i]),p.useImperativeHandle(e,(function(){return{reset:l}}),[]),s?p.createElement("iframe",{ref:o,className:A.mainPhotoIframe,src:i,width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):p.createElement("img",{ref:a,className:A.mainPhotoImage,src:n,width:"100%",height:"100%",alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_main_image","data-testid":"photo_gallery_main_image"})})),D=p.forwardRef((function(t,e){var n=t.items,i=t.onChange,o=p.useRef([]),r=p.useRef(0),s=p.useRef(null),l=function(){o.current.forEach((function(t){null==t||t.reset()}))},c=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=s.current)||void 0===e?void 0:e.children[t];l(),i&&T(i,s.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:c}}),[]);var u=function(){if(s.current){var t=function(t,e){var n=t.scrollLeft/t.scrollWidth*e;return Math.round(n)}(s.current,n.length);r.current!==t&&(r.current=t,i(t),l())}};return p.createElement(a.ScrollControls,{ref:s,className:A.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0},(function(t){return p.createElement(x,{scrollRef:t,isActive:!0},p.createElement("div",{ref:t,className:A.mainPhoto,onScroll:u},n.map((function(t,e){var n,i=t.type,r=t.src,a="video"===i,s=a?_(r):r,l=a?(n=z(r),"https://youtube.com/embed/".concat(n,"?enablejsapi=1&rel=0")):void 0;return p.createElement("div",{key:e,className:A.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},p.createElement(C,{ref:function(t){return o.current[e]=t},src:s,videoSrc:l}))}))))}))})),P=p.forwardRef((function(t,e){var n=t.items,i=t.selectedIndex,o=t.onChange,r=p.useRef(null),a=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=r.current)||void 0===e?void 0:e.children[t];i&&T(i,r.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:a}}),[]);return p.createElement(x,{scrollRef:r,isActive:!0},p.createElement("div",{ref:r,className:A.preview},n.map((function(t,e){var n=t.type,r=t.src,a="video"===n,s=a?_(r):r;return p.createElement("div",{key:e,className:A.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},p.createElement("button",{className:A.previewButton,type:"button",onClick:function(){return function(t){o(t)}(e)},disabled:i===e,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},p.createElement("img",{className:A.previewImage,src:s,width:58,height:58,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),a&&p.createElement("div",{className:A.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},p.createElement(l.Icon,{className:A.videoPlayLabelIcon,"icon-as":c.SvgPlay}))))}))))})),S=function(t){var e,n,i=t.title,o=t.onClose,r=t.selectedIndex,a=t.itemsLength,s=r+1,c=(0,h.useBodyTTag().t)(E||(e=["Фото "," из ",""],n||(n=e.slice(0)),E=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))),s,a);return p.createElement("div",{className:A.header},p.createElement("div",{className:A.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},i||c),p.createElement("div",{className:A.headerClose},p.createElement(u.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:o,"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},p.createElement(l.Icon,{"icon-as":d.SvgClose,style:{width:24,height:24}}))))};exports.PhotoGallery=function(t){var e=t.isOpen,a=t.title,s=t.visibleIndex,l=void 0===s?0:s,c=t.items,u=t.onClose,h=t.onChange,d=p.useRef(!0),f=p.useRef(null),m=p.useRef(null),y=v(p.useState(l),2),b=y[0],E=y[1];p.useEffect((function(){e&&"function"==typeof h&&h(b)}),[b]),p.useEffect((function(){var t,n;e&&(E(l),null===(t=m.current)||void 0===t||t.scrollToIndex(l,!1),null===(n=f.current)||void 0===n||n.scrollToIndex(l,!1))}),[e]),p.useEffect((function(){if(!e)return function(){};var t=null,n=function(){t&&clearTimeout(t)},i=function(){n(),t=setTimeout((function(){var t,e;null===(t=m.current)||void 0===t||t.scrollToIndex(b,!1),null===(e=f.current)||void 0===e||e.scrollToIndex(b,!1)}),100)};return window.addEventListener("resize",i),window.matchMedia("(orientation: portrait)").addEventListener("change",i),function(){n(),window.removeEventListener("resize",i),window.matchMedia("(orientation: portrait)").removeEventListener("change",i)}}),[e,b]);var w=function(t){var e,n;d.current=!1,E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t),null===(n=f.current)||void 0===n||n.scrollToIndex(t)},x=function(){u(b)};return p.createElement(p.Fragment,null,p.createElement(i.Backdrop,{isOpen:e,onClick:x}),p.createElement(n.CSSTransition,{in:e,timeout:240,classNames:A,unmountOnExit:!0},p.createElement(r.Portal,null,p.createElement("div",{className:A.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery"},p.createElement(g.default,null),p.createElement(o.KeyPress,{code:"Escape",onKeyUp:x}),p.createElement(o.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==b&&w(b-1)}}),p.createElement(o.KeyPress,{code:"ArrowRight",onKeyUp:function(){b!==c.length-1&&w(b+1)}}),p.createElement("div",{className:A.layout},p.createElement("header",{className:A.layoutHeader},p.createElement(S,{title:a,selectedIndex:b,itemsLength:c.length,onClose:x})),p.createElement("div",{className:A.layoutContent},p.createElement("section",{className:A.layoutSection},p.createElement(D,{ref:f,items:c,onChange:function(t){var e;d.current&&(E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t));d.current||b!==t||(d.current=!0)}})),p.createElement("aside",{className:A.layoutAside},p.createElement(P,{ref:m,items:c,selectedIndex:b,onChange:w}))))))))},require("./style.production.css");
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),e=require("react-scrolllock"),n=require("react-transition-group"),i=require("@prom-ui/core/Backdrop"),o=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),r=require("@prom-ui/core/ScrollControls"),s=require("react-scrolllock/dist/utils"),l=require("@prom-ui/core/Icon"),c=require("@prom-ui/icons/Play"),u=require("@prom-ui/core/Button"),h=require("@prom-ui/core/useBodyTTag"),d=require("@prom-ui/icons/Close");function f(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function m(t){if(t&&"object"==typeof t&&"default"in t)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var p=m(t),g=f(e);function v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,o,a,r,s=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(c)throw o}}return s}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function b(t){var e=t.currentTarget;return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth?(t.stopPropagation(),!0):(t.preventDefault(),!1)}var E,w=!("undefined"==typeof window||!window.document||!window.document.createElement)&&!(!window.addEventListener&&!window.attachEvent),x=function(t){var e=t.isActive,n=void 0!==e&&e,i=t.scrollRef,o=t.children;return p.useEffect((function(){if(n&&w&&null!=i&&i.current)return i.current.addEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.addEventListener("touchmove",b,s.listenerOptions),function(){n&&w&&null!=i&&i.current&&(i.current.removeEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.removeEventListener("touchmove",b,s.listenerOptions))}})),p.createElement(p.Fragment,null,o)},O=new Map,T=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];O.has(e)&&(cancelAnimationFrame(O.get(e)),O.delete(e));var i=requestAnimationFrame((function(){var i=e.getBoundingClientRect(),o=t.getBoundingClientRect(),a=o.top+e.scrollTop-i.top-i.height/2+o.height/2,r=o.left+e.scrollLeft-i.left-i.width/2+o.width/2;r<0&&(r=0),a<0&&(a=0),e.scrollTo({behavior:n?"smooth":"instant",top:a,left:r})}));O.set(e,i)},z=function(){var t=function(t,e){this.el=t,this.zoomFactor=1,this.lastScale=1,this.offset={x:0,y:0},this.initialOffset={x:0,y:0},this.options=Object.assign({},this.defaults,e),this.setupMarkup(),this.bindEvents(),this.update(),this.isImageLoaded(this.el)&&(this.updateAspectRatio(),this.setupOffsets()),this.enable()},e=function(t,e){return t+e};t.prototype={defaults:{tapZoomFactor:2,zoomOutFactor:1.3,animationDuration:300,maxZoom:4,minZoom:.5,draggableUnzoomed:!0,lockDragAxis:!1,setOffsetsOnce:!1,use2d:!0,useMouseWheel:!1,verticalPadding:0,horizontalPadding:0,onZoomStart:null,onZoomEnd:null,onZoomUpdate:null,onDragStart:null,onDragEnd:null,onDragUpdate:null,onDoubleTap:null,onMouseWheel:null},handleDragStart:function(t){"function"==typeof this.options.onDragStart&&this.options.onDragStart(this,t),this.stopAnimation(),this.lastDragPosition=!1,this.hasInteraction=!0,this.handleDrag(t)},handleDrag:function(t){var e="touchmove"===t.type?this.getTouches(t)[0]:this.getPointer(t);this.drag(e,this.lastDragPosition),this.offset=this.sanitizeOffset(this.offset),this.lastDragPosition=e},handleDragEnd:function(){"function"==typeof this.options.onDragEnd&&this.options.onDragEnd(this,event),this.end()},handleZoomStart:function(t){"function"==typeof this.options.onZoomStart&&this.options.onZoomStart(this,t),this.stopAnimation(),this.lastScale=1,this.nthZoom=0,this.lastZoomCenter=!1,this.hasInteraction=!0},handleZoom:function(t,e){var n=this.getTouchCenter(this.getTouches(t)),i=e/this.lastScale;this.lastScale=e,this.nthZoom+=1,this.nthZoom>3&&(this.scale(i,n),this.drag(n,this.lastZoomCenter)),this.lastZoomCenter=n},handleZoomEnd:function(){"function"==typeof this.options.onZoomEnd&&this.options.onZoomEnd(this,event),this.end()},handleDoubleTap:function(t){var e=this.getTouches(t)[0],n=this.zoomFactor>1?1:this.options.tapZoomFactor,i=this.zoomFactor,o=function(t){this.scaleTo(i+t*(n-i),e)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,i>n&&(e=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,o,this.swing),"function"==typeof this.options.onDoubleTap&&this.options.onDoubleTap(this,t))},handleMouseWheel:function(t){var e=this.getPointer(t),n=Math.min(Math.max(this.options.minZoom,this.lastScale+-.01*t.deltaY),this.options.maxZoom),i=n/this.lastScale;this.scale(i,e),this.lastScale=n,this.update(),"function"==typeof this.options.onMouseWheel&&this.options.onMouseWheel(this,t)},computeInitialOffset:function(){this.initialOffset={x:-Math.abs(this.el.offsetWidth*this.getInitialZoomFactor()-this.container.offsetWidth)/2,y:-Math.abs(this.el.offsetHeight*this.getInitialZoomFactor()-this.container.offsetHeight)/2}},resetOffset:function(){this.offset.x=this.initialOffset.x,this.offset.y=this.initialOffset.y},isImageLoaded:function(t){return"IMG"===t.nodeName?t.complete&&0!==t.naturalHeight:Array.from(t.querySelectorAll("img")).every(this.isImageLoaded)},setupOffsets:function(){this.options.setOffsetsOnce&&this._isOffsetsSet||(this._isOffsetsSet=!0,this.computeInitialOffset(),this.resetOffset())},sanitizeOffset:function(t){var e=this.el.offsetWidth*this.getInitialZoomFactor()*this.zoomFactor,n=this.el.offsetHeight*this.getInitialZoomFactor()*this.zoomFactor,i=e-this.getContainerX()+this.options.horizontalPadding,o=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(i,0),r=Math.max(o,0),s=Math.min(i,0)-this.options.horizontalPadding,l=Math.min(o,0)-this.options.verticalPadding;return{x:Math.min(Math.max(t.x,s),a),y:Math.min(Math.max(t.y,l),r)}},scaleTo:function(t,e){this.scale(t/this.zoomFactor,e)},scale:function(t,e){t=this.scaleZoomFactor(t),this.addOffset({x:(t-1)*(e.x+this.offset.x),y:(t-1)*(e.y+this.offset.y)}),"function"==typeof this.options.onZoomUpdate&&this.options.onZoomUpdate(this,event)},scaleZoomFactor:function(t){var e=this.zoomFactor;return this.zoomFactor*=t,this.zoomFactor=Math.min(this.options.maxZoom,Math.max(this.zoomFactor,this.options.minZoom)),this.zoomFactor/e},canDrag:function(){return this.options.draggableUnzoomed||!((t=this.zoomFactor)>(e=1)-.01&&t<e+.01);var t,e},drag:function(t,e){e&&(this.options.lockDragAxis?Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?this.addOffset({x:-(t.x-e.x),y:0}):this.addOffset({y:-(t.y-e.y),x:0}):this.addOffset({y:-(t.y-e.y),x:-(t.x-e.x)}),"function"==typeof this.options.onDragUpdate&&this.options.onDragUpdate(this,event))},getTouchCenter:function(t){return this.getVectorAvg(t)},getVectorAvg:function(t){return{x:t.map((function(t){return t.x})).reduce(e)/t.length,y:t.map((function(t){return t.y})).reduce(e)/t.length}},addOffset:function(t){this.offset={x:this.offset.x+t.x,y:this.offset.y+t.y}},sanitize:function(){this.zoomFactor<this.options.zoomOutFactor?this.zoomOutAnimation():this.isInsaneOffset(this.offset)&&this.sanitizeOffsetAnimation()},isInsaneOffset:function(t){var e=this.sanitizeOffset(t);return e.x!==t.x||e.y!==t.y},sanitizeOffsetAnimation:function(){var t=this.sanitizeOffset(this.offset),e=this.offset.x,n=this.offset.y,i=function(i){this.offset.x=e+i*(t.x-e),this.offset.y=n+i*(t.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,i,this.swing)},zoomOutAnimation:function(){if(1!==this.zoomFactor){var t=this.zoomFactor,e=this.getCurrentZoomCenter(),n=function(n){this.scaleTo(t+n*(1-t),e)}.bind(this);this.animate(this.options.animationDuration,n,this.swing)}},updateAspectRatio:function(){this.unsetContainerY(),this.setContainerY(this.container.parentElement.offsetHeight)},getInitialZoomFactor:function(){var t=this.container.offsetWidth/this.el.offsetWidth,e=this.container.offsetHeight/this.el.offsetHeight;return Math.min(t,e)},getAspectRatio:function(){return this.el.offsetWidth/this.el.offsetHeight},getCurrentZoomCenter:function(){var t=this.offset.x-this.initialOffset.x,e=-1*this.offset.x-t/(1/this.zoomFactor-1),n=this.offset.y-this.initialOffset.y;return{x:e,y:-1*this.offset.y-n/(1/this.zoomFactor-1)}},getTouches:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,a=e.left+i;return Array.prototype.slice.call(t.touches).map((function(t){return{x:t.pageX-a,y:t.pageY-o}}))},getPointer:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,a=e.left+i;return{x:t.pageX-a,y:t.pageY-o}},animate:function(t,e,n,i){var o=(new Date).getTime(),a=function(){if(this.inAnimation){var r=(new Date).getTime()-o,s=r/t;r>=t?(e(1),i&&i(),this.update(),this.stopAnimation(),this.update()):(n&&(s=n(s)),e(s),this.update(),requestAnimationFrame(a))}}.bind(this);this.inAnimation=!0,requestAnimationFrame(a)},stopAnimation:function(){this.inAnimation=!1},swing:function(t){return-Math.cos(t*Math.PI)/2+.5},getContainerX:function(){return this.container.offsetWidth},getContainerY:function(){return this.container.offsetHeight},setContainerY:function(t){return this.container.style.height=t+"px"},unsetContainerY:function(){this.container.style.height=null},setupMarkup:function(){var t,e;this.container=(t='<div class="pinch-zoom-container"></div>',(e=document.implementation.createHTMLDocument("")).body.innerHTML=t,Array.from(e.body.children)[0]),this.el.parentNode.insertBefore(this.container,this.el),this.container.appendChild(this.el),this.container.style.overflow="hidden",this.container.style.position="relative",this.el.style.webkitTransformOrigin="0% 0%",this.el.style.mozTransformOrigin="0% 0%",this.el.style.msTransformOrigin="0% 0%",this.el.style.oTransformOrigin="0% 0%",this.el.style.transformOrigin="0% 0%",this.el.style.position="absolute",this.el.style.backfaceVisibility="hidden",this.el.style.willChange="transform"},end:function(){this.hasInteraction=!1,this.sanitize(),this.update()},bindEvents:function(){var t=this;n(this.container,this),this.resizeHandler=this.update.bind(this),window.addEventListener("resize",this.resizeHandler),Array.from(this.el.querySelectorAll("img")).forEach((function(e){e.addEventListener("load",t.update.bind(t))})),"IMG"===this.el.nodeName&&this.el.addEventListener("load",this.update.bind(this))},update:function(t){t&&"resize"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),t&&"load"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),this.updatePlanned||(this.updatePlanned=!0,window.setTimeout(function(){this.updatePlanned=!1;var t=this.getInitialZoomFactor()*this.zoomFactor,e=-this.offset.x/t,n=-this.offset.y/t,i="scale3d("+t+", "+t+",1) translate3d("+e+"px,"+n+"px,0px)",o="scale("+t+", "+t+") translate("+e+"px,"+n+"px)",a=function(){this.clone&&(this.clone.parentNode.removeChild(this.clone),delete this.clone)}.bind(this);!this.options.use2d||this.hasInteraction||this.inAnimation?(this.is3d=!0,a(),this.el.style.webkitTransform=i,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=i):(this.is3d&&(this.clone=this.el.cloneNode(!0),this.clone.style.pointerEvents="none",this.container.appendChild(this.clone),window.setTimeout(a,200)),this.el.style.webkitTransform=o,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=o,this.is3d=!1)}.bind(this),0))},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},destroy:function(){window.removeEventListener("resize",this.resizeHandler),this.container&&(this.container.remove(),this.container=null)},reset:function(){this.zoomOutAnimation()}};var n=function(t,e){var n=null,i=0,o=null,a=null,r=function(t,i){if(n!==t){if(n&&!t)switch(n){case"zoom":e.handleZoomEnd(i);break;case"drag":e.handleDragEnd(i)}switch(t){case"zoom":e.handleZoomStart(i);break;case"drag":e.handleDragStart(i)}}n=t},s=function(t){2===i?r("zoom"):1===i&&e.canDrag()?r("drag",t):r(null,t)},l=function(t){return Array.from(t).map((function(t){return{x:t.pageX,y:t.pageY}}))},c=function(t,e){var n,i;return n=t.x-e.x,i=t.y-e.y,Math.sqrt(n*n+i*i)},u=function(t){t.stopPropagation(),t.preventDefault()},h=!0;t.addEventListener("touchstart",(function(t){e.enabled&&(h=!0,i=t.touches.length,function(t){var a=(new Date).getTime();if(i>1&&(o=null),a-o<300)switch(u(t),e.handleDoubleTap(t),n){case"zoom":e.handleZoomEnd(t);break;case"drag":e.handleDragEnd(t)}else e.isDoubleTap=!1;1===i&&(o=a)}(t))}),{passive:!1}),t.addEventListener("touchmove",(function(t){if(e.enabled&&!e.isDoubleTap){if(h)s(t),n&&u(t),a=l(t.touches);else{switch(n){case"zoom":2==a.length&&2==t.touches.length&&e.handleZoom(t,function(t,e){var n=c(t[0],t[1]);return c(e[0],e[1])/n}(a,l(t.touches)));break;case"drag":e.handleDrag(t)}n&&(u(t),e.update())}h=!1}}),{passive:!1}),t.addEventListener("touchend",(function(t){e.enabled&&(i=t.touches.length,s(t))})),e.options.useMouseWheel&&(t.addEventListener("mousewheel",(function(t){e.enabled&&(u(t),e.handleMouseWheel(t))})),t.addEventListener("mousedown",(function(t){e.enabled&&(h=!0,i=1)}),{passive:!0}),t.addEventListener("mousemove",(function(t){e.enabled&&(h?(s(t),n&&u(t)):("drag"===n&&e.handleDrag(t),n&&(u(t),e.update())),h=!1)}),{passive:!1}),t.addEventListener("mouseup",(function(t){e.enabled&&(i=0,s(t))}),{passive:!0}))};return t}(),I={scrolling:"q1DKc",root:"KiBKq",layout:"JBDok",layoutHeader:"tVG4b",layoutContent:"O43ff",layoutSection:"CvZb6",layoutAside:"fdKgJ",header:"xfAad",headerTitle:"QiOEy",headerClose:"qdl3x",mainPhotoScrollControls:"PeY3Y",mainPhoto:"QIMHy q1DKc",mainPhotoItem:"aZCyk",mainPhotoImage:"_2aEr5",mainPhotoIframe:"kThdT",preview:"F-k0z q1DKc",previewItem:"jf683",previewButton:"VAXOP",previewImage:"Mx2Y-",videoPlayLabel:"jQiDN",videoPlayLabelIcon:"wSdjd",enter:"Lnosr",exit:"NW-xY",enterActive:"LrirU",exitActive:"L6st-"},_=p.forwardRef((function(t,e){var n,i,o=t.src,a=t.video,r=p.useRef(null),s=p.useRef(null),l=p.useRef(null),c=!!a,u=function(){var t,e;null===(t=s.current)||void 0===t||t.reset(),null===(e=r.current)||void 0===e||null===(e=e.contentWindow)||void 0===e||e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return p.useEffect((function(){return requestAnimationFrame((function(){l.current&&!c&&(s.current=new z(l.current,{draggableUnzoomed:!1,animationDuration:200}))})),function(){var t;null===(t=s.current)||void 0===t||t.destroy()}}),[a]),p.useImperativeHandle(e,(function(){return{reset:u}}),[]),c?p.createElement("iframe",{ref:r,className:I.mainPhotoIframe,src:(n=a,i=new URL(n),i.searchParams.delete("autoplay"),i.searchParams.append("enablejsapi","1"),i.searchParams.append("rel","0"),i.href),width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):p.createElement("img",{ref:l,className:I.mainPhotoImage,src:o,width:"100%",height:"100%",alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_main_image","data-testid":"photo_gallery_main_image"})})),C=p.forwardRef((function(t,e){var n=t.items,i=t.onChange,o=p.useRef([]),a=p.useRef(0),s=p.useRef(null),l=function(){o.current.forEach((function(t){null==t||t.reset()}))},c=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=s.current)||void 0===e?void 0:e.children[t];l(),i&&T(i,s.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:c}}),[]);var u=function(){if(s.current){var t=function(t,e){var n=t.scrollLeft/t.scrollWidth*e;return Math.round(n)}(s.current,n.length);a.current!==t&&(a.current=t,i(t),l())}};return p.createElement(r.ScrollControls,{ref:s,className:I.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0},(function(t){return p.createElement(x,{scrollRef:t,isActive:!0},p.createElement("div",{ref:t,className:I.mainPhoto,onScroll:u},n.map((function(t,e){var n=t.src,i=t.video;return p.createElement("div",{key:e,className:I.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},p.createElement(_,{ref:function(t){return o.current[e]=t},src:n,video:i}))}))))}))})),A=p.forwardRef((function(t,e){var n=t.items,i=t.selectedIndex,o=t.onChange,a=p.useRef(null),r=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=a.current)||void 0===e?void 0:e.children[t];i&&T(i,a.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:r}}),[]);return p.createElement(x,{scrollRef:a,isActive:!0},p.createElement("div",{ref:a,className:I.preview},n.map((function(t,e){var n=t.src,a=t.video;return p.createElement("div",{key:e,className:I.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},p.createElement("button",{className:I.previewButton,type:"button",onClick:function(){return function(t){o(t)}(e)},disabled:i===e,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},p.createElement("img",{className:I.previewImage,src:n,width:58,height:58,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),!!a&&p.createElement("div",{className:I.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},p.createElement(l.Icon,{className:I.videoPlayLabelIcon,"icon-as":c.SvgPlay}))))}))))})),D=function(t){var e,n,i=t.title,o=t.onClose,a=t.selectedIndex,r=t.itemsLength,s=a+1,c=(0,h.useBodyTTag().t)(E||(e=["Фото "," из ",""],n||(n=e.slice(0)),E=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))),s,r);return p.createElement("div",{className:I.header},p.createElement("div",{className:I.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},i||c),p.createElement("div",{className:I.headerClose},p.createElement(u.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:o,"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},p.createElement(l.Icon,{"icon-as":d.SvgClose,style:{width:24,height:24}}))))};exports.PhotoGallery=function(t){var e=t.isOpen,r=t.title,s=t.visibleIndex,l=void 0===s?0:s,c=t.items,u=t.onClose,h=t.onChange,d=p.useRef(!0),f=p.useRef(null),m=p.useRef(null),y=v(p.useState(l),2),b=y[0],E=y[1];p.useEffect((function(){e&&"function"==typeof h&&h(b)}),[b]),p.useEffect((function(){var t,n;e&&(E(l),null===(t=m.current)||void 0===t||t.scrollToIndex(l,!1),null===(n=f.current)||void 0===n||n.scrollToIndex(l,!1))}),[e]),p.useEffect((function(){if(!e)return function(){};var t=null,n=function(){t&&clearTimeout(t)},i=function(){n(),t=setTimeout((function(){var t,e;null===(t=m.current)||void 0===t||t.scrollToIndex(b,!1),null===(e=f.current)||void 0===e||e.scrollToIndex(b,!1)}),100)};return window.addEventListener("resize",i),window.matchMedia("(orientation: portrait)").addEventListener("change",i),function(){n(),window.removeEventListener("resize",i),window.matchMedia("(orientation: portrait)").removeEventListener("change",i)}}),[e,b]);var w=function(t){var e,n;d.current=!1,E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t),null===(n=f.current)||void 0===n||n.scrollToIndex(t)},x=function(){u(b)};return p.createElement(p.Fragment,null,p.createElement(i.Backdrop,{isOpen:e,onClick:x}),p.createElement(n.CSSTransition,{in:e,timeout:240,classNames:I,unmountOnExit:!0},p.createElement(a.Portal,null,p.createElement("div",{className:I.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery"},p.createElement(g.default,null),p.createElement(o.KeyPress,{code:"Escape",onKeyUp:x}),p.createElement(o.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==b&&w(b-1)}}),p.createElement(o.KeyPress,{code:"ArrowRight",onKeyUp:function(){b!==c.length-1&&w(b+1)}}),p.createElement("div",{className:I.layout},p.createElement("header",{className:I.layoutHeader},p.createElement(D,{title:r,selectedIndex:b,itemsLength:c.length,onClose:x})),p.createElement("div",{className:I.layoutContent},p.createElement("section",{className:I.layoutSection},p.createElement(C,{ref:f,items:c,onChange:function(t){var e;d.current&&(E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t));d.current||b!==t||(d.current=!0)}})),p.createElement("aside",{className:I.layoutAside},p.createElement(A,{ref:m,items:c,selectedIndex:b,onChange:w}))))))))},require("./style.production.v2.css");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),e=require("react-scrolllock"),n=require("react-transition-group"),i=require("@prom-ui/core/Backdrop"),o=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),r=require("@prom-ui/core/ScrollControls"),s=require("react-scrolllock/dist/utils"),l=require("@prom-ui/core/Icon"),c=require("@prom-ui/icons/Play"),u=require("@prom-ui/core/Button"),h=require("@prom-ui/core/useBodyTTag"),d=require("@prom-ui/icons/Close");function f(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function m(t){if(t&&"object"==typeof t&&"default"in t)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var p=m(t),g=f(e);function v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,o,a,r,s=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(c)throw o}}return s}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function b(t){var e=t.currentTarget;return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth?(t.stopPropagation(),!0):(t.preventDefault(),!1)}var E,w=!("undefined"==typeof window||!window.document||!window.document.createElement)&&!(!window.addEventListener&&!window.attachEvent),x=function(t){var e=t.isActive,n=void 0!==e&&e,i=t.scrollRef,o=t.children;return p.useEffect((function(){if(n&&w&&null!=i&&i.current)return i.current.addEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.addEventListener("touchmove",b,s.listenerOptions),function(){n&&w&&null!=i&&i.current&&(i.current.removeEventListener("touchstart",s.preventInertiaScroll,s.listenerOptions),i.current.removeEventListener("touchmove",b,s.listenerOptions))}})),p.createElement(p.Fragment,null,o)},O=new Map,T=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];O.has(e)&&(cancelAnimationFrame(O.get(e)),O.delete(e));var i=requestAnimationFrame((function(){var i=e.getBoundingClientRect(),o=t.getBoundingClientRect(),a=o.top+e.scrollTop-i.top-i.height/2+o.height/2,r=o.left+e.scrollLeft-i.left-i.width/2+o.width/2;r<0&&(r=0),a<0&&(a=0),e.scrollTo({behavior:n?"smooth":"instant",top:a,left:r})}));O.set(e,i)},z=function(t){var e=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/.exec(t);return e&&e[1]},I=function(t){var e=z(t);return"https://img.youtube.com/vi/".concat(e,"/0.jpg")},_=function(){var t=function(t,e){this.el=t,this.zoomFactor=1,this.lastScale=1,this.offset={x:0,y:0},this.initialOffset={x:0,y:0},this.options=Object.assign({},this.defaults,e),this.setupMarkup(),this.bindEvents(),this.update(),this.isImageLoaded(this.el)&&(this.updateAspectRatio(),this.setupOffsets()),this.enable()},e=function(t,e){return t+e};t.prototype={defaults:{tapZoomFactor:2,zoomOutFactor:1.3,animationDuration:300,maxZoom:4,minZoom:.5,draggableUnzoomed:!0,lockDragAxis:!1,setOffsetsOnce:!1,use2d:!0,useMouseWheel:!1,verticalPadding:0,horizontalPadding:0,onZoomStart:null,onZoomEnd:null,onZoomUpdate:null,onDragStart:null,onDragEnd:null,onDragUpdate:null,onDoubleTap:null,onMouseWheel:null},handleDragStart:function(t){"function"==typeof this.options.onDragStart&&this.options.onDragStart(this,t),this.stopAnimation(),this.lastDragPosition=!1,this.hasInteraction=!0,this.handleDrag(t)},handleDrag:function(t){var e="touchmove"===t.type?this.getTouches(t)[0]:this.getPointer(t);this.drag(e,this.lastDragPosition),this.offset=this.sanitizeOffset(this.offset),this.lastDragPosition=e},handleDragEnd:function(){"function"==typeof this.options.onDragEnd&&this.options.onDragEnd(this,event),this.end()},handleZoomStart:function(t){"function"==typeof this.options.onZoomStart&&this.options.onZoomStart(this,t),this.stopAnimation(),this.lastScale=1,this.nthZoom=0,this.lastZoomCenter=!1,this.hasInteraction=!0},handleZoom:function(t,e){var n=this.getTouchCenter(this.getTouches(t)),i=e/this.lastScale;this.lastScale=e,this.nthZoom+=1,this.nthZoom>3&&(this.scale(i,n),this.drag(n,this.lastZoomCenter)),this.lastZoomCenter=n},handleZoomEnd:function(){"function"==typeof this.options.onZoomEnd&&this.options.onZoomEnd(this,event),this.end()},handleDoubleTap:function(t){var e=this.getTouches(t)[0],n=this.zoomFactor>1?1:this.options.tapZoomFactor,i=this.zoomFactor,o=function(t){this.scaleTo(i+t*(n-i),e)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,i>n&&(e=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,o,this.swing),"function"==typeof this.options.onDoubleTap&&this.options.onDoubleTap(this,t))},handleMouseWheel:function(t){var e=this.getPointer(t),n=Math.min(Math.max(this.options.minZoom,this.lastScale+-.01*t.deltaY),this.options.maxZoom),i=n/this.lastScale;this.scale(i,e),this.lastScale=n,this.update(),"function"==typeof this.options.onMouseWheel&&this.options.onMouseWheel(this,t)},computeInitialOffset:function(){this.initialOffset={x:-Math.abs(this.el.offsetWidth*this.getInitialZoomFactor()-this.container.offsetWidth)/2,y:-Math.abs(this.el.offsetHeight*this.getInitialZoomFactor()-this.container.offsetHeight)/2}},resetOffset:function(){this.offset.x=this.initialOffset.x,this.offset.y=this.initialOffset.y},isImageLoaded:function(t){return"IMG"===t.nodeName?t.complete&&0!==t.naturalHeight:Array.from(t.querySelectorAll("img")).every(this.isImageLoaded)},setupOffsets:function(){this.options.setOffsetsOnce&&this._isOffsetsSet||(this._isOffsetsSet=!0,this.computeInitialOffset(),this.resetOffset())},sanitizeOffset:function(t){var e=this.el.offsetWidth*this.getInitialZoomFactor()*this.zoomFactor,n=this.el.offsetHeight*this.getInitialZoomFactor()*this.zoomFactor,i=e-this.getContainerX()+this.options.horizontalPadding,o=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(i,0),r=Math.max(o,0),s=Math.min(i,0)-this.options.horizontalPadding,l=Math.min(o,0)-this.options.verticalPadding;return{x:Math.min(Math.max(t.x,s),a),y:Math.min(Math.max(t.y,l),r)}},scaleTo:function(t,e){this.scale(t/this.zoomFactor,e)},scale:function(t,e){t=this.scaleZoomFactor(t),this.addOffset({x:(t-1)*(e.x+this.offset.x),y:(t-1)*(e.y+this.offset.y)}),"function"==typeof this.options.onZoomUpdate&&this.options.onZoomUpdate(this,event)},scaleZoomFactor:function(t){var e=this.zoomFactor;return this.zoomFactor*=t,this.zoomFactor=Math.min(this.options.maxZoom,Math.max(this.zoomFactor,this.options.minZoom)),this.zoomFactor/e},canDrag:function(){return this.options.draggableUnzoomed||!((t=this.zoomFactor)>(e=1)-.01&&t<e+.01);var t,e},drag:function(t,e){e&&(this.options.lockDragAxis?Math.abs(t.x-e.x)>Math.abs(t.y-e.y)?this.addOffset({x:-(t.x-e.x),y:0}):this.addOffset({y:-(t.y-e.y),x:0}):this.addOffset({y:-(t.y-e.y),x:-(t.x-e.x)}),"function"==typeof this.options.onDragUpdate&&this.options.onDragUpdate(this,event))},getTouchCenter:function(t){return this.getVectorAvg(t)},getVectorAvg:function(t){return{x:t.map((function(t){return t.x})).reduce(e)/t.length,y:t.map((function(t){return t.y})).reduce(e)/t.length}},addOffset:function(t){this.offset={x:this.offset.x+t.x,y:this.offset.y+t.y}},sanitize:function(){this.zoomFactor<this.options.zoomOutFactor?this.zoomOutAnimation():this.isInsaneOffset(this.offset)&&this.sanitizeOffsetAnimation()},isInsaneOffset:function(t){var e=this.sanitizeOffset(t);return e.x!==t.x||e.y!==t.y},sanitizeOffsetAnimation:function(){var t=this.sanitizeOffset(this.offset),e=this.offset.x,n=this.offset.y,i=function(i){this.offset.x=e+i*(t.x-e),this.offset.y=n+i*(t.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,i,this.swing)},zoomOutAnimation:function(){if(1!==this.zoomFactor){var t=this.zoomFactor,e=this.getCurrentZoomCenter(),n=function(n){this.scaleTo(t+n*(1-t),e)}.bind(this);this.animate(this.options.animationDuration,n,this.swing)}},updateAspectRatio:function(){this.unsetContainerY(),this.setContainerY(this.container.parentElement.offsetHeight)},getInitialZoomFactor:function(){var t=this.container.offsetWidth/this.el.offsetWidth,e=this.container.offsetHeight/this.el.offsetHeight;return Math.min(t,e)},getAspectRatio:function(){return this.el.offsetWidth/this.el.offsetHeight},getCurrentZoomCenter:function(){var t=this.offset.x-this.initialOffset.x,e=-1*this.offset.x-t/(1/this.zoomFactor-1),n=this.offset.y-this.initialOffset.y;return{x:e,y:-1*this.offset.y-n/(1/this.zoomFactor-1)}},getTouches:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,a=e.left+i;return Array.prototype.slice.call(t.touches).map((function(t){return{x:t.pageX-a,y:t.pageY-o}}))},getPointer:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,o=e.top+n,a=e.left+i;return{x:t.pageX-a,y:t.pageY-o}},animate:function(t,e,n,i){var o=(new Date).getTime(),a=function(){if(this.inAnimation){var r=(new Date).getTime()-o,s=r/t;r>=t?(e(1),i&&i(),this.update(),this.stopAnimation(),this.update()):(n&&(s=n(s)),e(s),this.update(),requestAnimationFrame(a))}}.bind(this);this.inAnimation=!0,requestAnimationFrame(a)},stopAnimation:function(){this.inAnimation=!1},swing:function(t){return-Math.cos(t*Math.PI)/2+.5},getContainerX:function(){return this.container.offsetWidth},getContainerY:function(){return this.container.offsetHeight},setContainerY:function(t){return this.container.style.height=t+"px"},unsetContainerY:function(){this.container.style.height=null},setupMarkup:function(){var t,e;this.container=(t='<div class="pinch-zoom-container"></div>',(e=document.implementation.createHTMLDocument("")).body.innerHTML=t,Array.from(e.body.children)[0]),this.el.parentNode.insertBefore(this.container,this.el),this.container.appendChild(this.el),this.container.style.overflow="hidden",this.container.style.position="relative",this.el.style.webkitTransformOrigin="0% 0%",this.el.style.mozTransformOrigin="0% 0%",this.el.style.msTransformOrigin="0% 0%",this.el.style.oTransformOrigin="0% 0%",this.el.style.transformOrigin="0% 0%",this.el.style.position="absolute",this.el.style.backfaceVisibility="hidden",this.el.style.willChange="transform"},end:function(){this.hasInteraction=!1,this.sanitize(),this.update()},bindEvents:function(){var t=this;n(this.container,this),this.resizeHandler=this.update.bind(this),window.addEventListener("resize",this.resizeHandler),Array.from(this.el.querySelectorAll("img")).forEach((function(e){e.addEventListener("load",t.update.bind(t))})),"IMG"===this.el.nodeName&&this.el.addEventListener("load",this.update.bind(this))},update:function(t){t&&"resize"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),t&&"load"===t.type&&(this.updateAspectRatio(),this.setupOffsets()),this.updatePlanned||(this.updatePlanned=!0,window.setTimeout(function(){this.updatePlanned=!1;var t=this.getInitialZoomFactor()*this.zoomFactor,e=-this.offset.x/t,n=-this.offset.y/t,i="scale3d("+t+", "+t+",1) translate3d("+e+"px,"+n+"px,0px)",o="scale("+t+", "+t+") translate("+e+"px,"+n+"px)",a=function(){this.clone&&(this.clone.parentNode.removeChild(this.clone),delete this.clone)}.bind(this);!this.options.use2d||this.hasInteraction||this.inAnimation?(this.is3d=!0,a(),this.el.style.webkitTransform=i,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=i):(this.is3d&&(this.clone=this.el.cloneNode(!0),this.clone.style.pointerEvents="none",this.container.appendChild(this.clone),window.setTimeout(a,200)),this.el.style.webkitTransform=o,this.el.style.mozTransform=o,this.el.style.msTransform=o,this.el.style.oTransform=o,this.el.style.transform=o,this.is3d=!1)}.bind(this),0))},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},destroy:function(){window.removeEventListener("resize",this.resizeHandler),this.container&&(this.container.remove(),this.container=null)},reset:function(){this.zoomOutAnimation()}};var n=function(t,e){var n=null,i=0,o=null,a=null,r=function(t,i){if(n!==t){if(n&&!t)switch(n){case"zoom":e.handleZoomEnd(i);break;case"drag":e.handleDragEnd(i)}switch(t){case"zoom":e.handleZoomStart(i);break;case"drag":e.handleDragStart(i)}}n=t},s=function(t){2===i?r("zoom"):1===i&&e.canDrag()?r("drag",t):r(null,t)},l=function(t){return Array.from(t).map((function(t){return{x:t.pageX,y:t.pageY}}))},c=function(t,e){var n,i;return n=t.x-e.x,i=t.y-e.y,Math.sqrt(n*n+i*i)},u=function(t){t.stopPropagation(),t.preventDefault()},h=!0;t.addEventListener("touchstart",(function(t){e.enabled&&(h=!0,i=t.touches.length,function(t){var a=(new Date).getTime();if(i>1&&(o=null),a-o<300)switch(u(t),e.handleDoubleTap(t),n){case"zoom":e.handleZoomEnd(t);break;case"drag":e.handleDragEnd(t)}else e.isDoubleTap=!1;1===i&&(o=a)}(t))}),{passive:!1}),t.addEventListener("touchmove",(function(t){if(e.enabled&&!e.isDoubleTap){if(h)s(t),n&&u(t),a=l(t.touches);else{switch(n){case"zoom":2==a.length&&2==t.touches.length&&e.handleZoom(t,function(t,e){var n=c(t[0],t[1]);return c(e[0],e[1])/n}(a,l(t.touches)));break;case"drag":e.handleDrag(t)}n&&(u(t),e.update())}h=!1}}),{passive:!1}),t.addEventListener("touchend",(function(t){e.enabled&&(i=t.touches.length,s(t))})),e.options.useMouseWheel&&(t.addEventListener("mousewheel",(function(t){e.enabled&&(u(t),e.handleMouseWheel(t))})),t.addEventListener("mousedown",(function(t){e.enabled&&(h=!0,i=1)}),{passive:!0}),t.addEventListener("mousemove",(function(t){e.enabled&&(h?(s(t),n&&u(t)):("drag"===n&&e.handleDrag(t),n&&(u(t),e.update())),h=!1)}),{passive:!1}),t.addEventListener("mouseup",(function(t){e.enabled&&(i=0,s(t))}),{passive:!0}))};return t}(),C={scrolling:"q1DKc",root:"KiBKq",layout:"JBDok",layoutHeader:"tVG4b",layoutContent:"O43ff",layoutSection:"CvZb6",layoutAside:"fdKgJ",header:"xfAad",headerTitle:"QiOEy",headerClose:"qdl3x",mainPhotoScrollControls:"PeY3Y",mainPhoto:"QIMHy q1DKc",mainPhotoItem:"aZCyk",mainPhotoImage:"_2aEr5",mainPhotoIframe:"kThdT",preview:"F-k0z q1DKc",previewItem:"jf683",previewButton:"VAXOP",previewImage:"Mx2Y-",videoPlayLabel:"jQiDN",videoPlayLabelIcon:"wSdjd",enter:"Lnosr",exit:"NW-xY",enterActive:"LrirU",exitActive:"L6st-"},A=p.forwardRef((function(t,e){var n=t.src,i=t.videoSrc,o=p.useRef(null),a=p.useRef(null),r=p.useRef(null),s=!!i,l=function(){var t,e;null===(t=a.current)||void 0===t||t.reset(),null===(e=o.current)||void 0===e||null===(e=e.contentWindow)||void 0===e||e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return p.useEffect((function(){return requestAnimationFrame((function(){r.current&&!s&&(a.current=new _(r.current,{draggableUnzoomed:!1,animationDuration:200}))})),function(){var t;null===(t=a.current)||void 0===t||t.destroy()}}),[i]),p.useImperativeHandle(e,(function(){return{reset:l}}),[]),s?p.createElement("iframe",{ref:o,className:C.mainPhotoIframe,src:i,width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):p.createElement("img",{ref:r,className:C.mainPhotoImage,src:n,width:"100%",height:"100%",alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_main_image","data-testid":"photo_gallery_main_image"})})),D=p.forwardRef((function(t,e){var n=t.items,i=t.onChange,o=p.useRef([]),a=p.useRef(0),s=p.useRef(null),l=function(){o.current.forEach((function(t){null==t||t.reset()}))},c=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=s.current)||void 0===e?void 0:e.children[t];l(),i&&T(i,s.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:c}}),[]);var u=function(){if(s.current){var t=function(t,e){var n=t.scrollLeft/t.scrollWidth*e;return Math.round(n)}(s.current,n.length);a.current!==t&&(a.current=t,i(t),l())}};return p.createElement(r.ScrollControls,{ref:s,className:C.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0},(function(t){return p.createElement(x,{scrollRef:t,isActive:!0},p.createElement("div",{ref:t,className:C.mainPhoto,onScroll:u},n.map((function(t,e){var n,i=t.type,a=t.src,r="video"===i,s=r?I(a):a,l=r?(n=z(a),"https://youtube.com/embed/".concat(n,"?enablejsapi=1&rel=0")):void 0;return p.createElement("div",{key:e,className:C.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},p.createElement(A,{ref:function(t){return o.current[e]=t},src:s,videoSrc:l}))}))))}))})),P=p.forwardRef((function(t,e){var n=t.items,i=t.selectedIndex,o=t.onChange,a=p.useRef(null),r=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=null===(e=a.current)||void 0===e?void 0:e.children[t];i&&T(i,a.current,n)};p.useImperativeHandle(e,(function(){return{scrollToIndex:r}}),[]);return p.createElement(x,{scrollRef:a,isActive:!0},p.createElement("div",{ref:a,className:C.preview},n.map((function(t,e){var n=t.type,a=t.src,r="video"===n,s=r?I(a):a;return p.createElement("div",{key:e,className:C.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},p.createElement("button",{className:C.previewButton,type:"button",onClick:function(){return function(t){o(t)}(e)},disabled:i===e,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},p.createElement("img",{className:C.previewImage,src:s,width:58,height:58,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),r&&p.createElement("div",{className:C.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},p.createElement(l.Icon,{className:C.videoPlayLabelIcon,"icon-as":c.SvgPlay}))))}))))})),S=function(t){var e,n,i=t.title,o=t.onClose,a=t.selectedIndex,r=t.itemsLength,s=a+1,c=(0,h.useBodyTTag().t)(E||(e=["Фото "," из ",""],n||(n=e.slice(0)),E=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))),s,r);return p.createElement("div",{className:C.header},p.createElement("div",{className:C.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},i||c),p.createElement("div",{className:C.headerClose},p.createElement(u.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:o,"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},p.createElement(l.Icon,{"icon-as":d.SvgClose,style:{width:24,height:24}}))))};exports.PhotoGallery=function(t){var e=t.isOpen,r=t.title,s=t.visibleIndex,l=void 0===s?0:s,c=t.items,u=t.onClose,h=t.onChange,d=p.useRef(!0),f=p.useRef(null),m=p.useRef(null),y=v(p.useState(l),2),b=y[0],E=y[1];p.useEffect((function(){e&&"function"==typeof h&&h(b)}),[b]),p.useEffect((function(){var t,n;e&&(E(l),null===(t=m.current)||void 0===t||t.scrollToIndex(l,!1),null===(n=f.current)||void 0===n||n.scrollToIndex(l,!1))}),[e]),p.useEffect((function(){if(!e)return function(){};var t=null,n=function(){t&&clearTimeout(t)},i=function(){n(),t=setTimeout((function(){var t,e;null===(t=m.current)||void 0===t||t.scrollToIndex(b,!1),null===(e=f.current)||void 0===e||e.scrollToIndex(b,!1)}),100)};return window.addEventListener("resize",i),window.matchMedia("(orientation: portrait)").addEventListener("change",i),function(){n(),window.removeEventListener("resize",i),window.matchMedia("(orientation: portrait)").removeEventListener("change",i)}}),[e,b]);var w=function(t){var e,n;d.current=!1,E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t),null===(n=f.current)||void 0===n||n.scrollToIndex(t)},x=function(){u(b)};return p.createElement(p.Fragment,null,p.createElement(i.Backdrop,{isOpen:e,onClick:x}),p.createElement(n.CSSTransition,{in:e,timeout:240,classNames:C,unmountOnExit:!0},p.createElement(a.Portal,null,p.createElement("div",{className:C.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery"},p.createElement(g.default,null),p.createElement(o.KeyPress,{code:"Escape",onKeyUp:x}),p.createElement(o.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==b&&w(b-1)}}),p.createElement(o.KeyPress,{code:"ArrowRight",onKeyUp:function(){b!==c.length-1&&w(b+1)}}),p.createElement("div",{className:C.layout},p.createElement("header",{className:C.layoutHeader},p.createElement(S,{title:r,selectedIndex:b,itemsLength:c.length,onClose:x})),p.createElement("div",{className:C.layoutContent},p.createElement("section",{className:C.layoutSection},p.createElement(D,{ref:f,items:c,onChange:function(t){var e;d.current&&(E(t),null===(e=m.current)||void 0===e||e.scrollToIndex(t));d.current||b!==t||(d.current=!0)}})),p.createElement("aside",{className:C.layoutAside},p.createElement(P,{ref:m,items:c,selectedIndex:b,onChange:w}))))))))},require("./style.production.v2.css");
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
- import { type PhotoGalleryProps } from '../index';
3
2
  export type MainPhotosImageRef = {
4
3
  reset: () => void;
5
4
  };
6
- export type MainPhotosImageProps = PhotoGalleryProps['items'][0];
7
- export declare const MainPhotosImage: React.ForwardRefExoticComponent<{
5
+ export type MainPhotosImageProps = {
8
6
  src: string;
9
- video?: string | undefined;
10
- } & React.RefAttributes<MainPhotosImageRef>>;
7
+ videoSrc?: string;
8
+ };
9
+ export declare const MainPhotosImage: React.ForwardRefExoticComponent<MainPhotosImageProps & React.RefAttributes<MainPhotosImageRef>>;
@@ -12,8 +12,8 @@ export type PhotoGalleryProps = {
12
12
  onChange?: (index: number) => void;
13
13
  /** Список фото/видео */
14
14
  items: {
15
+ type: 'image' | 'video';
15
16
  src: string;
16
- video?: string;
17
17
  }[];
18
18
  };
19
19
  export declare const PhotoGallery: React.FC<PhotoGalleryProps>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/PhotoGallery",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,3 +1,4 @@
1
1
  export declare const scrollInToViewElement: (target: Element, parent: Element, isAnimate?: boolean) => void;
2
2
  export declare const getIndexFromScroll: (target: Element, size: number) => number;
3
- export declare const prepareVideoUrl: (videoSrc: string) => string;
3
+ export declare const getEmbedVideoUrl: (videoUrl: string) => string;
4
+ export declare const getVideoPreviewImage: (videoUrl: string) => string;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Picture",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Portal",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/QRCode",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Rating",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/RatingSelect",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/SafeQuery",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Scroll",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/ScrollControls",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/SimpleSlider",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Skeleton",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Spinner",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/Text/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Text",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/TextEmoji",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Tooltip",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Tumbler",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prom-ui/core",
3
3
  "author": "e.marchenko",
4
- "version": "1.7.0-alpha.3",
4
+ "version": "1.7.0-alpha.4",
5
5
  "description": "core ui blocks",
6
6
  "scripts": {
7
7
  "ts-types": "tsc --project tsconfig.build.json --declaration --emitDeclarationOnly",
@@ -72,5 +72,5 @@
72
72
  "optional": true
73
73
  }
74
74
  },
75
- "gitHead": "8b87b94c4e2b814ede60c5ec6551a61911e335dd"
75
+ "gitHead": "009cf42df6865fc08daa7e3affba3fe84addcaed"
76
76
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useBodyTTag",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useDebounce",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useForwardRef",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useId",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useIsMounted",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useKeyPress",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useMedia",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useOutsideClick",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/usePortal",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useScrollPosition",
3
- "version": "1.7.0-alpha.3",
3
+ "version": "1.7.0-alpha.4",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [