@prom-ui/core 3.0.0 → 3.1.0-alpha.0

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 (72) hide show
  1. package/Avatar/package.json +1 -1
  2. package/Backdrop/package.json +1 -1
  3. package/Badge/package.json +1 -1
  4. package/Body/package.json +1 -1
  5. package/BodyProvider/package.json +1 -1
  6. package/BodyScrollLock/package.json +1 -1
  7. package/Box/package.json +1 -1
  8. package/Button/package.json +1 -1
  9. package/ButtonPageUp/package.json +1 -1
  10. package/Checkbox/package.json +1 -1
  11. package/ColorScheme/package.json +1 -1
  12. package/ContextMenu/package.json +1 -1
  13. package/ErrorCatch/package.json +1 -1
  14. package/Flex/package.json +1 -1
  15. package/Grid/package.json +1 -1
  16. package/Icon/package.json +1 -1
  17. package/Image/package.json +1 -1
  18. package/ImageEmoji/package.json +1 -1
  19. package/Input/package.json +1 -1
  20. package/InputField/package.json +1 -1
  21. package/KeyPress/package.json +1 -1
  22. package/Label/package.json +1 -1
  23. package/Line/package.json +1 -1
  24. package/Link/package.json +1 -1
  25. package/List/package.json +1 -1
  26. package/Media/package.json +1 -1
  27. package/Modal/package.json +1 -1
  28. package/OutsideClick/package.json +1 -1
  29. package/Overlay/package.json +1 -1
  30. package/PhotoGallery/cjs/index.development.js +23 -6
  31. package/PhotoGallery/cjs/index.development.v2.js +23 -6
  32. package/PhotoGallery/cjs/index.production.js +1 -1
  33. package/PhotoGallery/cjs/index.production.v2.js +1 -1
  34. package/PhotoGallery/package.json +1 -1
  35. package/Picture/package.json +1 -1
  36. package/Portal/package.json +1 -1
  37. package/Progress/package.json +1 -1
  38. package/QRCode/package.json +1 -1
  39. package/Rating/package.json +1 -1
  40. package/RatingSelect/package.json +1 -1
  41. package/Scroll/package.json +1 -1
  42. package/ScrollControls/ScrollControlsButton.d.ts +5 -0
  43. package/ScrollControls/cjs/index.development.js +7 -1
  44. package/ScrollControls/cjs/index.development.v2.js +7 -1
  45. package/ScrollControls/cjs/index.production.js +1 -1
  46. package/ScrollControls/cjs/index.production.v2.js +1 -1
  47. package/ScrollControls/index.d.ts +5 -0
  48. package/ScrollControls/package.json +1 -1
  49. package/SimpleSlider/package.json +1 -1
  50. package/Skeleton/package.json +1 -1
  51. package/SnackBar/package.json +1 -1
  52. package/Spinner/package.json +1 -1
  53. package/Text/package.json +1 -1
  54. package/TextEmoji/package.json +1 -1
  55. package/Tooltip/package.json +1 -1
  56. package/Tumbler/package.json +1 -1
  57. package/Viewport/package.json +1 -1
  58. package/evokit/package.json +1 -1
  59. package/package.json +2 -2
  60. package/useBrowserLayoutEffect/package.json +1 -1
  61. package/useColorScheme/package.json +1 -1
  62. package/useDebounce/package.json +1 -1
  63. package/useForwardRef/package.json +1 -1
  64. package/useInView/package.json +1 -1
  65. package/useIsMounted/package.json +1 -1
  66. package/useKeyPress/package.json +1 -1
  67. package/useMedia/package.json +1 -1
  68. package/useOutsideClick/package.json +1 -1
  69. package/usePortal/package.json +1 -1
  70. package/useScrollPosition/package.json +1 -1
  71. package/useScrollSync/package.json +1 -1
  72. package/useSnackBar/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/Avatar",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/Badge",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/BodyScrollLock",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/ColorScheme",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/ContextMenu",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/ErrorCatch",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/Label",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/Modal",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -1042,6 +1042,26 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1042
1042
  destroyMainPhoto();
1043
1043
  }
1044
1044
  };
1045
+
1046
+ // По кліку стрілки одразу оновлюємо індекс (миттєвий відгук) і самі прокручуємо до фото
1047
+ // через scrollToIndex: він рахує позицію через getBoundingClientRect уже після того, як
1048
+ // зміна індексу могла звузити фото (поява бічного слота праворуч). Власну піксельну
1049
+ // прокрутку ScrollControls вимикаємо (disableAutoScroll), інакше вона перебила б наш скрол
1050
+ // абсолютним зсувом, порахованим до зміни ширини, і промахнулася б повз потрібне фото.
1051
+ var onClickPrev = function onClickPrev() {
1052
+ triggerInteraction('clickPrevButton');
1053
+ var nextIndex = scrollIndex.current - 1;
1054
+ if (nextIndex < 0) return;
1055
+ onChange(nextIndex);
1056
+ scrollToIndex(nextIndex);
1057
+ };
1058
+ var onClickNext = function onClickNext() {
1059
+ triggerInteraction('clickNextButton');
1060
+ var nextIndex = scrollIndex.current + 1;
1061
+ if (nextIndex > items.length - 1) return;
1062
+ onChange(nextIndex);
1063
+ scrollToIndex(nextIndex);
1064
+ };
1045
1065
  var onTouchStart = function onTouchStart(e) {
1046
1066
  var currentTouchScreenX = e.changedTouches[0].screenX;
1047
1067
  touchScreenX.current = currentTouchScreenX;
@@ -1062,12 +1082,9 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1062
1082
  className: css.mainPhotoScrollControls,
1063
1083
  showOnHover: true,
1064
1084
  hideOnDisabled: true,
1065
- onClickPrev: function onClickPrev() {
1066
- return triggerInteraction('clickPrevButton');
1067
- },
1068
- onClickNext: function onClickNext() {
1069
- return triggerInteraction('clickNextButton');
1070
- }
1085
+ disableAutoScroll: true,
1086
+ onClickPrev: onClickPrev,
1087
+ onClickNext: onClickNext
1071
1088
  }, /*#__PURE__*/React__namespace.createElement("div", {
1072
1089
  className: css.mainPhoto,
1073
1090
  onScroll: onScroll,
@@ -1042,6 +1042,26 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1042
1042
  destroyMainPhoto();
1043
1043
  }
1044
1044
  };
1045
+
1046
+ // По кліку стрілки одразу оновлюємо індекс (миттєвий відгук) і самі прокручуємо до фото
1047
+ // через scrollToIndex: він рахує позицію через getBoundingClientRect уже після того, як
1048
+ // зміна індексу могла звузити фото (поява бічного слота праворуч). Власну піксельну
1049
+ // прокрутку ScrollControls вимикаємо (disableAutoScroll), інакше вона перебила б наш скрол
1050
+ // абсолютним зсувом, порахованим до зміни ширини, і промахнулася б повз потрібне фото.
1051
+ var onClickPrev = function onClickPrev() {
1052
+ triggerInteraction('clickPrevButton');
1053
+ var nextIndex = scrollIndex.current - 1;
1054
+ if (nextIndex < 0) return;
1055
+ onChange(nextIndex);
1056
+ scrollToIndex(nextIndex);
1057
+ };
1058
+ var onClickNext = function onClickNext() {
1059
+ triggerInteraction('clickNextButton');
1060
+ var nextIndex = scrollIndex.current + 1;
1061
+ if (nextIndex > items.length - 1) return;
1062
+ onChange(nextIndex);
1063
+ scrollToIndex(nextIndex);
1064
+ };
1045
1065
  var onTouchStart = function onTouchStart(e) {
1046
1066
  var currentTouchScreenX = e.changedTouches[0].screenX;
1047
1067
  touchScreenX.current = currentTouchScreenX;
@@ -1062,12 +1082,9 @@ var MainPhotos = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
1062
1082
  className: css.mainPhotoScrollControls,
1063
1083
  showOnHover: true,
1064
1084
  hideOnDisabled: true,
1065
- onClickPrev: function onClickPrev() {
1066
- return triggerInteraction('clickPrevButton');
1067
- },
1068
- onClickNext: function onClickNext() {
1069
- return triggerInteraction('clickNextButton');
1070
- }
1085
+ disableAutoScroll: true,
1086
+ onClickPrev: onClickPrev,
1087
+ onClickNext: onClickNext
1071
1088
  }, /*#__PURE__*/React__namespace.createElement("div", {
1072
1089
  className: css.mainPhoto,
1073
1090
  onScroll: onScroll,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("react"),n=require("react-transition-group"),o=require("@prom-ui/core/Backdrop"),i=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),s=require("@prom-ui/core/ScrollControls"),r=require("@prom-ui/core/Icon"),l=require("@prom-ui/icons/Play"),c=require("@prom-ui/icons/StarFill"),u=require("@babel/runtime/helpers/taggedTemplateLiteral"),h=require("@prom-ui/core/Button"),d=require("@prom-ui/core/BodyProvider"),f=require("@prom-ui/icons/Close2"),m=require("@babel/runtime/helpers/extends"),p=require("clsx");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function v(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var y=g(e),b=v(t),E=g(u),x=g(m),w=g(p),I=new Map,P=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t){I.has(t)&&(cancelAnimationFrame(I.get(t)),I.delete(t));var o=requestAnimationFrame(function(){var o=t.getBoundingClientRect(),i=e.getBoundingClientRect(),a=i.top+t.scrollTop-o.top-o.height/2+i.height/2,s=i.left+t.scrollLeft-o.left-o.width/2+i.width/2;s<0&&(s=0),a<0&&(a=0),t.scrollTo({behavior:n?"smooth":"instant",top:a,left:s})});I.set(t,o)}},T=function(e){var t=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/.exec(e);return t&&t[1]},_=function(e){var t=T(e);return"https://img.youtube.com/vi/".concat(t,"/0.jpg")},z=function(){var e=function(e,t){this.el=e,this.zoomFactor=1,this.lastScale=1,this.offset={x:0,y:0},this.initialOffset={x:0,y:0},this.options=Object.assign({},this.defaults,t),this.setupMarkup(),this.bindEvents(),this.update(),this.isImageLoaded(this.el)&&(this.updateAspectRatio(),this.setupOffsets()),this.enable()},t=function(e,t){return e+t};e.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(e){"function"==typeof this.options.onDragStart&&this.options.onDragStart(this,e),this.stopAnimation(),this.lastDragPosition=!1,this.hasInteraction=!0,this.handleDrag(e)},handleDrag:function(e){var t="touchmove"===e.type?this.getTouches(e)[0]:this.getPointer(e);this.drag(t,this.lastDragPosition),this.offset=this.sanitizeOffset(this.offset),this.lastDragPosition=t},handleDragEnd:function(){"function"==typeof this.options.onDragEnd&&this.options.onDragEnd(this,event),this.end()},handleZoomStart:function(e){"function"==typeof this.options.onZoomStart&&this.options.onZoomStart(this,e),this.stopAnimation(),this.lastScale=1,this.nthZoom=0,this.lastZoomCenter=!1,this.hasInteraction=!0},handleZoom:function(e,t){var n=this.getTouchCenter(this.getTouches(e)),o=t/this.lastScale;this.lastScale=t,this.nthZoom+=1,this.nthZoom>3&&(this.scale(o,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(e){var t=this.getTouches(e)[0],n=this.zoomFactor>1?1:this.options.tapZoomFactor,o=this.zoomFactor,i=function(e){this.scaleTo(o+e*(n-o),t)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,o>n&&(t=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,i,this.swing),"function"==typeof this.options.onDoubleTap&&this.options.onDoubleTap(this,e))},handleMouseWheel:function(e){var t=this.getPointer(e),n=Math.min(Math.max(this.options.minZoom,this.lastScale+-.01*e.deltaY),this.options.maxZoom),o=n/this.lastScale;this.scale(o,t),this.lastScale=n,this.update(),"function"==typeof this.options.onMouseWheel&&this.options.onMouseWheel(this,e)},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(e){return"IMG"===e.nodeName?e.complete&&0!==e.naturalHeight:Array.from(e.querySelectorAll("img")).every(this.isImageLoaded)},setupOffsets:function(){this.options.setOffsetsOnce&&this._isOffsetsSet||(this._isOffsetsSet=!0,this.computeInitialOffset(),this.resetOffset())},sanitizeOffset:function(e){var t=this.el.offsetWidth*this.getInitialZoomFactor()*this.zoomFactor,n=this.el.offsetHeight*this.getInitialZoomFactor()*this.zoomFactor,o=t-this.getContainerX()+this.options.horizontalPadding,i=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(o,0),s=Math.max(i,0),r=Math.min(o,0)-this.options.horizontalPadding,l=Math.min(i,0)-this.options.verticalPadding;return{x:Math.min(Math.max(e.x,r),a),y:Math.min(Math.max(e.y,l),s)}},scaleTo:function(e,t){this.scale(e/this.zoomFactor,t)},scale:function(e,t){e=this.scaleZoomFactor(e),this.addOffset({x:(e-1)*(t.x+this.offset.x),y:(e-1)*(t.y+this.offset.y)}),"function"==typeof this.options.onZoomUpdate&&this.options.onZoomUpdate(this,event)},scaleZoomFactor:function(e){var t=this.zoomFactor;return this.zoomFactor*=e,this.zoomFactor=Math.min(this.options.maxZoom,Math.max(this.zoomFactor,this.options.minZoom)),this.zoomFactor/t},canDrag:function(){return this.options.draggableUnzoomed||!((e=this.zoomFactor)>(t=1)-.01&&e<t+.01);var e,t},drag:function(e,t){t&&(this.options.lockDragAxis?Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?this.addOffset({x:-(e.x-t.x),y:0}):this.addOffset({y:-(e.y-t.y),x:0}):this.addOffset({y:-(e.y-t.y),x:-(e.x-t.x)}),"function"==typeof this.options.onDragUpdate&&this.options.onDragUpdate(this,event))},getTouchCenter:function(e){return this.getVectorAvg(e)},getVectorAvg:function(e){return{x:e.map(function(e){return e.x}).reduce(t)/e.length,y:e.map(function(e){return e.y}).reduce(t)/e.length}},addOffset:function(e){this.offset={x:this.offset.x+e.x,y:this.offset.y+e.y}},sanitize:function(){this.zoomFactor<this.options.zoomOutFactor?this.zoomOutAnimation():this.isInsaneOffset(this.offset)&&this.sanitizeOffsetAnimation()},isInsaneOffset:function(e){var t=this.sanitizeOffset(e);return t.x!==e.x||t.y!==e.y},sanitizeOffsetAnimation:function(){var e=this.sanitizeOffset(this.offset),t=this.offset.x,n=this.offset.y,o=function(o){this.offset.x=t+o*(e.x-t),this.offset.y=n+o*(e.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,o,this.swing)},zoomOutAnimation:function(){if(1!==this.zoomFactor){var e=this.zoomFactor,t=this.getCurrentZoomCenter(),n=function(n){this.scaleTo(e+n*(1-e),t)}.bind(this);this.animate(this.options.animationDuration,n,this.swing)}},updateAspectRatio:function(){this.unsetContainerY(),this.setContainerY(this.container.parentElement.offsetHeight)},getInitialZoomFactor:function(){var e=this.container.offsetWidth/this.el.offsetWidth,t=this.container.offsetHeight/this.el.offsetHeight;return Math.min(e,t)},getAspectRatio:function(){return this.el.offsetWidth/this.el.offsetHeight},getCurrentZoomCenter:function(){var e=this.offset.x-this.initialOffset.x,t=-1*this.offset.x-e/(1/this.zoomFactor-1),n=this.offset.y-this.initialOffset.y;return{x:t,y:-1*this.offset.y-n/(1/this.zoomFactor-1)}},getTouches:function(e){var t=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=t.top+n,a=t.left+o;return Array.prototype.slice.call(e.touches).map(function(e){return{x:e.pageX-a,y:e.pageY-i}})},getPointer:function(e){var t=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=t.top+n,a=t.left+o;return{x:e.pageX-a,y:e.pageY-i}},animate:function(e,t,n,o){var i=(new Date).getTime(),a=function(){if(this.inAnimation){var s=(new Date).getTime()-i,r=s/e;s>=e?(t(1),o&&o(),this.update(),this.stopAnimation(),this.update()):(n&&(r=n(r)),t(r),this.update(),requestAnimationFrame(a))}}.bind(this);this.inAnimation=!0,requestAnimationFrame(a)},stopAnimation:function(){this.inAnimation=!1},swing:function(e){return-Math.cos(e*Math.PI)/2+.5},getContainerX:function(){return this.container.offsetWidth},getContainerY:function(){return this.container.offsetHeight},setContainerY:function(e){return this.container.style.height=e+"px"},unsetContainerY:function(){this.container.style.height=null},setupMarkup:function(){var e,t;this.container=(e='<div class="pinch-zoom-container" style="height: 100%;"></div>',(t=document.implementation.createHTMLDocument("")).body.innerHTML=e,Array.from(t.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 e=this;n(this.container,this),this.resizeHandler=this.update.bind(this),window.addEventListener("resize",this.resizeHandler),Array.from(this.el.querySelectorAll("img")).forEach(function(t){t.addEventListener("load",e.update.bind(e))}),"IMG"===this.el.nodeName&&this.el.addEventListener("load",this.update.bind(this))},update:function(e){e&&"resize"===e.type&&(this.updateAspectRatio(),this.setupOffsets()),e&&"load"===e.type&&(this.updateAspectRatio(),this.setupOffsets()),this.updatePlanned||(this.updatePlanned=!0,window.setTimeout(function(){this.updatePlanned=!1;var e=this.getInitialZoomFactor()*this.zoomFactor,t=-this.offset.x/e,n=-this.offset.y/e,o="scale3d("+e+", "+e+",1) translate3d("+t+"px,"+n+"px,0px)",i="scale("+e+", "+e+") translate("+t+"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=o,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=o):(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=i,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=i,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(e,t){var n=null,o=0,i=null,a=null,s=function(e,o){if(n!==e){if(n&&!e)switch(n){case"zoom":t.handleZoomEnd(o);break;case"drag":t.handleDragEnd(o)}switch(e){case"zoom":t.handleZoomStart(o);break;case"drag":t.handleDragStart(o)}}n=e},r=function(e){2===o?s("zoom"):1===o&&t.canDrag()?s("drag",e):s(null,e)},l=function(e){return Array.from(e).map(function(e){return{x:e.pageX,y:e.pageY}})},c=function(e,t){var n,o;return n=e.x-t.x,o=e.y-t.y,Math.sqrt(n*n+o*o)},u=function(e){e.stopPropagation(),e.preventDefault()},h=!0;e.addEventListener("touchstart",function(e){t.enabled&&(h=!0,o=e.touches.length,function(e){var a=(new Date).getTime();if(o>1&&(i=null),a-i<300)switch(u(e),t.handleDoubleTap(e),n){case"zoom":t.handleZoomEnd(e);break;case"drag":t.handleDragEnd(e)}else t.isDoubleTap=!1;1===o&&(i=a)}(e))},{passive:!1}),e.addEventListener("touchmove",function(e){if(t.enabled&&!t.isDoubleTap){if(h)r(e),n&&u(e),a=l(e.touches);else{switch(n){case"zoom":2==a.length&&2==e.touches.length&&t.handleZoom(e,function(e,t){var n=c(e[0],e[1]);return c(t[0],t[1])/n}(a,l(e.touches)));break;case"drag":t.handleDrag(e)}n&&(u(e),t.update())}h=!1}},{passive:!1}),e.addEventListener("touchend",function(e){t.enabled&&(o=e.touches.length,r(e))}),t.options.useMouseWheel&&(e.addEventListener("mousewheel",function(e){t.enabled&&(u(e),t.handleMouseWheel(e))}),e.addEventListener("mousedown",function(e){t.enabled&&(h=!0,o=1)},{passive:!0}),e.addEventListener("mousemove",function(e){t.enabled&&(h?(r(e),n&&u(e)):("drag"===n&&t.handleDrag(e),n&&(u(e),t.update())),h=!1)},{passive:!1}),e.addEventListener("mouseup",function(e){t.enabled&&(o=0,r(e))},{passive:!0}))};return e}(),C={scrolling:"BeLzR",root:"nJWgH",layout:"BDoOb",layoutHeader:"iNVA1",slotLayoutHeader:"KxMxT",layoutContent:"C-jWr",layoutFooter:"MQh-L",layoutSection:"_3FXm5",layoutSectionContent:"WPu-a",layoutSectionFooter:"G5FaN",layoutPreviews:"gQFQR",layoutAdditional:"pw0QV",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",previewRating:"GqvTR",previewRatingIcon:"qPTNw",videoPlayLabel:"_2kU58",videoPlayLabelIcon:"WR7T8",enter:"sM8Qu",exit:"veHZr",enterActive:"VP4oy",exitActive:"AMPJ3"},O=b.forwardRef(function(e,t){var n=e.src,o=e.videoSrc,i=e.triggerInteraction,a=b.useRef(null),s=b.useRef(null),r=b.useRef(null),l=!!o,c=function(){var e,t;null===(e=s.current)||void 0===e||e.reset(),null===(t=a.current)||void 0===t||null===(t=t.contentWindow)||void 0===t||t.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return b.useEffect(function(){return requestAnimationFrame(function(){r.current&&!l&&(s.current=new z(r.current,{draggableUnzoomed:!1,animationDuration:200,setOffsetsOnce:!1,onDoubleTap:function(e){1===(null==e?void 0:e.zoomFactor)&&i("maybeZoomImage")}}))}),function(){var e;null===(e=s.current)||void 0===e||e.destroy()}},[o]),b.useEffect(function(){var e=function(){l&&document.activeElement&&"iframe"===document.activeElement.nodeName.toLowerCase()&&a.current&&a.current===document.activeElement&&i("maybePlayVideo")};return window.addEventListener("blur",e),function(){window.removeEventListener("blur",e)}},[o]),b.useImperativeHandle(t,function(){return{reset:c}},[]),l?b.createElement("iframe",{ref:a,className:C.mainPhotoIframe,src:o,width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):b.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"})});O.displayName="MainPhotosImage";var L=b.forwardRef(function(e,t){var n=e.items,o=e.onChange,i=e.triggerInteraction,a=b.useRef(null),r=b.useRef([]),l=b.useRef(0),c=b.useRef(null),u=function(){r.current.forEach(function(e){null==e||e.reset()})},h=function(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(t=c.current)||void 0===t?void 0:t.children[e];u(),o&&P(o,c.current,n)};b.useImperativeHandle(t,function(){return{scrollToIndex:h}},[]);return b.createElement(s.ScrollControls,{ref:c,className:C.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0,onClickPrev:function(){return i("clickPrevButton")},onClickNext:function(){return i("clickNextButton")}},b.createElement("div",{className:C.mainPhoto,onScroll:function(){if(c.current){var e=function(e,t){var n=e.scrollLeft/e.scrollWidth*t;return Math.round(n)}(c.current,n.length);l.current!==e&&(l.current=e,o(e),u())}},onTouchStart:function(e){var t=e.changedTouches[0].screenX;a.current=t},onTouchEnd:function(e){var t=e.changedTouches[0].screenX;a.current&&(a.current>t?i("maybeSwipeLeft"):a.current<t&&i("maybeSwipeRight"),a.current=null)}},n.map(function(e,t){var n,o=e.type,a=e.src,s="video"===o,l=s?_(a):a,c=s?(n=T(a),"https://youtube.com/embed/".concat(n,"?enablejsapi=1&rel=0")):void 0;return b.createElement("div",{key:t,className:C.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},b.createElement(O,{ref:function(e){r.current[t]=e},src:l,videoSrc:c,triggerInteraction:i}))})))});L.displayName="MainPhotos";var S,D=b.forwardRef(function(e,t){var n=e.items,o=e.selectedIndex,i=e.onChange,a=e.triggerInteraction,s=b.useRef(null),u=function(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(t=s.current)||void 0===t?void 0:t.children[e];o&&P(o,s.current,n)};b.useImperativeHandle(t,function(){return{scrollToIndex:u}},[]);return b.createElement("div",{ref:s,className:C.preview,onScroll:function(){a("scrollPreviews")}},n.map(function(e,t){var n=e.type,s=e.src,u=e.rating,h="video"===n,d=h?_(s):s,f=h?"clickPreviewVideo":"clickPreviewImage";return b.createElement("div",{key:t,className:C.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},b.createElement("button",{className:C.previewButton,type:"button",onClick:function(){a(f),function(e){i(e)}(t)},disabled:o===t,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},b.createElement("img",{className:C.previewImage,src:d,width:56,height:56,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),u?b.createElement("div",{className:C.previewRating,"data-qaid":"photo_gallery_preview_rating","data-testid":"photo_gallery_preview_rating"},b.createElement(r.Icon,{className:C.previewRatingIcon,"icon-as":c.SvgStarFill}),u):null,h&&b.createElement("div",{className:C.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},b.createElement(r.Icon,{className:C.videoPlayLabelIcon,"icon-as":l.SvgPlay}))))}))});D.displayName="PreviewPhotos";var F=function(e){var t=e.title,n=e.onClose,o=e.selectedIndex,i=e.itemsLength,a=e.triggerInteraction,s=o+1,l=(0,d.useBodyStoreTTag().t)(S||(S=E.default(["Фото "," из ",""])),s,i);return b.createElement("div",{className:C.header},b.createElement("div",{className:C.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},t||l),b.createElement("div",{className:C.headerClose},b.createElement(h.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:function(){a("clickCloseButton"),n()},"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},b.createElement(r.Icon,{"icon-as":f.SvgClose2,style:{width:24,height:24}}))))},N=function(e){var t,n=e.selectedIndex,o=e.onClose,i=e.className,a=e.slotProps,s=e.itemsLength,r=b.useRef(null),l=a.component;return b.useEffect(function(){var e;null===(e=r.current)||void 0===e||e.scrollTo({top:0})},[n]),b.createElement("div",x.default({},a.props,{ref:r,className:w.default(i,null===(t=a.props)||void 0===t?void 0:t.className)}),b.createElement(l,{selectedIndex:n,itemsLength:s,onClose:o}))},M=function(e){var t=e.isOpen,s=e.title,r=e.visibleIndex,l=void 0===r?0:r,c=e.items,u=e.zIndex,h=void 0===u?5e3:u,d=e.onClose,f=e.onChange,m=e.onInteraction,p=e.slotHeader,g=e.slotAside,v=e.slotFooter,E=e.slotMainPhotoFooter,x=b.useRef(!0),w=b.useRef(null),I=b.useRef(null),P=b.useState(l),T=y.default(P,2),_=T[0],z=T[1],O=b.useRef(null),S=function(e){"function"==typeof m&&m(e)};b.useEffect(function(){t&&"function"==typeof f&&f(_)},[_]),b.useEffect(function(){var e,n;t&&(z(l),null===(e=I.current)||void 0===e||e.scrollToIndex(l,!1),null===(n=w.current)||void 0===n||n.scrollToIndex(l,!1))},[t]),b.useEffect(function(){var e;if(!t)return function(){};var n=null,o=function(){n&&clearTimeout(n)},i=function(){o(),n=setTimeout(function(){var e,t;null===(e=I.current)||void 0===e||e.scrollToIndex(_,!1),null===(t=w.current)||void 0===t||t.scrollToIndex(_,!1)},100)};return window.addEventListener("resize",i),null===(e=window)||void 0===e||null===(e=e.matchMedia("(orientation: portrait)"))||void 0===e||e.addEventListener("change",i),function(){var e;o(),window.removeEventListener("resize",i),null===(e=window)||void 0===e||null===(e=e.matchMedia("(orientation: portrait)"))||void 0===e||e.removeEventListener("change",i)}},[t,_]);var M=function(e){var t,n;x.current=!1,z(e),null===(t=I.current)||void 0===t||t.scrollToIndex(e),null===(n=w.current)||void 0===n||n.scrollToIndex(e)},Z=function(){d(_)};return b.createElement(b.Fragment,null,b.createElement(o.Backdrop,{isOpen:t,onClick:Z,zIndex:h,isBodyScrollLock:!0}),b.createElement(n.CSSTransition,{nodeRef:O,in:t,timeout:240,classNames:C,unmountOnExit:!0,onEntered:function(){return S("opened")},onExited:function(){return S("closed")}},b.createElement(a.Portal,null,b.createElement("div",{ref:O,className:C.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery",style:{zIndex:h}},b.createElement(i.KeyPress,{code:"Escape",onKeyUp:function(){S("keyPressClose"),Z()}}),b.createElement(i.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==_&&(S("keyPressPrev"),M(_-1))}}),b.createElement(i.KeyPress,{code:"ArrowRight",onKeyUp:function(){_!==c.length-1&&(S("keyPressNext"),M(_+1))}}),b.createElement("div",{className:C.layout},null!=p&&p.component?b.createElement(N,{className:C.slotLayoutHeader,selectedIndex:_,itemsLength:c.length,onClose:Z,slotProps:p}):b.createElement("header",{className:C.layoutHeader},b.createElement(F,{title:s,selectedIndex:_,itemsLength:c.length,onClose:Z,triggerInteraction:S})),b.createElement("div",{className:C.layoutContent},b.createElement("section",{className:C.layoutSection},b.createElement("div",{className:C.layoutSectionContent},b.createElement(L,{ref:w,items:c,onChange:function(e){var t;x.current&&(z(e),null===(t=I.current)||void 0===t||t.scrollToIndex(e));x.current||_!==e||(x.current=!0)},triggerInteraction:S})),!(null==E||!E.component)&&b.createElement(N,{className:C.layoutSectionFooter,selectedIndex:_,itemsLength:c.length,onClose:Z,slotProps:E})),c.length>1&&b.createElement("aside",{className:C.layoutPreviews},b.createElement(D,{ref:I,items:c,selectedIndex:_,onChange:M,triggerInteraction:S})),!(null==g||!g.component)&&b.createElement(N,{className:C.layoutAdditional,selectedIndex:_,itemsLength:c.length,onClose:Z,slotProps:g})),!(null==v||!v.component)&&b.createElement(N,{className:C.layoutFooter,selectedIndex:_,itemsLength:c.length,onClose:Z,slotProps:v}))))))};M.displayName="PhotoGallery",exports.PhotoGallery=M,require("./style.production.css");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("react"),n=require("react-transition-group"),o=require("@prom-ui/core/Backdrop"),i=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),s=require("@prom-ui/core/ScrollControls"),r=require("@prom-ui/core/Icon"),l=require("@prom-ui/icons/Play"),c=require("@prom-ui/icons/StarFill"),u=require("@babel/runtime/helpers/taggedTemplateLiteral"),h=require("@prom-ui/core/Button"),d=require("@prom-ui/core/BodyProvider"),f=require("@prom-ui/icons/Close2"),m=require("@babel/runtime/helpers/extends"),p=require("clsx");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function v(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var y=g(e),b=v(t),E=g(u),x=g(m),w=g(p),I=new Map,P=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t){I.has(t)&&(cancelAnimationFrame(I.get(t)),I.delete(t));var o=requestAnimationFrame(function(){var o=t.getBoundingClientRect(),i=e.getBoundingClientRect(),a=i.top+t.scrollTop-o.top-o.height/2+i.height/2,s=i.left+t.scrollLeft-o.left-o.width/2+i.width/2;s<0&&(s=0),a<0&&(a=0),t.scrollTo({behavior:n?"smooth":"instant",top:a,left:s})});I.set(t,o)}},T=function(e){var t=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/.exec(e);return t&&t[1]},_=function(e){var t=T(e);return"https://img.youtube.com/vi/".concat(t,"/0.jpg")},z=function(){var e=function(e,t){this.el=e,this.zoomFactor=1,this.lastScale=1,this.offset={x:0,y:0},this.initialOffset={x:0,y:0},this.options=Object.assign({},this.defaults,t),this.setupMarkup(),this.bindEvents(),this.update(),this.isImageLoaded(this.el)&&(this.updateAspectRatio(),this.setupOffsets()),this.enable()},t=function(e,t){return e+t};e.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(e){"function"==typeof this.options.onDragStart&&this.options.onDragStart(this,e),this.stopAnimation(),this.lastDragPosition=!1,this.hasInteraction=!0,this.handleDrag(e)},handleDrag:function(e){var t="touchmove"===e.type?this.getTouches(e)[0]:this.getPointer(e);this.drag(t,this.lastDragPosition),this.offset=this.sanitizeOffset(this.offset),this.lastDragPosition=t},handleDragEnd:function(){"function"==typeof this.options.onDragEnd&&this.options.onDragEnd(this,event),this.end()},handleZoomStart:function(e){"function"==typeof this.options.onZoomStart&&this.options.onZoomStart(this,e),this.stopAnimation(),this.lastScale=1,this.nthZoom=0,this.lastZoomCenter=!1,this.hasInteraction=!0},handleZoom:function(e,t){var n=this.getTouchCenter(this.getTouches(e)),o=t/this.lastScale;this.lastScale=t,this.nthZoom+=1,this.nthZoom>3&&(this.scale(o,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(e){var t=this.getTouches(e)[0],n=this.zoomFactor>1?1:this.options.tapZoomFactor,o=this.zoomFactor,i=function(e){this.scaleTo(o+e*(n-o),t)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,o>n&&(t=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,i,this.swing),"function"==typeof this.options.onDoubleTap&&this.options.onDoubleTap(this,e))},handleMouseWheel:function(e){var t=this.getPointer(e),n=Math.min(Math.max(this.options.minZoom,this.lastScale+-.01*e.deltaY),this.options.maxZoom),o=n/this.lastScale;this.scale(o,t),this.lastScale=n,this.update(),"function"==typeof this.options.onMouseWheel&&this.options.onMouseWheel(this,e)},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(e){return"IMG"===e.nodeName?e.complete&&0!==e.naturalHeight:Array.from(e.querySelectorAll("img")).every(this.isImageLoaded)},setupOffsets:function(){this.options.setOffsetsOnce&&this._isOffsetsSet||(this._isOffsetsSet=!0,this.computeInitialOffset(),this.resetOffset())},sanitizeOffset:function(e){var t=this.el.offsetWidth*this.getInitialZoomFactor()*this.zoomFactor,n=this.el.offsetHeight*this.getInitialZoomFactor()*this.zoomFactor,o=t-this.getContainerX()+this.options.horizontalPadding,i=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(o,0),s=Math.max(i,0),r=Math.min(o,0)-this.options.horizontalPadding,l=Math.min(i,0)-this.options.verticalPadding;return{x:Math.min(Math.max(e.x,r),a),y:Math.min(Math.max(e.y,l),s)}},scaleTo:function(e,t){this.scale(e/this.zoomFactor,t)},scale:function(e,t){e=this.scaleZoomFactor(e),this.addOffset({x:(e-1)*(t.x+this.offset.x),y:(e-1)*(t.y+this.offset.y)}),"function"==typeof this.options.onZoomUpdate&&this.options.onZoomUpdate(this,event)},scaleZoomFactor:function(e){var t=this.zoomFactor;return this.zoomFactor*=e,this.zoomFactor=Math.min(this.options.maxZoom,Math.max(this.zoomFactor,this.options.minZoom)),this.zoomFactor/t},canDrag:function(){return this.options.draggableUnzoomed||!((e=this.zoomFactor)>(t=1)-.01&&e<t+.01);var e,t},drag:function(e,t){t&&(this.options.lockDragAxis?Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?this.addOffset({x:-(e.x-t.x),y:0}):this.addOffset({y:-(e.y-t.y),x:0}):this.addOffset({y:-(e.y-t.y),x:-(e.x-t.x)}),"function"==typeof this.options.onDragUpdate&&this.options.onDragUpdate(this,event))},getTouchCenter:function(e){return this.getVectorAvg(e)},getVectorAvg:function(e){return{x:e.map(function(e){return e.x}).reduce(t)/e.length,y:e.map(function(e){return e.y}).reduce(t)/e.length}},addOffset:function(e){this.offset={x:this.offset.x+e.x,y:this.offset.y+e.y}},sanitize:function(){this.zoomFactor<this.options.zoomOutFactor?this.zoomOutAnimation():this.isInsaneOffset(this.offset)&&this.sanitizeOffsetAnimation()},isInsaneOffset:function(e){var t=this.sanitizeOffset(e);return t.x!==e.x||t.y!==e.y},sanitizeOffsetAnimation:function(){var e=this.sanitizeOffset(this.offset),t=this.offset.x,n=this.offset.y,o=function(o){this.offset.x=t+o*(e.x-t),this.offset.y=n+o*(e.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,o,this.swing)},zoomOutAnimation:function(){if(1!==this.zoomFactor){var e=this.zoomFactor,t=this.getCurrentZoomCenter(),n=function(n){this.scaleTo(e+n*(1-e),t)}.bind(this);this.animate(this.options.animationDuration,n,this.swing)}},updateAspectRatio:function(){this.unsetContainerY(),this.setContainerY(this.container.parentElement.offsetHeight)},getInitialZoomFactor:function(){var e=this.container.offsetWidth/this.el.offsetWidth,t=this.container.offsetHeight/this.el.offsetHeight;return Math.min(e,t)},getAspectRatio:function(){return this.el.offsetWidth/this.el.offsetHeight},getCurrentZoomCenter:function(){var e=this.offset.x-this.initialOffset.x,t=-1*this.offset.x-e/(1/this.zoomFactor-1),n=this.offset.y-this.initialOffset.y;return{x:t,y:-1*this.offset.y-n/(1/this.zoomFactor-1)}},getTouches:function(e){var t=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=t.top+n,a=t.left+o;return Array.prototype.slice.call(e.touches).map(function(e){return{x:e.pageX-a,y:e.pageY-i}})},getPointer:function(e){var t=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=t.top+n,a=t.left+o;return{x:e.pageX-a,y:e.pageY-i}},animate:function(e,t,n,o){var i=(new Date).getTime(),a=function(){if(this.inAnimation){var s=(new Date).getTime()-i,r=s/e;s>=e?(t(1),o&&o(),this.update(),this.stopAnimation(),this.update()):(n&&(r=n(r)),t(r),this.update(),requestAnimationFrame(a))}}.bind(this);this.inAnimation=!0,requestAnimationFrame(a)},stopAnimation:function(){this.inAnimation=!1},swing:function(e){return-Math.cos(e*Math.PI)/2+.5},getContainerX:function(){return this.container.offsetWidth},getContainerY:function(){return this.container.offsetHeight},setContainerY:function(e){return this.container.style.height=e+"px"},unsetContainerY:function(){this.container.style.height=null},setupMarkup:function(){var e,t;this.container=(e='<div class="pinch-zoom-container" style="height: 100%;"></div>',(t=document.implementation.createHTMLDocument("")).body.innerHTML=e,Array.from(t.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 e=this;n(this.container,this),this.resizeHandler=this.update.bind(this),window.addEventListener("resize",this.resizeHandler),Array.from(this.el.querySelectorAll("img")).forEach(function(t){t.addEventListener("load",e.update.bind(e))}),"IMG"===this.el.nodeName&&this.el.addEventListener("load",this.update.bind(this))},update:function(e){e&&"resize"===e.type&&(this.updateAspectRatio(),this.setupOffsets()),e&&"load"===e.type&&(this.updateAspectRatio(),this.setupOffsets()),this.updatePlanned||(this.updatePlanned=!0,window.setTimeout(function(){this.updatePlanned=!1;var e=this.getInitialZoomFactor()*this.zoomFactor,t=-this.offset.x/e,n=-this.offset.y/e,o="scale3d("+e+", "+e+",1) translate3d("+t+"px,"+n+"px,0px)",i="scale("+e+", "+e+") translate("+t+"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=o,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=o):(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=i,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=i,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(e,t){var n=null,o=0,i=null,a=null,s=function(e,o){if(n!==e){if(n&&!e)switch(n){case"zoom":t.handleZoomEnd(o);break;case"drag":t.handleDragEnd(o)}switch(e){case"zoom":t.handleZoomStart(o);break;case"drag":t.handleDragStart(o)}}n=e},r=function(e){2===o?s("zoom"):1===o&&t.canDrag()?s("drag",e):s(null,e)},l=function(e){return Array.from(e).map(function(e){return{x:e.pageX,y:e.pageY}})},c=function(e,t){var n,o;return n=e.x-t.x,o=e.y-t.y,Math.sqrt(n*n+o*o)},u=function(e){e.stopPropagation(),e.preventDefault()},h=!0;e.addEventListener("touchstart",function(e){t.enabled&&(h=!0,o=e.touches.length,function(e){var a=(new Date).getTime();if(o>1&&(i=null),a-i<300)switch(u(e),t.handleDoubleTap(e),n){case"zoom":t.handleZoomEnd(e);break;case"drag":t.handleDragEnd(e)}else t.isDoubleTap=!1;1===o&&(i=a)}(e))},{passive:!1}),e.addEventListener("touchmove",function(e){if(t.enabled&&!t.isDoubleTap){if(h)r(e),n&&u(e),a=l(e.touches);else{switch(n){case"zoom":2==a.length&&2==e.touches.length&&t.handleZoom(e,function(e,t){var n=c(e[0],e[1]);return c(t[0],t[1])/n}(a,l(e.touches)));break;case"drag":t.handleDrag(e)}n&&(u(e),t.update())}h=!1}},{passive:!1}),e.addEventListener("touchend",function(e){t.enabled&&(o=e.touches.length,r(e))}),t.options.useMouseWheel&&(e.addEventListener("mousewheel",function(e){t.enabled&&(u(e),t.handleMouseWheel(e))}),e.addEventListener("mousedown",function(e){t.enabled&&(h=!0,o=1)},{passive:!0}),e.addEventListener("mousemove",function(e){t.enabled&&(h?(r(e),n&&u(e)):("drag"===n&&t.handleDrag(e),n&&(u(e),t.update())),h=!1)},{passive:!1}),e.addEventListener("mouseup",function(e){t.enabled&&(o=0,r(e))},{passive:!0}))};return e}(),C={scrolling:"BeLzR",root:"nJWgH",layout:"BDoOb",layoutHeader:"iNVA1",slotLayoutHeader:"KxMxT",layoutContent:"C-jWr",layoutFooter:"MQh-L",layoutSection:"_3FXm5",layoutSectionContent:"WPu-a",layoutSectionFooter:"G5FaN",layoutPreviews:"gQFQR",layoutAdditional:"pw0QV",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",previewRating:"GqvTR",previewRatingIcon:"qPTNw",videoPlayLabel:"_2kU58",videoPlayLabelIcon:"WR7T8",enter:"sM8Qu",exit:"veHZr",enterActive:"VP4oy",exitActive:"AMPJ3"},O=b.forwardRef(function(e,t){var n=e.src,o=e.videoSrc,i=e.triggerInteraction,a=b.useRef(null),s=b.useRef(null),r=b.useRef(null),l=!!o,c=function(){var e,t;null===(e=s.current)||void 0===e||e.reset(),null===(t=a.current)||void 0===t||null===(t=t.contentWindow)||void 0===t||t.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return b.useEffect(function(){return requestAnimationFrame(function(){r.current&&!l&&(s.current=new z(r.current,{draggableUnzoomed:!1,animationDuration:200,setOffsetsOnce:!1,onDoubleTap:function(e){1===(null==e?void 0:e.zoomFactor)&&i("maybeZoomImage")}}))}),function(){var e;null===(e=s.current)||void 0===e||e.destroy()}},[o]),b.useEffect(function(){var e=function(){l&&document.activeElement&&"iframe"===document.activeElement.nodeName.toLowerCase()&&a.current&&a.current===document.activeElement&&i("maybePlayVideo")};return window.addEventListener("blur",e),function(){window.removeEventListener("blur",e)}},[o]),b.useImperativeHandle(t,function(){return{reset:c}},[]),l?b.createElement("iframe",{ref:a,className:C.mainPhotoIframe,src:o,width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):b.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"})});O.displayName="MainPhotosImage";var L=b.forwardRef(function(e,t){var n=e.items,o=e.onChange,i=e.triggerInteraction,a=b.useRef(null),r=b.useRef([]),l=b.useRef(0),c=b.useRef(null),u=function(){r.current.forEach(function(e){null==e||e.reset()})},h=function(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(t=c.current)||void 0===t?void 0:t.children[e];u(),o&&P(o,c.current,n)};b.useImperativeHandle(t,function(){return{scrollToIndex:h}},[]);return b.createElement(s.ScrollControls,{ref:c,className:C.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0,disableAutoScroll:!0,onClickPrev:function(){i("clickPrevButton");var e=l.current-1;e<0||(o(e),h(e))},onClickNext:function(){i("clickNextButton");var e=l.current+1;e>n.length-1||(o(e),h(e))}},b.createElement("div",{className:C.mainPhoto,onScroll:function(){if(c.current){var e=function(e,t){var n=e.scrollLeft/e.scrollWidth*t;return Math.round(n)}(c.current,n.length);l.current!==e&&(l.current=e,o(e),u())}},onTouchStart:function(e){var t=e.changedTouches[0].screenX;a.current=t},onTouchEnd:function(e){var t=e.changedTouches[0].screenX;a.current&&(a.current>t?i("maybeSwipeLeft"):a.current<t&&i("maybeSwipeRight"),a.current=null)}},n.map(function(e,t){var n,o=e.type,a=e.src,s="video"===o,l=s?_(a):a,c=s?(n=T(a),"https://youtube.com/embed/".concat(n,"?enablejsapi=1&rel=0")):void 0;return b.createElement("div",{key:t,className:C.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},b.createElement(O,{ref:function(e){r.current[t]=e},src:l,videoSrc:c,triggerInteraction:i}))})))});L.displayName="MainPhotos";var S,D=b.forwardRef(function(e,t){var n=e.items,o=e.selectedIndex,i=e.onChange,a=e.triggerInteraction,s=b.useRef(null),u=function(e){var t,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(t=s.current)||void 0===t?void 0:t.children[e];o&&P(o,s.current,n)};b.useImperativeHandle(t,function(){return{scrollToIndex:u}},[]);return b.createElement("div",{ref:s,className:C.preview,onScroll:function(){a("scrollPreviews")}},n.map(function(e,t){var n=e.type,s=e.src,u=e.rating,h="video"===n,d=h?_(s):s,f=h?"clickPreviewVideo":"clickPreviewImage";return b.createElement("div",{key:t,className:C.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},b.createElement("button",{className:C.previewButton,type:"button",onClick:function(){a(f),function(e){i(e)}(t)},disabled:o===t,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},b.createElement("img",{className:C.previewImage,src:d,width:56,height:56,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),u?b.createElement("div",{className:C.previewRating,"data-qaid":"photo_gallery_preview_rating","data-testid":"photo_gallery_preview_rating"},b.createElement(r.Icon,{className:C.previewRatingIcon,"icon-as":c.SvgStarFill}),u):null,h&&b.createElement("div",{className:C.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},b.createElement(r.Icon,{className:C.videoPlayLabelIcon,"icon-as":l.SvgPlay}))))}))});D.displayName="PreviewPhotos";var F=function(e){var t=e.title,n=e.onClose,o=e.selectedIndex,i=e.itemsLength,a=e.triggerInteraction,s=o+1,l=(0,d.useBodyStoreTTag().t)(S||(S=E.default(["Фото "," из ",""])),s,i);return b.createElement("div",{className:C.header},b.createElement("div",{className:C.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},t||l),b.createElement("div",{className:C.headerClose},b.createElement(h.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:function(){a("clickCloseButton"),n()},"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},b.createElement(r.Icon,{"icon-as":f.SvgClose2,style:{width:24,height:24}}))))},N=function(e){var t,n=e.selectedIndex,o=e.onClose,i=e.className,a=e.slotProps,s=e.itemsLength,r=b.useRef(null),l=a.component;return b.useEffect(function(){var e;null===(e=r.current)||void 0===e||e.scrollTo({top:0})},[n]),b.createElement("div",x.default({},a.props,{ref:r,className:w.default(i,null===(t=a.props)||void 0===t?void 0:t.className)}),b.createElement(l,{selectedIndex:n,itemsLength:s,onClose:o}))},M=function(e){var t=e.isOpen,s=e.title,r=e.visibleIndex,l=void 0===r?0:r,c=e.items,u=e.zIndex,h=void 0===u?5e3:u,d=e.onClose,f=e.onChange,m=e.onInteraction,p=e.slotHeader,g=e.slotAside,v=e.slotFooter,E=e.slotMainPhotoFooter,x=b.useRef(!0),w=b.useRef(null),I=b.useRef(null),P=b.useState(l),T=y.default(P,2),_=T[0],z=T[1],O=b.useRef(null),S=function(e){"function"==typeof m&&m(e)};b.useEffect(function(){t&&"function"==typeof f&&f(_)},[_]),b.useEffect(function(){var e,n;t&&(z(l),null===(e=I.current)||void 0===e||e.scrollToIndex(l,!1),null===(n=w.current)||void 0===n||n.scrollToIndex(l,!1))},[t]),b.useEffect(function(){var e;if(!t)return function(){};var n=null,o=function(){n&&clearTimeout(n)},i=function(){o(),n=setTimeout(function(){var e,t;null===(e=I.current)||void 0===e||e.scrollToIndex(_,!1),null===(t=w.current)||void 0===t||t.scrollToIndex(_,!1)},100)};return window.addEventListener("resize",i),null===(e=window)||void 0===e||null===(e=e.matchMedia("(orientation: portrait)"))||void 0===e||e.addEventListener("change",i),function(){var e;o(),window.removeEventListener("resize",i),null===(e=window)||void 0===e||null===(e=e.matchMedia("(orientation: portrait)"))||void 0===e||e.removeEventListener("change",i)}},[t,_]);var M=function(e){var t,n;x.current=!1,z(e),null===(t=I.current)||void 0===t||t.scrollToIndex(e),null===(n=w.current)||void 0===n||n.scrollToIndex(e)},A=function(){d(_)};return b.createElement(b.Fragment,null,b.createElement(o.Backdrop,{isOpen:t,onClick:A,zIndex:h,isBodyScrollLock:!0}),b.createElement(n.CSSTransition,{nodeRef:O,in:t,timeout:240,classNames:C,unmountOnExit:!0,onEntered:function(){return S("opened")},onExited:function(){return S("closed")}},b.createElement(a.Portal,null,b.createElement("div",{ref:O,className:C.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery",style:{zIndex:h}},b.createElement(i.KeyPress,{code:"Escape",onKeyUp:function(){S("keyPressClose"),A()}}),b.createElement(i.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==_&&(S("keyPressPrev"),M(_-1))}}),b.createElement(i.KeyPress,{code:"ArrowRight",onKeyUp:function(){_!==c.length-1&&(S("keyPressNext"),M(_+1))}}),b.createElement("div",{className:C.layout},null!=p&&p.component?b.createElement(N,{className:C.slotLayoutHeader,selectedIndex:_,itemsLength:c.length,onClose:A,slotProps:p}):b.createElement("header",{className:C.layoutHeader},b.createElement(F,{title:s,selectedIndex:_,itemsLength:c.length,onClose:A,triggerInteraction:S})),b.createElement("div",{className:C.layoutContent},b.createElement("section",{className:C.layoutSection},b.createElement("div",{className:C.layoutSectionContent},b.createElement(L,{ref:w,items:c,onChange:function(e){var t;x.current&&(z(e),null===(t=I.current)||void 0===t||t.scrollToIndex(e));x.current||_!==e||(x.current=!0)},triggerInteraction:S})),!(null==E||!E.component)&&b.createElement(N,{className:C.layoutSectionFooter,selectedIndex:_,itemsLength:c.length,onClose:A,slotProps:E})),c.length>1&&b.createElement("aside",{className:C.layoutPreviews},b.createElement(D,{ref:I,items:c,selectedIndex:_,onChange:M,triggerInteraction:S})),!(null==g||!g.component)&&b.createElement(N,{className:C.layoutAdditional,selectedIndex:_,itemsLength:c.length,onClose:A,slotProps:g})),!(null==v||!v.component)&&b.createElement(N,{className:C.layoutFooter,selectedIndex:_,itemsLength:c.length,onClose:A,slotProps:v}))))))};M.displayName="PhotoGallery",exports.PhotoGallery=M,require("./style.production.css");
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/slicedToArray"),e=require("react"),n=require("react-transition-group"),o=require("@prom-ui/core/Backdrop"),i=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),s=require("@prom-ui/core/ScrollControls"),r=require("@prom-ui/core/Icon"),l=require("@prom-ui/icons/Play"),c=require("@prom-ui/icons/StarFill"),u=require("@babel/runtime/helpers/taggedTemplateLiteral"),h=require("@prom-ui/core/Button"),d=require("@prom-ui/core/BodyProvider"),f=require("@prom-ui/icons/Close2"),m=require("@babel/runtime/helpers/extends"),p=require("clsx");function g(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function v(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 o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:function(){return t[n]}})}}),e.default=t,Object.freeze(e)}var y=g(t),b=v(e),E=g(u),x=g(m),w=g(p),I=new Map,T=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e){I.has(e)&&(cancelAnimationFrame(I.get(e)),I.delete(e));var o=requestAnimationFrame(function(){var o=e.getBoundingClientRect(),i=t.getBoundingClientRect(),a=i.top+e.scrollTop-o.top-o.height/2+i.height/2,s=i.left+e.scrollLeft-o.left-o.width/2+i.width/2;s<0&&(s=0),a<0&&(a=0),e.scrollTo({behavior:n?"smooth":"instant",top:a,left:s})});I.set(e,o)}},P=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=P(t);return"https://img.youtube.com/vi/".concat(e,"/0.jpg")},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)),o=e/this.lastScale;this.lastScale=e,this.nthZoom+=1,this.nthZoom>3&&(this.scale(o,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,o=this.zoomFactor,i=function(t){this.scaleTo(o+t*(n-o),e)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,o>n&&(e=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,i,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),o=n/this.lastScale;this.scale(o,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,o=e-this.getContainerX()+this.options.horizontalPadding,i=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(o,0),s=Math.max(i,0),r=Math.min(o,0)-this.options.horizontalPadding,l=Math.min(i,0)-this.options.verticalPadding;return{x:Math.min(Math.max(t.x,r),a),y:Math.min(Math.max(t.y,l),s)}},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,o=function(o){this.offset.x=e+o*(t.x-e),this.offset.y=n+o*(t.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,o,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,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=e.top+n,a=e.left+o;return Array.prototype.slice.call(t.touches).map(function(t){return{x:t.pageX-a,y:t.pageY-i}})},getPointer:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=e.top+n,a=e.left+o;return{x:t.pageX-a,y:t.pageY-i}},animate:function(t,e,n,o){var i=(new Date).getTime(),a=function(){if(this.inAnimation){var s=(new Date).getTime()-i,r=s/t;s>=t?(e(1),o&&o(),this.update(),this.stopAnimation(),this.update()):(n&&(r=n(r)),e(r),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" style="height: 100%;"></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,o="scale3d("+t+", "+t+",1) translate3d("+e+"px,"+n+"px,0px)",i="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=o,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=o):(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=i,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=i,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,o=0,i=null,a=null,s=function(t,o){if(n!==t){if(n&&!t)switch(n){case"zoom":e.handleZoomEnd(o);break;case"drag":e.handleDragEnd(o)}switch(t){case"zoom":e.handleZoomStart(o);break;case"drag":e.handleDragStart(o)}}n=t},r=function(t){2===o?s("zoom"):1===o&&e.canDrag()?s("drag",t):s(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,o;return n=t.x-e.x,o=t.y-e.y,Math.sqrt(n*n+o*o)},u=function(t){t.stopPropagation(),t.preventDefault()},h=!0;t.addEventListener("touchstart",function(t){e.enabled&&(h=!0,o=t.touches.length,function(t){var a=(new Date).getTime();if(o>1&&(i=null),a-i<300)switch(u(t),e.handleDoubleTap(t),n){case"zoom":e.handleZoomEnd(t);break;case"drag":e.handleDragEnd(t)}else e.isDoubleTap=!1;1===o&&(i=a)}(t))},{passive:!1}),t.addEventListener("touchmove",function(t){if(e.enabled&&!e.isDoubleTap){if(h)r(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&&(o=t.touches.length,r(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,o=1)},{passive:!0}),t.addEventListener("mousemove",function(t){e.enabled&&(h?(r(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&&(o=0,r(t))},{passive:!0}))};return t}(),C={scrolling:"q1DKc",root:"KiBKq",layout:"JBDok",layoutHeader:"tVG4b",slotLayoutHeader:"_8R2r5",layoutContent:"O43ff",layoutFooter:"Gz4gH",layoutSection:"CvZb6",layoutSectionContent:"_2TSDW",layoutSectionFooter:"LTbHF",layoutPreviews:"-hzyv",layoutAdditional:"mR5-f",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-",previewRating:"_6dvN5",previewRatingIcon:"qXV70",videoPlayLabel:"jQiDN",videoPlayLabelIcon:"wSdjd",enter:"Lnosr",exit:"NW-xY",enterActive:"LrirU",exitActive:"L6st-"},O=b.forwardRef(function(t,e){var n=t.src,o=t.videoSrc,i=t.triggerInteraction,a=b.useRef(null),s=b.useRef(null),r=b.useRef(null),l=!!o,c=function(){var t,e;null===(t=s.current)||void 0===t||t.reset(),null===(e=a.current)||void 0===e||null===(e=e.contentWindow)||void 0===e||e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return b.useEffect(function(){return requestAnimationFrame(function(){r.current&&!l&&(s.current=new z(r.current,{draggableUnzoomed:!1,animationDuration:200,setOffsetsOnce:!1,onDoubleTap:function(t){1===(null==t?void 0:t.zoomFactor)&&i("maybeZoomImage")}}))}),function(){var t;null===(t=s.current)||void 0===t||t.destroy()}},[o]),b.useEffect(function(){var t=function(){l&&document.activeElement&&"iframe"===document.activeElement.nodeName.toLowerCase()&&a.current&&a.current===document.activeElement&&i("maybePlayVideo")};return window.addEventListener("blur",t),function(){window.removeEventListener("blur",t)}},[o]),b.useImperativeHandle(e,function(){return{reset:c}},[]),l?b.createElement("iframe",{ref:a,className:C.mainPhotoIframe,src:o,width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):b.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"})});O.displayName="MainPhotosImage";var D=b.forwardRef(function(t,e){var n=t.items,o=t.onChange,i=t.triggerInteraction,a=b.useRef(null),r=b.useRef([]),l=b.useRef(0),c=b.useRef(null),u=function(){r.current.forEach(function(t){null==t||t.reset()})},h=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(e=c.current)||void 0===e?void 0:e.children[t];u(),o&&T(o,c.current,n)};b.useImperativeHandle(e,function(){return{scrollToIndex:h}},[]);return b.createElement(s.ScrollControls,{ref:c,className:C.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0,onClickPrev:function(){return i("clickPrevButton")},onClickNext:function(){return i("clickNextButton")}},b.createElement("div",{className:C.mainPhoto,onScroll:function(){if(c.current){var t=function(t,e){var n=t.scrollLeft/t.scrollWidth*e;return Math.round(n)}(c.current,n.length);l.current!==t&&(l.current=t,o(t),u())}},onTouchStart:function(t){var e=t.changedTouches[0].screenX;a.current=e},onTouchEnd:function(t){var e=t.changedTouches[0].screenX;a.current&&(a.current>e?i("maybeSwipeLeft"):a.current<e&&i("maybeSwipeRight"),a.current=null)}},n.map(function(t,e){var n,o=t.type,a=t.src,s="video"===o,l=s?_(a):a,c=s?(n=P(a),"https://youtube.com/embed/".concat(n,"?enablejsapi=1&rel=0")):void 0;return b.createElement("div",{key:e,className:C.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},b.createElement(O,{ref:function(t){r.current[e]=t},src:l,videoSrc:c,triggerInteraction:i}))})))});D.displayName="MainPhotos";var L,S=b.forwardRef(function(t,e){var n=t.items,o=t.selectedIndex,i=t.onChange,a=t.triggerInteraction,s=b.useRef(null),u=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(e=s.current)||void 0===e?void 0:e.children[t];o&&T(o,s.current,n)};b.useImperativeHandle(e,function(){return{scrollToIndex:u}},[]);return b.createElement("div",{ref:s,className:C.preview,onScroll:function(){a("scrollPreviews")}},n.map(function(t,e){var n=t.type,s=t.src,u=t.rating,h="video"===n,d=h?_(s):s,f=h?"clickPreviewVideo":"clickPreviewImage";return b.createElement("div",{key:e,className:C.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},b.createElement("button",{className:C.previewButton,type:"button",onClick:function(){a(f),function(t){i(t)}(e)},disabled:o===e,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},b.createElement("img",{className:C.previewImage,src:d,width:56,height:56,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),u?b.createElement("div",{className:C.previewRating,"data-qaid":"photo_gallery_preview_rating","data-testid":"photo_gallery_preview_rating"},b.createElement(r.Icon,{className:C.previewRatingIcon,"icon-as":c.SvgStarFill}),u):null,h&&b.createElement("div",{className:C.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},b.createElement(r.Icon,{className:C.videoPlayLabelIcon,"icon-as":l.SvgPlay}))))}))});S.displayName="PreviewPhotos";var F=function(t){var e=t.title,n=t.onClose,o=t.selectedIndex,i=t.itemsLength,a=t.triggerInteraction,s=o+1,l=(0,d.useBodyStoreTTag().t)(L||(L=E.default(["Фото "," из ",""])),s,i);return b.createElement("div",{className:C.header},b.createElement("div",{className:C.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},e||l),b.createElement("div",{className:C.headerClose},b.createElement(h.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:function(){a("clickCloseButton"),n()},"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},b.createElement(r.Icon,{"icon-as":f.SvgClose2,style:{width:24,height:24}}))))},N=function(t){var e,n=t.selectedIndex,o=t.onClose,i=t.className,a=t.slotProps,s=t.itemsLength,r=b.useRef(null),l=a.component;return b.useEffect(function(){var t;null===(t=r.current)||void 0===t||t.scrollTo({top:0})},[n]),b.createElement("div",x.default({},a.props,{ref:r,className:w.default(i,null===(e=a.props)||void 0===e?void 0:e.className)}),b.createElement(l,{selectedIndex:n,itemsLength:s,onClose:o}))},A=function(t){var e=t.isOpen,s=t.title,r=t.visibleIndex,l=void 0===r?0:r,c=t.items,u=t.zIndex,h=void 0===u?5e3:u,d=t.onClose,f=t.onChange,m=t.onInteraction,p=t.slotHeader,g=t.slotAside,v=t.slotFooter,E=t.slotMainPhotoFooter,x=b.useRef(!0),w=b.useRef(null),I=b.useRef(null),T=b.useState(l),P=y.default(T,2),_=P[0],z=P[1],O=b.useRef(null),L=function(t){"function"==typeof m&&m(t)};b.useEffect(function(){e&&"function"==typeof f&&f(_)},[_]),b.useEffect(function(){var t,n;e&&(z(l),null===(t=I.current)||void 0===t||t.scrollToIndex(l,!1),null===(n=w.current)||void 0===n||n.scrollToIndex(l,!1))},[e]),b.useEffect(function(){var t;if(!e)return function(){};var n=null,o=function(){n&&clearTimeout(n)},i=function(){o(),n=setTimeout(function(){var t,e;null===(t=I.current)||void 0===t||t.scrollToIndex(_,!1),null===(e=w.current)||void 0===e||e.scrollToIndex(_,!1)},100)};return window.addEventListener("resize",i),null===(t=window)||void 0===t||null===(t=t.matchMedia("(orientation: portrait)"))||void 0===t||t.addEventListener("change",i),function(){var t;o(),window.removeEventListener("resize",i),null===(t=window)||void 0===t||null===(t=t.matchMedia("(orientation: portrait)"))||void 0===t||t.removeEventListener("change",i)}},[e,_]);var A=function(t){var e,n;x.current=!1,z(t),null===(e=I.current)||void 0===e||e.scrollToIndex(t),null===(n=w.current)||void 0===n||n.scrollToIndex(t)},M=function(){d(_)};return b.createElement(b.Fragment,null,b.createElement(o.Backdrop,{isOpen:e,onClick:M,zIndex:h,isBodyScrollLock:!0}),b.createElement(n.CSSTransition,{nodeRef:O,in:e,timeout:240,classNames:C,unmountOnExit:!0,onEntered:function(){return L("opened")},onExited:function(){return L("closed")}},b.createElement(a.Portal,null,b.createElement("div",{ref:O,className:C.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery",style:{zIndex:h}},b.createElement(i.KeyPress,{code:"Escape",onKeyUp:function(){L("keyPressClose"),M()}}),b.createElement(i.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==_&&(L("keyPressPrev"),A(_-1))}}),b.createElement(i.KeyPress,{code:"ArrowRight",onKeyUp:function(){_!==c.length-1&&(L("keyPressNext"),A(_+1))}}),b.createElement("div",{className:C.layout},null!=p&&p.component?b.createElement(N,{className:C.slotLayoutHeader,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:p}):b.createElement("header",{className:C.layoutHeader},b.createElement(F,{title:s,selectedIndex:_,itemsLength:c.length,onClose:M,triggerInteraction:L})),b.createElement("div",{className:C.layoutContent},b.createElement("section",{className:C.layoutSection},b.createElement("div",{className:C.layoutSectionContent},b.createElement(D,{ref:w,items:c,onChange:function(t){var e;x.current&&(z(t),null===(e=I.current)||void 0===e||e.scrollToIndex(t));x.current||_!==t||(x.current=!0)},triggerInteraction:L})),!(null==E||!E.component)&&b.createElement(N,{className:C.layoutSectionFooter,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:E})),c.length>1&&b.createElement("aside",{className:C.layoutPreviews},b.createElement(S,{ref:I,items:c,selectedIndex:_,onChange:A,triggerInteraction:L})),!(null==g||!g.component)&&b.createElement(N,{className:C.layoutAdditional,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:g})),!(null==v||!v.component)&&b.createElement(N,{className:C.layoutFooter,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:v}))))))};A.displayName="PhotoGallery",exports.PhotoGallery=A,require("./style.production.v2.css");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/slicedToArray"),e=require("react"),n=require("react-transition-group"),o=require("@prom-ui/core/Backdrop"),i=require("@prom-ui/core/KeyPress"),a=require("@prom-ui/core/Portal"),s=require("@prom-ui/core/ScrollControls"),r=require("@prom-ui/core/Icon"),l=require("@prom-ui/icons/Play"),c=require("@prom-ui/icons/StarFill"),u=require("@babel/runtime/helpers/taggedTemplateLiteral"),h=require("@prom-ui/core/Button"),d=require("@prom-ui/core/BodyProvider"),f=require("@prom-ui/icons/Close2"),m=require("@babel/runtime/helpers/extends"),p=require("clsx");function g(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function v(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 o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:function(){return t[n]}})}}),e.default=t,Object.freeze(e)}var y=g(t),b=v(e),E=g(u),x=g(m),w=g(p),I=new Map,T=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e){I.has(e)&&(cancelAnimationFrame(I.get(e)),I.delete(e));var o=requestAnimationFrame(function(){var o=e.getBoundingClientRect(),i=t.getBoundingClientRect(),a=i.top+e.scrollTop-o.top-o.height/2+i.height/2,s=i.left+e.scrollLeft-o.left-o.width/2+i.width/2;s<0&&(s=0),a<0&&(a=0),e.scrollTo({behavior:n?"smooth":"instant",top:a,left:s})});I.set(e,o)}},P=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=P(t);return"https://img.youtube.com/vi/".concat(e,"/0.jpg")},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)),o=e/this.lastScale;this.lastScale=e,this.nthZoom+=1,this.nthZoom>3&&(this.scale(o,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,o=this.zoomFactor,i=function(t){this.scaleTo(o+t*(n-o),e)}.bind(this);this.hasInteraction||(this.isDoubleTap=!0,o>n&&(e=this.getCurrentZoomCenter()),this.animate(this.options.animationDuration,i,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),o=n/this.lastScale;this.scale(o,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,o=e-this.getContainerX()+this.options.horizontalPadding,i=n-this.getContainerY()+this.options.verticalPadding,a=Math.max(o,0),s=Math.max(i,0),r=Math.min(o,0)-this.options.horizontalPadding,l=Math.min(i,0)-this.options.verticalPadding;return{x:Math.min(Math.max(t.x,r),a),y:Math.min(Math.max(t.y,l),s)}},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,o=function(o){this.offset.x=e+o*(t.x-e),this.offset.y=n+o*(t.y-n),this.update()}.bind(this);this.animate(this.options.animationDuration,o,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,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=e.top+n,a=e.left+o;return Array.prototype.slice.call(t.touches).map(function(t){return{x:t.pageX-a,y:t.pageY-i}})},getPointer:function(t){var e=this.container.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,i=e.top+n,a=e.left+o;return{x:t.pageX-a,y:t.pageY-i}},animate:function(t,e,n,o){var i=(new Date).getTime(),a=function(){if(this.inAnimation){var s=(new Date).getTime()-i,r=s/t;s>=t?(e(1),o&&o(),this.update(),this.stopAnimation(),this.update()):(n&&(r=n(r)),e(r),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" style="height: 100%;"></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,o="scale3d("+t+", "+t+",1) translate3d("+e+"px,"+n+"px,0px)",i="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=o,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=o):(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=i,this.el.style.mozTransform=i,this.el.style.msTransform=i,this.el.style.oTransform=i,this.el.style.transform=i,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,o=0,i=null,a=null,s=function(t,o){if(n!==t){if(n&&!t)switch(n){case"zoom":e.handleZoomEnd(o);break;case"drag":e.handleDragEnd(o)}switch(t){case"zoom":e.handleZoomStart(o);break;case"drag":e.handleDragStart(o)}}n=t},r=function(t){2===o?s("zoom"):1===o&&e.canDrag()?s("drag",t):s(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,o;return n=t.x-e.x,o=t.y-e.y,Math.sqrt(n*n+o*o)},u=function(t){t.stopPropagation(),t.preventDefault()},h=!0;t.addEventListener("touchstart",function(t){e.enabled&&(h=!0,o=t.touches.length,function(t){var a=(new Date).getTime();if(o>1&&(i=null),a-i<300)switch(u(t),e.handleDoubleTap(t),n){case"zoom":e.handleZoomEnd(t);break;case"drag":e.handleDragEnd(t)}else e.isDoubleTap=!1;1===o&&(i=a)}(t))},{passive:!1}),t.addEventListener("touchmove",function(t){if(e.enabled&&!e.isDoubleTap){if(h)r(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&&(o=t.touches.length,r(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,o=1)},{passive:!0}),t.addEventListener("mousemove",function(t){e.enabled&&(h?(r(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&&(o=0,r(t))},{passive:!0}))};return t}(),C={scrolling:"q1DKc",root:"KiBKq",layout:"JBDok",layoutHeader:"tVG4b",slotLayoutHeader:"_8R2r5",layoutContent:"O43ff",layoutFooter:"Gz4gH",layoutSection:"CvZb6",layoutSectionContent:"_2TSDW",layoutSectionFooter:"LTbHF",layoutPreviews:"-hzyv",layoutAdditional:"mR5-f",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-",previewRating:"_6dvN5",previewRatingIcon:"qXV70",videoPlayLabel:"jQiDN",videoPlayLabelIcon:"wSdjd",enter:"Lnosr",exit:"NW-xY",enterActive:"LrirU",exitActive:"L6st-"},O=b.forwardRef(function(t,e){var n=t.src,o=t.videoSrc,i=t.triggerInteraction,a=b.useRef(null),s=b.useRef(null),r=b.useRef(null),l=!!o,c=function(){var t,e;null===(t=s.current)||void 0===t||t.reset(),null===(e=a.current)||void 0===e||null===(e=e.contentWindow)||void 0===e||e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")};return b.useEffect(function(){return requestAnimationFrame(function(){r.current&&!l&&(s.current=new z(r.current,{draggableUnzoomed:!1,animationDuration:200,setOffsetsOnce:!1,onDoubleTap:function(t){1===(null==t?void 0:t.zoomFactor)&&i("maybeZoomImage")}}))}),function(){var t;null===(t=s.current)||void 0===t||t.destroy()}},[o]),b.useEffect(function(){var t=function(){l&&document.activeElement&&"iframe"===document.activeElement.nodeName.toLowerCase()&&a.current&&a.current===document.activeElement&&i("maybePlayVideo")};return window.addEventListener("blur",t),function(){window.removeEventListener("blur",t)}},[o]),b.useImperativeHandle(e,function(){return{reset:c}},[]),l?b.createElement("iframe",{ref:a,className:C.mainPhotoIframe,src:o,width:"100%",height:"100%",allowFullScreen:!0,title:"",loading:"lazy","data-qaid":"photo_gallery_main_video","data-testid":"photo_gallery_main_video"}):b.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"})});O.displayName="MainPhotosImage";var D=b.forwardRef(function(t,e){var n=t.items,o=t.onChange,i=t.triggerInteraction,a=b.useRef(null),r=b.useRef([]),l=b.useRef(0),c=b.useRef(null),u=function(){r.current.forEach(function(t){null==t||t.reset()})},h=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(e=c.current)||void 0===e?void 0:e.children[t];u(),o&&T(o,c.current,n)};b.useImperativeHandle(e,function(){return{scrollToIndex:h}},[]);return b.createElement(s.ScrollControls,{ref:c,className:C.mainPhotoScrollControls,showOnHover:!0,hideOnDisabled:!0,disableAutoScroll:!0,onClickPrev:function(){i("clickPrevButton");var t=l.current-1;t<0||(o(t),h(t))},onClickNext:function(){i("clickNextButton");var t=l.current+1;t>n.length-1||(o(t),h(t))}},b.createElement("div",{className:C.mainPhoto,onScroll:function(){if(c.current){var t=function(t,e){var n=t.scrollLeft/t.scrollWidth*e;return Math.round(n)}(c.current,n.length);l.current!==t&&(l.current=t,o(t),u())}},onTouchStart:function(t){var e=t.changedTouches[0].screenX;a.current=e},onTouchEnd:function(t){var e=t.changedTouches[0].screenX;a.current&&(a.current>e?i("maybeSwipeLeft"):a.current<e&&i("maybeSwipeRight"),a.current=null)}},n.map(function(t,e){var n,o=t.type,a=t.src,s="video"===o,l=s?_(a):a,c=s?(n=P(a),"https://youtube.com/embed/".concat(n,"?enablejsapi=1&rel=0")):void 0;return b.createElement("div",{key:e,className:C.mainPhotoItem,"data-qaid":"photo_gallery_main_item","data-testid":"photo_gallery_main_item"},b.createElement(O,{ref:function(t){r.current[e]=t},src:l,videoSrc:c,triggerInteraction:i}))})))});D.displayName="MainPhotos";var S,L=b.forwardRef(function(t,e){var n=t.items,o=t.selectedIndex,i=t.onChange,a=t.triggerInteraction,s=b.useRef(null),u=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=null===(e=s.current)||void 0===e?void 0:e.children[t];o&&T(o,s.current,n)};b.useImperativeHandle(e,function(){return{scrollToIndex:u}},[]);return b.createElement("div",{ref:s,className:C.preview,onScroll:function(){a("scrollPreviews")}},n.map(function(t,e){var n=t.type,s=t.src,u=t.rating,h="video"===n,d=h?_(s):s,f=h?"clickPreviewVideo":"clickPreviewImage";return b.createElement("div",{key:e,className:C.previewItem,"data-qaid":"photo_gallery_preview_item","data-testid":"photo_gallery_preview_item"},b.createElement("button",{className:C.previewButton,type:"button",onClick:function(){a(f),function(t){i(t)}(e)},disabled:o===e,"data-qaid":"photo_gallery_preview_button","data-testid":"photo_gallery_preview_button"},b.createElement("img",{className:C.previewImage,src:d,width:56,height:56,alt:"",decoding:"async",loading:"lazy","data-qaid":"photo_gallery_preview_image","data-testid":"photo_gallery_preview_image"}),u?b.createElement("div",{className:C.previewRating,"data-qaid":"photo_gallery_preview_rating","data-testid":"photo_gallery_preview_rating"},b.createElement(r.Icon,{className:C.previewRatingIcon,"icon-as":c.SvgStarFill}),u):null,h&&b.createElement("div",{className:C.videoPlayLabel,"data-qaid":"photo_gallery_preview_play","data-testid":"photo_gallery_preview_play"},b.createElement(r.Icon,{className:C.videoPlayLabelIcon,"icon-as":l.SvgPlay}))))}))});L.displayName="PreviewPhotos";var F=function(t){var e=t.title,n=t.onClose,o=t.selectedIndex,i=t.itemsLength,a=t.triggerInteraction,s=o+1,l=(0,d.useBodyStoreTTag().t)(S||(S=E.default(["Фото "," из ",""])),s,i);return b.createElement("div",{className:C.header},b.createElement("div",{className:C.headerTitle,"data-qaid":"photo_gallery_title","data-testid":"photo_gallery_title"},e||l),b.createElement("div",{className:C.headerClose},b.createElement(h.Button,{"button-padding":"xxs","button-theme":"black-inherit",type:"button",onClick:function(){a("clickCloseButton"),n()},"data-qaid":"photo_gallery_close_button","data-testid":"photo_gallery_close_button"},b.createElement(r.Icon,{"icon-as":f.SvgClose2,style:{width:24,height:24}}))))},N=function(t){var e,n=t.selectedIndex,o=t.onClose,i=t.className,a=t.slotProps,s=t.itemsLength,r=b.useRef(null),l=a.component;return b.useEffect(function(){var t;null===(t=r.current)||void 0===t||t.scrollTo({top:0})},[n]),b.createElement("div",x.default({},a.props,{ref:r,className:w.default(i,null===(e=a.props)||void 0===e?void 0:e.className)}),b.createElement(l,{selectedIndex:n,itemsLength:s,onClose:o}))},A=function(t){var e=t.isOpen,s=t.title,r=t.visibleIndex,l=void 0===r?0:r,c=t.items,u=t.zIndex,h=void 0===u?5e3:u,d=t.onClose,f=t.onChange,m=t.onInteraction,p=t.slotHeader,g=t.slotAside,v=t.slotFooter,E=t.slotMainPhotoFooter,x=b.useRef(!0),w=b.useRef(null),I=b.useRef(null),T=b.useState(l),P=y.default(T,2),_=P[0],z=P[1],O=b.useRef(null),S=function(t){"function"==typeof m&&m(t)};b.useEffect(function(){e&&"function"==typeof f&&f(_)},[_]),b.useEffect(function(){var t,n;e&&(z(l),null===(t=I.current)||void 0===t||t.scrollToIndex(l,!1),null===(n=w.current)||void 0===n||n.scrollToIndex(l,!1))},[e]),b.useEffect(function(){var t;if(!e)return function(){};var n=null,o=function(){n&&clearTimeout(n)},i=function(){o(),n=setTimeout(function(){var t,e;null===(t=I.current)||void 0===t||t.scrollToIndex(_,!1),null===(e=w.current)||void 0===e||e.scrollToIndex(_,!1)},100)};return window.addEventListener("resize",i),null===(t=window)||void 0===t||null===(t=t.matchMedia("(orientation: portrait)"))||void 0===t||t.addEventListener("change",i),function(){var t;o(),window.removeEventListener("resize",i),null===(t=window)||void 0===t||null===(t=t.matchMedia("(orientation: portrait)"))||void 0===t||t.removeEventListener("change",i)}},[e,_]);var A=function(t){var e,n;x.current=!1,z(t),null===(e=I.current)||void 0===e||e.scrollToIndex(t),null===(n=w.current)||void 0===n||n.scrollToIndex(t)},M=function(){d(_)};return b.createElement(b.Fragment,null,b.createElement(o.Backdrop,{isOpen:e,onClick:M,zIndex:h,isBodyScrollLock:!0}),b.createElement(n.CSSTransition,{nodeRef:O,in:e,timeout:240,classNames:C,unmountOnExit:!0,onEntered:function(){return S("opened")},onExited:function(){return S("closed")}},b.createElement(a.Portal,null,b.createElement("div",{ref:O,className:C.root,"data-qaid":"photo_gallery","data-testid":"photo_gallery",style:{zIndex:h}},b.createElement(i.KeyPress,{code:"Escape",onKeyUp:function(){S("keyPressClose"),M()}}),b.createElement(i.KeyPress,{code:"ArrowLeft",onKeyUp:function(){0!==_&&(S("keyPressPrev"),A(_-1))}}),b.createElement(i.KeyPress,{code:"ArrowRight",onKeyUp:function(){_!==c.length-1&&(S("keyPressNext"),A(_+1))}}),b.createElement("div",{className:C.layout},null!=p&&p.component?b.createElement(N,{className:C.slotLayoutHeader,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:p}):b.createElement("header",{className:C.layoutHeader},b.createElement(F,{title:s,selectedIndex:_,itemsLength:c.length,onClose:M,triggerInteraction:S})),b.createElement("div",{className:C.layoutContent},b.createElement("section",{className:C.layoutSection},b.createElement("div",{className:C.layoutSectionContent},b.createElement(D,{ref:w,items:c,onChange:function(t){var e;x.current&&(z(t),null===(e=I.current)||void 0===e||e.scrollToIndex(t));x.current||_!==t||(x.current=!0)},triggerInteraction:S})),!(null==E||!E.component)&&b.createElement(N,{className:C.layoutSectionFooter,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:E})),c.length>1&&b.createElement("aside",{className:C.layoutPreviews},b.createElement(L,{ref:I,items:c,selectedIndex:_,onChange:A,triggerInteraction:S})),!(null==g||!g.component)&&b.createElement(N,{className:C.layoutAdditional,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:g})),!(null==v||!v.component)&&b.createElement(N,{className:C.layoutFooter,selectedIndex:_,itemsLength:c.length,onClose:M,slotProps:v}))))))};A.displayName="PhotoGallery",exports.PhotoGallery=A,require("./style.production.v2.css");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/PhotoGallery",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/Picture",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/Progress",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -8,6 +8,11 @@ export type ScrollControlsButtonProps = {
8
8
  zIndex?: number;
9
9
  /** Кількість пікселів прокрутки за один клік. За замовчуванням — `clientWidth`. */
10
10
  step?: number;
11
+ /**
12
+ * Вимикає вбудовану прокрутку по кліку — кнопки лише викликають `onClickPrev`/`onClickNext`,
13
+ * а скролом керує споживач самостійно.
14
+ */
15
+ disableAutoScroll?: boolean;
11
16
  scrollRef: React.RefObject<HTMLElement | null>;
12
17
  };
13
18
  export declare const ScrollControlsButton: React.FC<ScrollControlsButtonProps>;
@@ -60,6 +60,8 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
60
60
  onClickPrev = _ref.onClickPrev,
61
61
  zIndex = _ref.zIndex,
62
62
  step = _ref.step,
63
+ _ref$disableAutoScrol = _ref.disableAutoScroll,
64
+ disableAutoScroll = _ref$disableAutoScrol === void 0 ? false : _ref$disableAutoScrol,
63
65
  children = _ref.children;
64
66
  var _useBodyStoreTTag = BodyProvider.useBodyStoreTTag(),
65
67
  t = _useBodyStoreTTag.t;
@@ -104,12 +106,14 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
104
106
  if (typeof onClickPrev === 'function') {
105
107
  onClickPrev(e);
106
108
  }
109
+ if (disableAutoScroll) return;
107
110
  updateScrollLeft(DIRECTION_PREV);
108
111
  };
109
112
  var handleOnClickNext = function handleOnClickNext(e) {
110
113
  if (typeof onClickNext === 'function') {
111
114
  onClickNext(e);
112
115
  }
116
+ if (disableAutoScroll) return;
113
117
  updateScrollLeft(DIRECTION_NEXT);
114
118
  };
115
119
  var handleOnScroll = function handleOnScroll() {
@@ -181,7 +185,7 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
181
185
  };
182
186
  ScrollControlsButton.displayName = 'ScrollControlsButton';
183
187
 
184
- var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "step", "zIndex"];
188
+ var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "step", "disableAutoScroll", "zIndex"];
185
189
  /**
186
190
  * Обгортає прокручуваний контент і додає кнопки «вперед» / «назад».
187
191
  * Зазвичай використовується разом з компонентом `<Scroll>`.
@@ -204,6 +208,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
204
208
  _ref$showOnHover = _ref.showOnHover,
205
209
  showOnHover = _ref$showOnHover === void 0 ? false : _ref$showOnHover,
206
210
  step = _ref.step,
211
+ disableAutoScroll = _ref.disableAutoScroll,
207
212
  zIndex = _ref.zIndex,
208
213
  props = _objectWithoutProperties__default.default(_ref, _excluded);
209
214
  var scrollRef = useForwardRef.useForwardRef(ref, null);
@@ -218,6 +223,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
218
223
  onClickNext: onClickNext,
219
224
  onClickPrev: onClickPrev,
220
225
  step: step,
226
+ disableAutoScroll: disableAutoScroll,
221
227
  zIndex: zIndex
222
228
  }, children));
223
229
  });
@@ -60,6 +60,8 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
60
60
  onClickPrev = _ref.onClickPrev,
61
61
  zIndex = _ref.zIndex,
62
62
  step = _ref.step,
63
+ _ref$disableAutoScrol = _ref.disableAutoScroll,
64
+ disableAutoScroll = _ref$disableAutoScrol === void 0 ? false : _ref$disableAutoScrol,
63
65
  children = _ref.children;
64
66
  var _useBodyStoreTTag = BodyProvider.useBodyStoreTTag(),
65
67
  t = _useBodyStoreTTag.t;
@@ -104,12 +106,14 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
104
106
  if (typeof onClickPrev === 'function') {
105
107
  onClickPrev(e);
106
108
  }
109
+ if (disableAutoScroll) return;
107
110
  updateScrollLeft(DIRECTION_PREV);
108
111
  };
109
112
  var handleOnClickNext = function handleOnClickNext(e) {
110
113
  if (typeof onClickNext === 'function') {
111
114
  onClickNext(e);
112
115
  }
116
+ if (disableAutoScroll) return;
113
117
  updateScrollLeft(DIRECTION_NEXT);
114
118
  };
115
119
  var handleOnScroll = function handleOnScroll() {
@@ -181,7 +185,7 @@ var ScrollControlsButton = function ScrollControlsButton(_ref) {
181
185
  };
182
186
  ScrollControlsButton.displayName = 'ScrollControlsButton';
183
187
 
184
- var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "step", "zIndex"];
188
+ var _excluded = ["children", "className", "hideOnDisabled", "isActive", "onClickNext", "onClickPrev", "showOnHover", "step", "disableAutoScroll", "zIndex"];
185
189
  /**
186
190
  * Обгортає прокручуваний контент і додає кнопки «вперед» / «назад».
187
191
  * Зазвичай використовується разом з компонентом `<Scroll>`.
@@ -204,6 +208,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
204
208
  _ref$showOnHover = _ref.showOnHover,
205
209
  showOnHover = _ref$showOnHover === void 0 ? false : _ref$showOnHover,
206
210
  step = _ref.step,
211
+ disableAutoScroll = _ref.disableAutoScroll,
207
212
  zIndex = _ref.zIndex,
208
213
  props = _objectWithoutProperties__default.default(_ref, _excluded);
209
214
  var scrollRef = useForwardRef.useForwardRef(ref, null);
@@ -218,6 +223,7 @@ var ScrollControls = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
218
223
  onClickNext: onClickNext,
219
224
  onClickPrev: onClickPrev,
220
225
  step: step,
226
+ disableAutoScroll: disableAutoScroll,
221
227
  zIndex: zIndex
222
228
  }, children));
223
229
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),l=require("clsx"),o=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),s=require("@prom-ui/core/BodyProvider"),d=require("@prom-ui/icons/Left"),f=require("@prom-ui/icons/Right");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function b(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var v,p,h=m(e),x=m(t),y=m(r),q=b(n),N=m(l),g=m(i),O=m(u),C="mOlOq",E="_3uXYG _8-zJW",k="L0VTc _8-zJW",w="_8BNAe",z="_1GCww",I="lzBzL",P="StbVV",j=function(e){var t=e.scrollRef,r=e.hideOnDisabled,l=void 0!==r&&r,o=e.isActive,i=void 0===o||o,u=e.onClickNext,m=e.onClickPrev,b=e.zIndex,h=e.step,y=e.children,C=s.useBodyStoreTTag().t,P=n.useRef(null),j=n.useState({prev:!1,next:!1}),L=O.default(j,2),T=L[0],A=L[1],B=function(e){if(t.current){var r=t.current,n=r.scrollLeft,l=r.scrollWidth,o=r.clientWidth,i=(Number.isInteger(e)?e:n)||0;A({prev:i>1,next:i<l-o-1})}},R=function(e){if(t.current){var r=t.current,n=r.scrollLeft,l=r.clientWidth,o=(null!=h?h:l)*e;requestAnimationFrame(function(){var e=n+o;B(e),t.current&&t.current.scrollTo({left:e,behavior:"smooth"})})}},S=function(){clearTimeout(P.current||0),P.current=setTimeout(B,100)};return n.useEffect(function(){return t.current&&i&&(requestAnimationFrame(function(){B()}),t.current.addEventListener("scroll",S,{passive:!0})),function(){clearTimeout(P.current||0),t.current&&i&&t.current.removeEventListener("scroll",S)}},[i,y]),i&&(T.prev||T.next)?q.default.createElement(q.default.Fragment,null,q.default.createElement("div",{className:N.default(E,x.default({},w,!T.prev)),style:{zIndex:b}},q.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:l?z:void 0,onClick:function(e){"function"==typeof m&&m(e),R(-1)},disabled:!T.prev,title:C(v||(v=g.default(["Назад"])))},q.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":d.SvgLeft}))),q.default.createElement("div",{className:N.default(k,x.default({},w,!T.next)),style:{zIndex:b}},q.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:l?z:void 0,onClick:function(e){"function"==typeof u&&u(e),R(1)},disabled:!T.next,title:C(p||(p=g.default(["Далее"])))},q.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":f.SvgRight})))):null};j.displayName="ScrollControlsButton";var L=["children","className","hideOnDisabled","isActive","onClickNext","onClickPrev","showOnHover","step","zIndex"],T=q.forwardRef(function(e,t){var r=e.children,n=e.className,l=e.hideOnDisabled,i=void 0===l||l,u=e.isActive,c=void 0===u||u,a=e.onClickNext,s=e.onClickPrev,d=e.showOnHover,f=void 0!==d&&d,m=e.step,b=e.zIndex,v=y.default(e,L),p=o.useForwardRef(t,null);return q.createElement("div",h.default({className:N.default(C,n,x.default({},P,f))},v),q.cloneElement(r,{ref:p}),q.createElement(j,{scrollRef:p,hideOnDisabled:i,isActive:c,onClickNext:a,onClickPrev:s,step:m,zIndex:b},r))});T.displayName="ScrollControls",exports.ScrollControls=T,require("./style.production.css");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),l=require("clsx"),o=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),s=require("@prom-ui/core/BodyProvider"),d=require("@prom-ui/icons/Left"),f=require("@prom-ui/icons/Right");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var v,p,h=b(e),x=b(t),y=b(r),q=m(n),N=b(l),g=b(i),O=b(u),C="mOlOq",E="_3uXYG _8-zJW",k="L0VTc _8-zJW",w="_8BNAe",A="_1GCww",S="lzBzL",z="StbVV",I=function(e){var t=e.scrollRef,r=e.hideOnDisabled,l=void 0!==r&&r,o=e.isActive,i=void 0===o||o,u=e.onClickNext,b=e.onClickPrev,m=e.zIndex,h=e.step,y=e.disableAutoScroll,C=void 0!==y&&y,z=e.children,I=s.useBodyStoreTTag().t,P=n.useRef(null),j=n.useState({prev:!1,next:!1}),L=O.default(j,2),T=L[0],B=L[1],R=function(e){if(t.current){var r=t.current,n=r.scrollLeft,l=r.scrollWidth,o=r.clientWidth,i=(Number.isInteger(e)?e:n)||0;B({prev:i>1,next:i<l-o-1})}},_=function(e){if(t.current){var r=t.current,n=r.scrollLeft,l=r.clientWidth,o=(null!=h?h:l)*e;requestAnimationFrame(function(){var e=n+o;R(e),t.current&&t.current.scrollTo({left:e,behavior:"smooth"})})}},W=function(){clearTimeout(P.current||0),P.current=setTimeout(R,100)};return n.useEffect(function(){return t.current&&i&&(requestAnimationFrame(function(){R()}),t.current.addEventListener("scroll",W,{passive:!0})),function(){clearTimeout(P.current||0),t.current&&i&&t.current.removeEventListener("scroll",W)}},[i,z]),i&&(T.prev||T.next)?q.default.createElement(q.default.Fragment,null,q.default.createElement("div",{className:N.default(E,x.default({},w,!T.prev)),style:{zIndex:m}},q.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:l?A:void 0,onClick:function(e){"function"==typeof b&&b(e),C||_(-1)},disabled:!T.prev,title:I(v||(v=g.default(["Назад"])))},q.default.createElement(a.Icon,{className:S,"icon-events":"none","icon-as":d.SvgLeft}))),q.default.createElement("div",{className:N.default(k,x.default({},w,!T.next)),style:{zIndex:m}},q.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:l?A:void 0,onClick:function(e){"function"==typeof u&&u(e),C||_(1)},disabled:!T.next,title:I(p||(p=g.default(["Далее"])))},q.default.createElement(a.Icon,{className:S,"icon-events":"none","icon-as":f.SvgRight})))):null};I.displayName="ScrollControlsButton";var P=["children","className","hideOnDisabled","isActive","onClickNext","onClickPrev","showOnHover","step","disableAutoScroll","zIndex"],j=q.forwardRef(function(e,t){var r=e.children,n=e.className,l=e.hideOnDisabled,i=void 0===l||l,u=e.isActive,c=void 0===u||u,a=e.onClickNext,s=e.onClickPrev,d=e.showOnHover,f=void 0!==d&&d,b=e.step,m=e.disableAutoScroll,v=e.zIndex,p=y.default(e,P),g=o.useForwardRef(t,null);return q.createElement("div",h.default({className:N.default(C,n,x.default({},z,f))},p),q.cloneElement(r,{ref:g}),q.createElement(I,{scrollRef:g,hideOnDisabled:i,isActive:c,onClickNext:a,onClickPrev:s,step:b,disableAutoScroll:m,zIndex:v},r))});j.displayName="ScrollControls",exports.ScrollControls=j,require("./style.production.css");
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),o=require("clsx"),l=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),s=require("@prom-ui/core/BodyProvider"),d=require("@prom-ui/icons/Left"),f=require("@prom-ui/icons/Right");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var v,p,h=b(e),x=b(t),y=b(r),g=m(n),q=b(o),N=b(i),C=b(u),E="_5xFyd",k="PY-Co _1fL6b",O="u2XoF _1fL6b",P="AZbdb",w="zw-fa",I="z7X7-",j="PVtmJ",z=function(e){var t=e.scrollRef,r=e.hideOnDisabled,o=void 0!==r&&r,l=e.isActive,i=void 0===l||l,u=e.onClickNext,b=e.onClickPrev,m=e.zIndex,h=e.step,y=e.children,E=s.useBodyStoreTTag().t,j=n.useRef(null),z=n.useState({prev:!1,next:!1}),L=C.default(z,2),A=L[0],R=L[1],T=function(e){if(t.current){var r=t.current,n=r.scrollLeft,o=r.scrollWidth,l=r.clientWidth,i=(Number.isInteger(e)?e:n)||0;R({prev:i>1,next:i<o-l-1})}},F=function(e){if(t.current){var r=t.current,n=r.scrollLeft,o=r.clientWidth,l=(null!=h?h:o)*e;requestAnimationFrame(function(){var e=n+l;T(e),t.current&&t.current.scrollTo({left:e,behavior:"smooth"})})}},S=function(){clearTimeout(j.current||0),j.current=setTimeout(T,100)};return n.useEffect(function(){return t.current&&i&&(requestAnimationFrame(function(){T()}),t.current.addEventListener("scroll",S,{passive:!0})),function(){clearTimeout(j.current||0),t.current&&i&&t.current.removeEventListener("scroll",S)}},[i,y]),i&&(A.prev||A.next)?g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:q.default(k,x.default({},P,!A.prev)),style:{zIndex:m}},g.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:o?w:void 0,onClick:function(e){"function"==typeof b&&b(e),F(-1)},disabled:!A.prev,title:E(v||(v=N.default(["Назад"])))},g.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":d.SvgLeft}))),g.default.createElement("div",{className:q.default(O,x.default({},P,!A.next)),style:{zIndex:m}},g.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:o?w:void 0,onClick:function(e){"function"==typeof u&&u(e),F(1)},disabled:!A.next,title:E(p||(p=N.default(["Далее"])))},g.default.createElement(a.Icon,{className:I,"icon-events":"none","icon-as":f.SvgRight})))):null};z.displayName="ScrollControlsButton";var L=["children","className","hideOnDisabled","isActive","onClickNext","onClickPrev","showOnHover","step","zIndex"],A=g.forwardRef(function(e,t){var r=e.children,n=e.className,o=e.hideOnDisabled,i=void 0===o||o,u=e.isActive,c=void 0===u||u,a=e.onClickNext,s=e.onClickPrev,d=e.showOnHover,f=void 0!==d&&d,b=e.step,m=e.zIndex,v=y.default(e,L),p=l.useForwardRef(t,null);return g.createElement("div",h.default({className:q.default(E,n,x.default({},j,f))},v),g.cloneElement(r,{ref:p}),g.createElement(z,{scrollRef:p,hideOnDisabled:i,isActive:c,onClickNext:a,onClickPrev:s,step:b,zIndex:m},r))});A.displayName="ScrollControls",exports.ScrollControls=A,require("./style.production.v2.css");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),o=require("clsx"),l=require("@prom-ui/core/useForwardRef"),i=require("@babel/runtime/helpers/taggedTemplateLiteral"),u=require("@babel/runtime/helpers/slicedToArray"),c=require("@prom-ui/core/Button"),a=require("@prom-ui/core/Icon"),s=require("@prom-ui/core/BodyProvider"),d=require("@prom-ui/icons/Left"),f=require("@prom-ui/icons/Right");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var v,p,h=b(e),x=b(t),y=b(r),g=m(n),q=b(o),N=b(i),C=b(u),E="_5xFyd",k="PY-Co _1fL6b",O="u2XoF _1fL6b",A="AZbdb",P="zw-fa",w="z7X7-",S="PVtmJ",I=function(e){var t=e.scrollRef,r=e.hideOnDisabled,o=void 0!==r&&r,l=e.isActive,i=void 0===l||l,u=e.onClickNext,b=e.onClickPrev,m=e.zIndex,h=e.step,y=e.disableAutoScroll,E=void 0!==y&&y,S=e.children,I=s.useBodyStoreTTag().t,j=n.useRef(null),z=n.useState({prev:!1,next:!1}),L=C.default(z,2),R=L[0],T=L[1],F=function(e){if(t.current){var r=t.current,n=r.scrollLeft,o=r.scrollWidth,l=r.clientWidth,i=(Number.isInteger(e)?e:n)||0;T({prev:i>1,next:i<o-l-1})}},B=function(e){if(t.current){var r=t.current,n=r.scrollLeft,o=r.clientWidth,l=(null!=h?h:o)*e;requestAnimationFrame(function(){var e=n+l;F(e),t.current&&t.current.scrollTo({left:e,behavior:"smooth"})})}},D=function(){clearTimeout(j.current||0),j.current=setTimeout(F,100)};return n.useEffect(function(){return t.current&&i&&(requestAnimationFrame(function(){F()}),t.current.addEventListener("scroll",D,{passive:!0})),function(){clearTimeout(j.current||0),t.current&&i&&t.current.removeEventListener("scroll",D)}},[i,S]),i&&(R.prev||R.next)?g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:q.default(k,x.default({},A,!R.prev)),style:{zIndex:m}},g.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:o?P:void 0,onClick:function(e){"function"==typeof b&&b(e),E||B(-1)},disabled:!R.prev,title:I(v||(v=N.default(["Назад"])))},g.default.createElement(a.Icon,{className:w,"icon-events":"none","icon-as":d.SvgLeft}))),g.default.createElement("div",{className:q.default(O,x.default({},A,!R.next)),style:{zIndex:m}},g.default.createElement(c.Button,{"button-theme":"white","button-padding":"none","button-round":"full","button-width":"1-1","button-height":"1-1","button-blackhole":"scroll-button",type:"button",className:o?P:void 0,onClick:function(e){"function"==typeof u&&u(e),E||B(1)},disabled:!R.next,title:I(p||(p=N.default(["Далее"])))},g.default.createElement(a.Icon,{className:w,"icon-events":"none","icon-as":f.SvgRight})))):null};I.displayName="ScrollControlsButton";var j=["children","className","hideOnDisabled","isActive","onClickNext","onClickPrev","showOnHover","step","disableAutoScroll","zIndex"],z=g.forwardRef(function(e,t){var r=e.children,n=e.className,o=e.hideOnDisabled,i=void 0===o||o,u=e.isActive,c=void 0===u||u,a=e.onClickNext,s=e.onClickPrev,d=e.showOnHover,f=void 0!==d&&d,b=e.step,m=e.disableAutoScroll,v=e.zIndex,p=y.default(e,j),N=l.useForwardRef(t,null);return g.createElement("div",h.default({className:q.default(E,n,x.default({},S,f))},p),g.cloneElement(r,{ref:N}),g.createElement(I,{scrollRef:N,hideOnDisabled:i,isActive:c,onClickNext:a,onClickPrev:s,step:b,disableAutoScroll:m,zIndex:v},r))});z.displayName="ScrollControls",exports.ScrollControls=z,require("./style.production.v2.css");
@@ -23,6 +23,11 @@ export type ScrollControlsProps = Omit<React.ComponentProps<'div'>, 'children'>
23
23
  * Якщо не передано — прокрутка на `clientWidth` (повну ширину видимої зони).
24
24
  */
25
25
  step?: ScrollControlsButtonProps['step'];
26
+ /**
27
+ * Вимикає вбудовану прокрутку по кліку — кнопки лише викликають `onClickPrev`/`onClickNext`.
28
+ * Використовуй, коли скролом керує сам споживач (наприклад, прокрутка до конкретного індексу).
29
+ */
30
+ disableAutoScroll?: ScrollControlsButtonProps['disableAutoScroll'];
26
31
  };
27
32
  /**
28
33
  * Обгортає прокручуваний контент і додає кнопки «вперед» / «назад».
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/ScrollControls",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/SnackBar",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/Viewport",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/evokit",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
4
+ "version": "3.1.0-alpha.0",
5
5
  "description": "core ui blocks",
6
6
  "scripts": {
7
7
  "lint": "eslint ./src",
@@ -51,5 +51,5 @@
51
51
  "react": ">=18.0.0",
52
52
  "react-dom": ">=18.0.0"
53
53
  },
54
- "gitHead": "543b33c249fa7e786a1c8fe56f48724ec17e0e6b"
54
+ "gitHead": "1a84811f6fc47a5b4ff371e1d13c02395c3379a4"
55
55
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom-ui/core/useBrowserLayoutEffect",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/useColorScheme",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/useInView",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/useScrollSync",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
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/useSnackBar",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-alpha.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [