{"version":3,"file":"chunk-klb-pay37.js","sources":["../node_modules/rc-image/es/context.js","../node_modules/rc-image/es/Operations.js","../node_modules/rc-image/es/hooks/useImageTransform.js","../node_modules/rc-image/es/getFixScaleEleTransPosition.js","../node_modules/rc-image/es/previewConfig.js","../node_modules/rc-image/es/hooks/useMouseEvent.js","../node_modules/rc-image/es/util.js","../node_modules/rc-image/es/hooks/useStatus.js","../node_modules/rc-image/es/hooks/useTouchEvent.js","../node_modules/rc-image/es/Preview.js","../node_modules/rc-image/es/common.js","../node_modules/rc-image/es/hooks/usePreviewItems.js","../node_modules/rc-image/es/PreviewGroup.js","../node_modules/rc-image/es/hooks/useRegisterImage.js","../node_modules/rc-image/es/Image.js"],"sourcesContent":["import * as React from 'react';\nexport var PreviewGroupContext = /*#__PURE__*/React.createContext(null);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport Portal from '@rc-component/portal';\nimport classnames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { PreviewGroupContext } from \"./context\";\nvar Operations = function Operations(props) {\n var visible = props.visible,\n maskTransitionName = props.maskTransitionName,\n getContainer = props.getContainer,\n prefixCls = props.prefixCls,\n rootClassName = props.rootClassName,\n icons = props.icons,\n countRender = props.countRender,\n showSwitch = props.showSwitch,\n showProgress = props.showProgress,\n current = props.current,\n transform = props.transform,\n count = props.count,\n scale = props.scale,\n minScale = props.minScale,\n maxScale = props.maxScale,\n closeIcon = props.closeIcon,\n onActive = props.onActive,\n onClose = props.onClose,\n onZoomIn = props.onZoomIn,\n onZoomOut = props.onZoomOut,\n onRotateRight = props.onRotateRight,\n onRotateLeft = props.onRotateLeft,\n onFlipX = props.onFlipX,\n onFlipY = props.onFlipY,\n onReset = props.onReset,\n toolbarRender = props.toolbarRender,\n zIndex = props.zIndex,\n image = props.image;\n var groupContext = useContext(PreviewGroupContext);\n var rotateLeft = icons.rotateLeft,\n rotateRight = icons.rotateRight,\n zoomIn = icons.zoomIn,\n zoomOut = icons.zoomOut,\n close = icons.close,\n left = icons.left,\n right = icons.right,\n flipX = icons.flipX,\n flipY = icons.flipY;\n var toolClassName = \"\".concat(prefixCls, \"-operations-operation\");\n React.useEffect(function () {\n var onKeyDown = function onKeyDown(e) {\n if (e.keyCode === KeyCode.ESC) {\n onClose();\n }\n };\n if (visible) {\n window.addEventListener('keydown', onKeyDown);\n }\n return function () {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [visible]);\n var handleActive = function handleActive(e, offset) {\n e.preventDefault();\n e.stopPropagation();\n onActive(offset);\n };\n var renderOperation = React.useCallback(function (_ref) {\n var type = _ref.type,\n disabled = _ref.disabled,\n onClick = _ref.onClick,\n icon = _ref.icon;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: type,\n className: classnames(toolClassName, \"\".concat(prefixCls, \"-operations-operation-\").concat(type), _defineProperty({}, \"\".concat(prefixCls, \"-operations-operation-disabled\"), !!disabled)),\n onClick: onClick\n }, icon);\n }, [toolClassName, prefixCls]);\n var switchPrevNode = showSwitch ? renderOperation({\n icon: left,\n onClick: function onClick(e) {\n return handleActive(e, -1);\n },\n type: 'prev',\n disabled: current === 0\n }) : undefined;\n var switchNextNode = showSwitch ? renderOperation({\n icon: right,\n onClick: function onClick(e) {\n return handleActive(e, 1);\n },\n type: 'next',\n disabled: current === count - 1\n }) : undefined;\n var flipYNode = renderOperation({\n icon: flipY,\n onClick: onFlipY,\n type: 'flipY'\n });\n var flipXNode = renderOperation({\n icon: flipX,\n onClick: onFlipX,\n type: 'flipX'\n });\n var rotateLeftNode = renderOperation({\n icon: rotateLeft,\n onClick: onRotateLeft,\n type: 'rotateLeft'\n });\n var rotateRightNode = renderOperation({\n icon: rotateRight,\n onClick: onRotateRight,\n type: 'rotateRight'\n });\n var zoomOutNode = renderOperation({\n icon: zoomOut,\n onClick: onZoomOut,\n type: 'zoomOut',\n disabled: scale <= minScale\n });\n var zoomInNode = renderOperation({\n icon: zoomIn,\n onClick: onZoomIn,\n type: 'zoomIn',\n disabled: scale === maxScale\n });\n var toolbarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-operations\")\n }, flipYNode, flipXNode, rotateLeftNode, rotateRightNode, zoomOutNode, zoomInNode);\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n motionName: maskTransitionName\n }, function (_ref2) {\n var className = _ref2.className,\n style = _ref2.style;\n return /*#__PURE__*/React.createElement(Portal, {\n open: true,\n getContainer: getContainer !== null && getContainer !== void 0 ? getContainer : document.body\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-operations-wrapper\"), className, rootClassName),\n style: _objectSpread(_objectSpread({}, style), {}, {\n zIndex: zIndex\n })\n }, closeIcon === null ? null : /*#__PURE__*/React.createElement(\"button\", {\n className: \"\".concat(prefixCls, \"-close\"),\n onClick: onClose\n }, closeIcon || close), showSwitch && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-switch-left\"), _defineProperty({}, \"\".concat(prefixCls, \"-switch-left-disabled\"), current === 0)),\n onClick: function onClick(e) {\n return handleActive(e, -1);\n }\n }, left), /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-switch-right\"), _defineProperty({}, \"\".concat(prefixCls, \"-switch-right-disabled\"), current === count - 1)),\n onClick: function onClick(e) {\n return handleActive(e, 1);\n }\n }, right)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, showProgress && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-progress\")\n }, countRender ? countRender(current + 1, count) : \"\".concat(current + 1, \" / \").concat(count)), toolbarRender ? toolbarRender(toolbarNode, _objectSpread(_objectSpread({\n icons: {\n prevIcon: switchPrevNode,\n nextIcon: switchNextNode,\n flipYIcon: flipYNode,\n flipXIcon: flipXNode,\n rotateLeftIcon: rotateLeftNode,\n rotateRightIcon: rotateRightNode,\n zoomOutIcon: zoomOutNode,\n zoomInIcon: zoomInNode\n },\n actions: {\n onActive: onActive,\n onFlipY: onFlipY,\n onFlipX: onFlipX,\n onRotateLeft: onRotateLeft,\n onRotateRight: onRotateRight,\n onZoomOut: onZoomOut,\n onZoomIn: onZoomIn,\n onReset: onReset,\n onClose: onClose\n },\n transform: transform\n }, groupContext ? {\n current: current,\n total: count\n } : {}), {}, {\n image: image\n })) : toolbarNode)));\n });\n};\nexport default Operations;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { getClientSize } from \"rc-util/es/Dom/css\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport raf from \"rc-util/es/raf\";\nimport { useRef, useState } from 'react';\nvar initialTransform = {\n x: 0,\n y: 0,\n rotate: 0,\n scale: 1,\n flipX: false,\n flipY: false\n};\nexport default function useImageTransform(imgRef, minScale, maxScale, onTransform) {\n var frame = useRef(null);\n var queue = useRef([]);\n var _useState = useState(initialTransform),\n _useState2 = _slicedToArray(_useState, 2),\n transform = _useState2[0],\n setTransform = _useState2[1];\n var resetTransform = function resetTransform(action) {\n setTransform(initialTransform);\n if (!isEqual(initialTransform, transform)) {\n onTransform === null || onTransform === void 0 || onTransform({\n transform: initialTransform,\n action: action\n });\n }\n };\n\n /** Direct update transform */\n var updateTransform = function updateTransform(newTransform, action) {\n if (frame.current === null) {\n queue.current = [];\n frame.current = raf(function () {\n setTransform(function (preState) {\n var memoState = preState;\n queue.current.forEach(function (queueState) {\n memoState = _objectSpread(_objectSpread({}, memoState), queueState);\n });\n frame.current = null;\n onTransform === null || onTransform === void 0 || onTransform({\n transform: memoState,\n action: action\n });\n return memoState;\n });\n });\n }\n queue.current.push(_objectSpread(_objectSpread({}, transform), newTransform));\n };\n\n /** Scale according to the position of centerX and centerY */\n var dispatchZoomChange = function dispatchZoomChange(ratio, action, centerX, centerY, isTouch) {\n var _imgRef$current = imgRef.current,\n width = _imgRef$current.width,\n height = _imgRef$current.height,\n offsetWidth = _imgRef$current.offsetWidth,\n offsetHeight = _imgRef$current.offsetHeight,\n offsetLeft = _imgRef$current.offsetLeft,\n offsetTop = _imgRef$current.offsetTop;\n var newRatio = ratio;\n var newScale = transform.scale * ratio;\n if (newScale > maxScale) {\n newScale = maxScale;\n newRatio = maxScale / transform.scale;\n } else if (newScale < minScale) {\n // For mobile interactions, allow scaling down to the minimum scale.\n newScale = isTouch ? newScale : minScale;\n newRatio = newScale / transform.scale;\n }\n\n /** Default center point scaling */\n var mergedCenterX = centerX !== null && centerX !== void 0 ? centerX : innerWidth / 2;\n var mergedCenterY = centerY !== null && centerY !== void 0 ? centerY : innerHeight / 2;\n var diffRatio = newRatio - 1;\n /** Deviation calculated from image size */\n var diffImgX = diffRatio * width * 0.5;\n var diffImgY = diffRatio * height * 0.5;\n /** The difference between the click position and the edge of the document */\n var diffOffsetLeft = diffRatio * (mergedCenterX - transform.x - offsetLeft);\n var diffOffsetTop = diffRatio * (mergedCenterY - transform.y - offsetTop);\n /** Final positioning */\n var newX = transform.x - (diffOffsetLeft - diffImgX);\n var newY = transform.y - (diffOffsetTop - diffImgY);\n\n /**\n * When zooming the image\n * When the image size is smaller than the width and height of the window, the position is initialized\n */\n if (ratio < 1 && newScale === 1) {\n var mergedWidth = offsetWidth * newScale;\n var mergedHeight = offsetHeight * newScale;\n var _getClientSize = getClientSize(),\n clientWidth = _getClientSize.width,\n clientHeight = _getClientSize.height;\n if (mergedWidth <= clientWidth && mergedHeight <= clientHeight) {\n newX = 0;\n newY = 0;\n }\n }\n updateTransform({\n x: newX,\n y: newY,\n scale: newScale\n }, action);\n };\n return {\n transform: transform,\n resetTransform: resetTransform,\n updateTransform: updateTransform,\n dispatchZoomChange: dispatchZoomChange\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { getClientSize } from \"rc-util/es/Dom/css\";\nfunction fixPoint(key, start, width, clientWidth) {\n var startAddWidth = start + width;\n var offsetStart = (width - clientWidth) / 2;\n if (width > clientWidth) {\n if (start > 0) {\n return _defineProperty({}, key, offsetStart);\n }\n if (start < 0 && startAddWidth < clientWidth) {\n return _defineProperty({}, key, -offsetStart);\n }\n } else if (start < 0 || startAddWidth > clientWidth) {\n return _defineProperty({}, key, start < 0 ? offsetStart : -offsetStart);\n }\n return {};\n}\n\n/**\n * Fix positon x,y point when\n *\n * Ele width && height < client\n * - Back origin\n *\n * - Ele width | height > clientWidth | clientHeight\n * - left | top > 0 -> Back 0\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * Regardless of other\n */\nexport default function getFixScaleEleTransPosition(width, height, left, top) {\n var _getClientSize = getClientSize(),\n clientWidth = _getClientSize.width,\n clientHeight = _getClientSize.height;\n var fixPos = null;\n if (width <= clientWidth && height <= clientHeight) {\n fixPos = {\n x: 0,\n y: 0\n };\n } else if (width > clientWidth || height > clientHeight) {\n fixPos = _objectSpread(_objectSpread({}, fixPoint('x', left, width, clientWidth)), fixPoint('y', top, height, clientHeight));\n }\n return fixPos;\n}","/** Scale the ratio base */\nexport var BASE_SCALE_RATIO = 1;\n/** The maximum zoom ratio when the mouse zooms in, adjustable */\nexport var WHEEL_MAX_SCALE_RATIO = 1;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { warning } from \"rc-util/es/warning\";\nimport { useEffect, useRef, useState } from 'react';\nimport getFixScaleEleTransPosition from \"../getFixScaleEleTransPosition\";\nimport { BASE_SCALE_RATIO, WHEEL_MAX_SCALE_RATIO } from \"../previewConfig\";\nexport default function useMouseEvent(imgRef, movable, visible, scaleStep, transform, updateTransform, dispatchZoomChange) {\n var rotate = transform.rotate,\n scale = transform.scale,\n x = transform.x,\n y = transform.y;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMoving = _useState2[0],\n setMoving = _useState2[1];\n var startPositionInfo = useRef({\n diffX: 0,\n diffY: 0,\n transformX: 0,\n transformY: 0\n });\n var onMouseDown = function onMouseDown(event) {\n // Only allow main button\n if (!movable || event.button !== 0) return;\n event.preventDefault();\n event.stopPropagation();\n startPositionInfo.current = {\n diffX: event.pageX - x,\n diffY: event.pageY - y,\n transformX: x,\n transformY: y\n };\n setMoving(true);\n };\n var onMouseMove = function onMouseMove(event) {\n if (visible && isMoving) {\n updateTransform({\n x: event.pageX - startPositionInfo.current.diffX,\n y: event.pageY - startPositionInfo.current.diffY\n }, 'move');\n }\n };\n var onMouseUp = function onMouseUp() {\n if (visible && isMoving) {\n setMoving(false);\n\n /** No need to restore the position when the picture is not moved, So as not to interfere with the click */\n var _startPositionInfo$cu = startPositionInfo.current,\n transformX = _startPositionInfo$cu.transformX,\n transformY = _startPositionInfo$cu.transformY;\n var hasChangedPosition = x !== transformX && y !== transformY;\n if (!hasChangedPosition) return;\n var width = imgRef.current.offsetWidth * scale;\n var height = imgRef.current.offsetHeight * scale;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),\n left = _imgRef$current$getBo.left,\n top = _imgRef$current$getBo.top;\n var isRotate = rotate % 180 !== 0;\n var fixState = getFixScaleEleTransPosition(isRotate ? height : width, isRotate ? width : height, left, top);\n if (fixState) {\n updateTransform(_objectSpread({}, fixState), 'dragRebound');\n }\n }\n };\n var onWheel = function onWheel(event) {\n if (!visible || event.deltaY == 0) return;\n // Scale ratio depends on the deltaY size\n var scaleRatio = Math.abs(event.deltaY / 100);\n // Limit the maximum scale ratio\n var mergedScaleRatio = Math.min(scaleRatio, WHEEL_MAX_SCALE_RATIO);\n // Scale the ratio each time\n var ratio = BASE_SCALE_RATIO + mergedScaleRatio * scaleStep;\n if (event.deltaY > 0) {\n ratio = BASE_SCALE_RATIO / ratio;\n }\n dispatchZoomChange(ratio, 'wheel', event.clientX, event.clientY);\n };\n useEffect(function () {\n var onTopMouseUpListener;\n var onTopMouseMoveListener;\n var onMouseUpListener;\n var onMouseMoveListener;\n if (movable) {\n onMouseUpListener = addEventListener(window, 'mouseup', onMouseUp, false);\n onMouseMoveListener = addEventListener(window, 'mousemove', onMouseMove, false);\n try {\n // Resolve if in iframe lost event\n /* istanbul ignore next */\n if (window.top !== window.self) {\n onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false);\n onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false);\n }\n } catch (error) {\n /* istanbul ignore next */\n warning(false, \"[rc-image] \".concat(error));\n }\n }\n return function () {\n var _onMouseUpListener, _onMouseMoveListener, _onTopMouseUpListener, _onTopMouseMoveListen;\n (_onMouseUpListener = onMouseUpListener) === null || _onMouseUpListener === void 0 || _onMouseUpListener.remove();\n (_onMouseMoveListener = onMouseMoveListener) === null || _onMouseMoveListener === void 0 || _onMouseMoveListener.remove();\n /* istanbul ignore next */\n (_onTopMouseUpListener = onTopMouseUpListener) === null || _onTopMouseUpListener === void 0 || _onTopMouseUpListener.remove();\n /* istanbul ignore next */\n (_onTopMouseMoveListen = onTopMouseMoveListener) === null || _onTopMouseMoveListen === void 0 || _onTopMouseMoveListen.remove();\n };\n }, [visible, isMoving, x, y, rotate, movable]);\n return {\n isMoving: isMoving,\n onMouseDown: onMouseDown,\n onMouseMove: onMouseMove,\n onMouseUp: onMouseUp,\n onWheel: onWheel\n };\n}","export function isImageValid(src) {\n return new Promise(function (resolve) {\n var img = document.createElement('img');\n img.onerror = function () {\n return resolve(false);\n };\n img.onload = function () {\n return resolve(true);\n };\n img.src = src;\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef, useState } from 'react';\nimport { isImageValid } from \"../util\";\nexport default function useStatus(_ref) {\n var src = _ref.src,\n isCustomPlaceholder = _ref.isCustomPlaceholder,\n fallback = _ref.fallback;\n var _useState = useState(isCustomPlaceholder ? 'loading' : 'normal'),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setStatus = _useState2[1];\n var isLoaded = useRef(false);\n var isError = status === 'error';\n\n // https://github.com/react-component/image/pull/187\n useEffect(function () {\n var isCurrentSrc = true;\n isImageValid(src).then(function (isValid) {\n // https://github.com/ant-design/ant-design/issues/44948\n // If src changes, the previous setStatus should not be triggered\n if (!isValid && isCurrentSrc) {\n setStatus('error');\n }\n });\n return function () {\n isCurrentSrc = false;\n };\n }, [src]);\n useEffect(function () {\n if (isCustomPlaceholder && !isLoaded.current) {\n setStatus('loading');\n } else if (isError) {\n setStatus('normal');\n }\n }, [src]);\n var onLoad = function onLoad() {\n setStatus('normal');\n };\n var getImgRef = function getImgRef(img) {\n isLoaded.current = false;\n if (status === 'loading' && img !== null && img !== void 0 && img.complete && (img.naturalWidth || img.naturalHeight)) {\n isLoaded.current = true;\n onLoad();\n }\n };\n var srcAndOnload = isError && fallback ? {\n src: fallback\n } : {\n onLoad: onLoad,\n src: src\n };\n return [getImgRef, srcAndOnload, status];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { useEffect, useRef, useState } from 'react';\nimport getFixScaleEleTransPosition from \"../getFixScaleEleTransPosition\";\nfunction getDistance(a, b) {\n var x = a.x - b.x;\n var y = a.y - b.y;\n return Math.hypot(x, y);\n}\nfunction getCenter(oldPoint1, oldPoint2, newPoint1, newPoint2) {\n // Calculate the distance each point has moved\n var distance1 = getDistance(oldPoint1, newPoint1);\n var distance2 = getDistance(oldPoint2, newPoint2);\n\n // If both distances are 0, return the original points\n if (distance1 === 0 && distance2 === 0) {\n return [oldPoint1.x, oldPoint1.y];\n }\n\n // Calculate the ratio of the distances\n var ratio = distance1 / (distance1 + distance2);\n\n // Calculate the new center point based on the ratio\n var x = oldPoint1.x + ratio * (oldPoint2.x - oldPoint1.x);\n var y = oldPoint1.y + ratio * (oldPoint2.y - oldPoint1.y);\n return [x, y];\n}\nexport default function useTouchEvent(imgRef, movable, visible, minScale, transform, updateTransform, dispatchZoomChange) {\n var rotate = transform.rotate,\n scale = transform.scale,\n x = transform.x,\n y = transform.y;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isTouching = _useState2[0],\n setIsTouching = _useState2[1];\n var touchPointInfo = useRef({\n point1: {\n x: 0,\n y: 0\n },\n point2: {\n x: 0,\n y: 0\n },\n eventType: 'none'\n });\n var updateTouchPointInfo = function updateTouchPointInfo(values) {\n touchPointInfo.current = _objectSpread(_objectSpread({}, touchPointInfo.current), values);\n };\n var onTouchStart = function onTouchStart(event) {\n if (!movable) return;\n event.stopPropagation();\n setIsTouching(true);\n var _event$touches = event.touches,\n touches = _event$touches === void 0 ? [] : _event$touches;\n if (touches.length > 1) {\n // touch zoom\n updateTouchPointInfo({\n point1: {\n x: touches[0].clientX,\n y: touches[0].clientY\n },\n point2: {\n x: touches[1].clientX,\n y: touches[1].clientY\n },\n eventType: 'touchZoom'\n });\n } else {\n // touch move\n updateTouchPointInfo({\n point1: {\n x: touches[0].clientX - x,\n y: touches[0].clientY - y\n },\n eventType: 'move'\n });\n }\n };\n var onTouchMove = function onTouchMove(event) {\n var _event$touches2 = event.touches,\n touches = _event$touches2 === void 0 ? [] : _event$touches2;\n var _touchPointInfo$curre = touchPointInfo.current,\n point1 = _touchPointInfo$curre.point1,\n point2 = _touchPointInfo$curre.point2,\n eventType = _touchPointInfo$curre.eventType;\n if (touches.length > 1 && eventType === 'touchZoom') {\n // touch zoom\n var newPoint1 = {\n x: touches[0].clientX,\n y: touches[0].clientY\n };\n var newPoint2 = {\n x: touches[1].clientX,\n y: touches[1].clientY\n };\n var _getCenter = getCenter(point1, point2, newPoint1, newPoint2),\n _getCenter2 = _slicedToArray(_getCenter, 2),\n centerX = _getCenter2[0],\n centerY = _getCenter2[1];\n var ratio = getDistance(newPoint1, newPoint2) / getDistance(point1, point2);\n dispatchZoomChange(ratio, 'touchZoom', centerX, centerY, true);\n updateTouchPointInfo({\n point1: newPoint1,\n point2: newPoint2,\n eventType: 'touchZoom'\n });\n } else if (eventType === 'move') {\n // touch move\n updateTransform({\n x: touches[0].clientX - point1.x,\n y: touches[0].clientY - point1.y\n }, 'move');\n updateTouchPointInfo({\n eventType: 'move'\n });\n }\n };\n var onTouchEnd = function onTouchEnd() {\n if (!visible) return;\n if (isTouching) {\n setIsTouching(false);\n }\n updateTouchPointInfo({\n eventType: 'none'\n });\n if (minScale > scale) {\n /** When the scaling ratio is less than the minimum scaling ratio, reset the scaling ratio */\n return updateTransform({\n x: 0,\n y: 0,\n scale: minScale\n }, 'touchZoom');\n }\n var width = imgRef.current.offsetWidth * scale;\n var height = imgRef.current.offsetHeight * scale;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),\n left = _imgRef$current$getBo.left,\n top = _imgRef$current$getBo.top;\n var isRotate = rotate % 180 !== 0;\n var fixState = getFixScaleEleTransPosition(isRotate ? height : width, isRotate ? width : height, left, top);\n if (fixState) {\n updateTransform(_objectSpread({}, fixState), 'dragRebound');\n }\n };\n useEffect(function () {\n var onTouchMoveListener;\n if (visible && movable) {\n onTouchMoveListener = addEventListener(window, 'touchmove', function (e) {\n return e.preventDefault();\n }, {\n passive: false\n });\n }\n return function () {\n var _onTouchMoveListener;\n (_onTouchMoveListener = onTouchMoveListener) === null || _onTouchMoveListener === void 0 || _onTouchMoveListener.remove();\n };\n }, [visible, movable]);\n return {\n isTouching: isTouching,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"fallback\", \"src\", \"imgRef\"],\n _excluded2 = [\"prefixCls\", \"src\", \"alt\", \"imageInfo\", \"fallback\", \"movable\", \"onClose\", \"visible\", \"icons\", \"rootClassName\", \"closeIcon\", \"getContainer\", \"current\", \"count\", \"countRender\", \"scaleStep\", \"minScale\", \"maxScale\", \"transitionName\", \"maskTransitionName\", \"imageRender\", \"imgCommonProps\", \"toolbarRender\", \"onTransform\", \"onChange\"];\nimport classnames from 'classnames';\nimport Dialog from 'rc-dialog';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport Operations from \"./Operations\";\nimport { PreviewGroupContext } from \"./context\";\nimport useImageTransform from \"./hooks/useImageTransform\";\nimport useMouseEvent from \"./hooks/useMouseEvent\";\nimport useStatus from \"./hooks/useStatus\";\nimport useTouchEvent from \"./hooks/useTouchEvent\";\nimport { BASE_SCALE_RATIO } from \"./previewConfig\";\nvar PreviewImage = function PreviewImage(_ref) {\n var fallback = _ref.fallback,\n src = _ref.src,\n imgRef = _ref.imgRef,\n props = _objectWithoutProperties(_ref, _excluded);\n var _useStatus = useStatus({\n src: src,\n fallback: fallback\n }),\n _useStatus2 = _slicedToArray(_useStatus, 2),\n getImgRef = _useStatus2[0],\n srcAndOnload = _useStatus2[1];\n return /*#__PURE__*/React.createElement(\"img\", _extends({\n ref: function ref(_ref2) {\n imgRef.current = _ref2;\n getImgRef(_ref2);\n }\n }, props, srcAndOnload));\n};\nvar Preview = function Preview(props) {\n var prefixCls = props.prefixCls,\n src = props.src,\n alt = props.alt,\n imageInfo = props.imageInfo,\n fallback = props.fallback,\n _props$movable = props.movable,\n movable = _props$movable === void 0 ? true : _props$movable,\n onClose = props.onClose,\n visible = props.visible,\n _props$icons = props.icons,\n icons = _props$icons === void 0 ? {} : _props$icons,\n rootClassName = props.rootClassName,\n closeIcon = props.closeIcon,\n getContainer = props.getContainer,\n _props$current = props.current,\n current = _props$current === void 0 ? 0 : _props$current,\n _props$count = props.count,\n count = _props$count === void 0 ? 1 : _props$count,\n countRender = props.countRender,\n _props$scaleStep = props.scaleStep,\n scaleStep = _props$scaleStep === void 0 ? 0.5 : _props$scaleStep,\n _props$minScale = props.minScale,\n minScale = _props$minScale === void 0 ? 1 : _props$minScale,\n _props$maxScale = props.maxScale,\n maxScale = _props$maxScale === void 0 ? 50 : _props$maxScale,\n _props$transitionName = props.transitionName,\n transitionName = _props$transitionName === void 0 ? 'zoom' : _props$transitionName,\n _props$maskTransition = props.maskTransitionName,\n maskTransitionName = _props$maskTransition === void 0 ? 'fade' : _props$maskTransition,\n imageRender = props.imageRender,\n imgCommonProps = props.imgCommonProps,\n toolbarRender = props.toolbarRender,\n onTransform = props.onTransform,\n onChange = props.onChange,\n restProps = _objectWithoutProperties(props, _excluded2);\n var imgRef = useRef();\n var groupContext = useContext(PreviewGroupContext);\n var showLeftOrRightSwitches = groupContext && count > 1;\n var showOperationsProgress = groupContext && count >= 1;\n var _useState = useState(true),\n _useState2 = _slicedToArray(_useState, 2),\n enableTransition = _useState2[0],\n setEnableTransition = _useState2[1];\n var _useImageTransform = useImageTransform(imgRef, minScale, maxScale, onTransform),\n transform = _useImageTransform.transform,\n resetTransform = _useImageTransform.resetTransform,\n updateTransform = _useImageTransform.updateTransform,\n dispatchZoomChange = _useImageTransform.dispatchZoomChange;\n var _useMouseEvent = useMouseEvent(imgRef, movable, visible, scaleStep, transform, updateTransform, dispatchZoomChange),\n isMoving = _useMouseEvent.isMoving,\n onMouseDown = _useMouseEvent.onMouseDown,\n onWheel = _useMouseEvent.onWheel;\n var _useTouchEvent = useTouchEvent(imgRef, movable, visible, minScale, transform, updateTransform, dispatchZoomChange),\n isTouching = _useTouchEvent.isTouching,\n onTouchStart = _useTouchEvent.onTouchStart,\n onTouchMove = _useTouchEvent.onTouchMove,\n onTouchEnd = _useTouchEvent.onTouchEnd;\n var rotate = transform.rotate,\n scale = transform.scale;\n var wrapClassName = classnames(_defineProperty({}, \"\".concat(prefixCls, \"-moving\"), isMoving));\n useEffect(function () {\n if (!enableTransition) {\n setEnableTransition(true);\n }\n }, [enableTransition]);\n var onAfterClose = function onAfterClose() {\n resetTransform('close');\n };\n var onZoomIn = function onZoomIn() {\n dispatchZoomChange(BASE_SCALE_RATIO + scaleStep, 'zoomIn');\n };\n var onZoomOut = function onZoomOut() {\n dispatchZoomChange(BASE_SCALE_RATIO / (BASE_SCALE_RATIO + scaleStep), 'zoomOut');\n };\n var onRotateRight = function onRotateRight() {\n updateTransform({\n rotate: rotate + 90\n }, 'rotateRight');\n };\n var onRotateLeft = function onRotateLeft() {\n updateTransform({\n rotate: rotate - 90\n }, 'rotateLeft');\n };\n var onFlipX = function onFlipX() {\n updateTransform({\n flipX: !transform.flipX\n }, 'flipX');\n };\n var onFlipY = function onFlipY() {\n updateTransform({\n flipY: !transform.flipY\n }, 'flipY');\n };\n var onReset = function onReset() {\n resetTransform('reset');\n };\n var onActive = function onActive(offset) {\n var position = current + offset;\n if (!Number.isInteger(position) || position < 0 || position > count - 1) {\n return;\n }\n setEnableTransition(false);\n resetTransform(offset < 0 ? 'prev' : 'next');\n onChange === null || onChange === void 0 || onChange(position, current);\n };\n var onKeyDown = function onKeyDown(event) {\n if (!visible || !showLeftOrRightSwitches) return;\n if (event.keyCode === KeyCode.LEFT) {\n onActive(-1);\n } else if (event.keyCode === KeyCode.RIGHT) {\n onActive(1);\n }\n };\n var onDoubleClick = function onDoubleClick(event) {\n if (visible) {\n if (scale !== 1) {\n updateTransform({\n x: 0,\n y: 0,\n scale: 1\n }, 'doubleClick');\n } else {\n dispatchZoomChange(BASE_SCALE_RATIO + scaleStep, 'doubleClick', event.clientX, event.clientY);\n }\n }\n };\n useEffect(function () {\n var onKeyDownListener = addEventListener(window, 'keydown', onKeyDown, false);\n return function () {\n onKeyDownListener.remove();\n };\n }, [visible, showLeftOrRightSwitches, current]);\n var imgNode = /*#__PURE__*/React.createElement(PreviewImage, _extends({}, imgCommonProps, {\n width: props.width,\n height: props.height,\n imgRef: imgRef,\n className: \"\".concat(prefixCls, \"-img\"),\n alt: alt,\n style: {\n transform: \"translate3d(\".concat(transform.x, \"px, \").concat(transform.y, \"px, 0) scale3d(\").concat(transform.flipX ? '-' : '').concat(scale, \", \").concat(transform.flipY ? '-' : '').concat(scale, \", 1) rotate(\").concat(rotate, \"deg)\"),\n transitionDuration: (!enableTransition || isTouching) && '0s'\n },\n fallback: fallback,\n src: src,\n onWheel: onWheel,\n onMouseDown: onMouseDown,\n onDoubleClick: onDoubleClick,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onTouchCancel: onTouchEnd\n }));\n var image = _objectSpread({\n url: src,\n alt: alt\n }, imageInfo);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog, _extends({\n transitionName: transitionName,\n maskTransitionName: maskTransitionName,\n closable: false,\n keyboard: true,\n prefixCls: prefixCls,\n onClose: onClose,\n visible: visible,\n classNames: {\n wrapper: wrapClassName\n },\n rootClassName: rootClassName,\n getContainer: getContainer\n }, restProps, {\n afterClose: onAfterClose\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-img-wrapper\")\n }, imageRender ? imageRender(imgNode, _objectSpread({\n transform: transform,\n image: image\n }, groupContext ? {\n current: current\n } : {})) : imgNode)), /*#__PURE__*/React.createElement(Operations, {\n visible: visible,\n transform: transform,\n maskTransitionName: maskTransitionName,\n closeIcon: closeIcon,\n getContainer: getContainer,\n prefixCls: prefixCls,\n rootClassName: rootClassName,\n icons: icons,\n countRender: countRender,\n showSwitch: showLeftOrRightSwitches,\n showProgress: showOperationsProgress,\n current: current,\n count: count,\n scale: scale,\n minScale: minScale,\n maxScale: maxScale,\n toolbarRender: toolbarRender,\n onActive: onActive,\n onZoomIn: onZoomIn,\n onZoomOut: onZoomOut,\n onRotateRight: onRotateRight,\n onRotateLeft: onRotateLeft,\n onFlipX: onFlipX,\n onFlipY: onFlipY,\n onClose: onClose,\n onReset: onReset,\n zIndex: restProps.zIndex !== undefined ? restProps.zIndex + 1 : undefined,\n image: image\n }));\n};\nexport default Preview;","export var COMMON_PROPS = ['crossOrigin', 'decoding', 'draggable', 'loading', 'referrerPolicy', 'sizes', 'srcSet', 'useMap', 'alt'];","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { COMMON_PROPS } from \"../common\";\n/**\n * Merge props provided `items` or context collected images\n */\nexport default function usePreviewItems(items) {\n // Context collection image data\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n images = _React$useState2[0],\n setImages = _React$useState2[1];\n var registerImage = React.useCallback(function (id, data) {\n setImages(function (imgs) {\n return _objectSpread(_objectSpread({}, imgs), {}, _defineProperty({}, id, data));\n });\n return function () {\n setImages(function (imgs) {\n var cloneImgs = _objectSpread({}, imgs);\n delete cloneImgs[id];\n return cloneImgs;\n });\n };\n }, []);\n\n // items\n var mergedItems = React.useMemo(function () {\n // use `items` first\n if (items) {\n return items.map(function (item) {\n if (typeof item === 'string') {\n return {\n data: {\n src: item\n }\n };\n }\n var data = {};\n Object.keys(item).forEach(function (key) {\n if (['src'].concat(_toConsumableArray(COMMON_PROPS)).includes(key)) {\n data[key] = item[key];\n }\n });\n return {\n data: data\n };\n });\n }\n\n // use registered images secondly\n return Object.keys(images).reduce(function (total, id) {\n var _images$id = images[id],\n canPreview = _images$id.canPreview,\n data = _images$id.data;\n if (canPreview) {\n total.push({\n data: data,\n id: id\n });\n }\n return total;\n }, []);\n }, [items, images]);\n return [mergedItems, registerImage, !!items];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"onVisibleChange\", \"getContainer\", \"current\", \"movable\", \"minScale\", \"maxScale\", \"countRender\", \"closeIcon\", \"onChange\", \"onTransform\", \"toolbarRender\", \"imageRender\"],\n _excluded2 = [\"src\"];\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport Preview from \"./Preview\";\nimport { PreviewGroupContext } from \"./context\";\nimport usePreviewItems from \"./hooks/usePreviewItems\";\nvar Group = function Group(_ref) {\n var _mergedItems$current;\n var _ref$previewPrefixCls = _ref.previewPrefixCls,\n previewPrefixCls = _ref$previewPrefixCls === void 0 ? 'rc-image-preview' : _ref$previewPrefixCls,\n children = _ref.children,\n _ref$icons = _ref.icons,\n icons = _ref$icons === void 0 ? {} : _ref$icons,\n items = _ref.items,\n preview = _ref.preview,\n fallback = _ref.fallback;\n var _ref2 = _typeof(preview) === 'object' ? preview : {},\n previewVisible = _ref2.visible,\n onVisibleChange = _ref2.onVisibleChange,\n getContainer = _ref2.getContainer,\n currentIndex = _ref2.current,\n movable = _ref2.movable,\n minScale = _ref2.minScale,\n maxScale = _ref2.maxScale,\n countRender = _ref2.countRender,\n closeIcon = _ref2.closeIcon,\n onChange = _ref2.onChange,\n onTransform = _ref2.onTransform,\n toolbarRender = _ref2.toolbarRender,\n imageRender = _ref2.imageRender,\n dialogProps = _objectWithoutProperties(_ref2, _excluded);\n\n // ========================== Items ===========================\n var _usePreviewItems = usePreviewItems(items),\n _usePreviewItems2 = _slicedToArray(_usePreviewItems, 3),\n mergedItems = _usePreviewItems2[0],\n register = _usePreviewItems2[1],\n fromItems = _usePreviewItems2[2];\n\n // ========================= Preview ==========================\n // >>> Index\n var _useMergedState = useMergedState(0, {\n value: currentIndex\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n current = _useMergedState2[0],\n setCurrent = _useMergedState2[1];\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n keepOpenIndex = _useState2[0],\n setKeepOpenIndex = _useState2[1];\n\n // >>> Image\n var _ref3 = ((_mergedItems$current = mergedItems[current]) === null || _mergedItems$current === void 0 ? void 0 : _mergedItems$current.data) || {},\n src = _ref3.src,\n imgCommonProps = _objectWithoutProperties(_ref3, _excluded2);\n // >>> Visible\n var _useMergedState3 = useMergedState(!!previewVisible, {\n value: previewVisible,\n onChange: function onChange(val, prevVal) {\n onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(val, prevVal, current);\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n isShowPreview = _useMergedState4[0],\n setShowPreview = _useMergedState4[1];\n\n // >>> Position\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n mousePosition = _useState4[0],\n setMousePosition = _useState4[1];\n var onPreviewFromImage = React.useCallback(function (id, imageSrc, mouseX, mouseY) {\n var index = fromItems ? mergedItems.findIndex(function (item) {\n return item.data.src === imageSrc;\n }) : mergedItems.findIndex(function (item) {\n return item.id === id;\n });\n setCurrent(index < 0 ? 0 : index);\n setShowPreview(true);\n setMousePosition({\n x: mouseX,\n y: mouseY\n });\n setKeepOpenIndex(true);\n }, [mergedItems, fromItems]);\n\n // Reset current when reopen\n React.useEffect(function () {\n if (isShowPreview) {\n if (!keepOpenIndex) {\n setCurrent(0);\n }\n } else {\n setKeepOpenIndex(false);\n }\n }, [isShowPreview]);\n\n // ========================== Events ==========================\n var onInternalChange = function onInternalChange(next, prev) {\n setCurrent(next);\n onChange === null || onChange === void 0 || onChange(next, prev);\n };\n var onPreviewClose = function onPreviewClose() {\n setShowPreview(false);\n setMousePosition(null);\n };\n\n // ========================= Context ==========================\n var previewGroupContext = React.useMemo(function () {\n return {\n register: register,\n onPreview: onPreviewFromImage\n };\n }, [register, onPreviewFromImage]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(PreviewGroupContext.Provider, {\n value: previewGroupContext\n }, children, /*#__PURE__*/React.createElement(Preview, _extends({\n \"aria-hidden\": !isShowPreview,\n movable: movable,\n visible: isShowPreview,\n prefixCls: previewPrefixCls,\n closeIcon: closeIcon,\n onClose: onPreviewClose,\n mousePosition: mousePosition,\n imgCommonProps: imgCommonProps,\n src: src,\n fallback: fallback,\n icons: icons,\n minScale: minScale,\n maxScale: maxScale,\n getContainer: getContainer,\n current: current,\n count: mergedItems.length,\n countRender: countRender,\n onTransform: onTransform,\n toolbarRender: toolbarRender,\n imageRender: imageRender,\n onChange: onInternalChange\n }, dialogProps)));\n};\nexport default Group;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { PreviewGroupContext } from \"../context\";\nvar uid = 0;\nexport default function useRegisterImage(canPreview, data) {\n var _React$useState = React.useState(function () {\n uid += 1;\n return String(uid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n var groupContext = React.useContext(PreviewGroupContext);\n var registerData = {\n data: data,\n canPreview: canPreview\n };\n\n // Keep order start\n // Resolve https://github.com/ant-design/ant-design/issues/28881\n // Only need unRegister when component unMount\n React.useEffect(function () {\n if (groupContext) {\n return groupContext.register(id, registerData);\n }\n }, []);\n React.useEffect(function () {\n if (groupContext) {\n groupContext.register(id, registerData);\n }\n }, [canPreview, data]);\n return id;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"src\", \"alt\", \"onPreviewClose\", \"prefixCls\", \"previewPrefixCls\", \"placeholder\", \"fallback\", \"width\", \"height\", \"style\", \"preview\", \"className\", \"onClick\", \"onError\", \"wrapperClassName\", \"wrapperStyle\", \"rootClassName\"],\n _excluded2 = [\"src\", \"visible\", \"onVisibleChange\", \"getContainer\", \"mask\", \"maskClassName\", \"movable\", \"icons\", \"scaleStep\", \"minScale\", \"maxScale\", \"imageRender\", \"toolbarRender\"];\nimport cn from 'classnames';\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { useContext, useMemo, useState } from 'react';\nimport Preview from \"./Preview\";\nimport PreviewGroup from \"./PreviewGroup\";\nimport { COMMON_PROPS } from \"./common\";\nimport { PreviewGroupContext } from \"./context\";\nimport useRegisterImage from \"./hooks/useRegisterImage\";\nimport useStatus from \"./hooks/useStatus\";\nvar ImageInternal = function ImageInternal(props) {\n var imgSrc = props.src,\n alt = props.alt,\n onInitialPreviewClose = props.onPreviewClose,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-image' : _props$prefixCls,\n _props$previewPrefixC = props.previewPrefixCls,\n previewPrefixCls = _props$previewPrefixC === void 0 ? \"\".concat(prefixCls, \"-preview\") : _props$previewPrefixC,\n placeholder = props.placeholder,\n fallback = props.fallback,\n width = props.width,\n height = props.height,\n style = props.style,\n _props$preview = props.preview,\n preview = _props$preview === void 0 ? true : _props$preview,\n className = props.className,\n onClick = props.onClick,\n onError = props.onError,\n wrapperClassName = props.wrapperClassName,\n wrapperStyle = props.wrapperStyle,\n rootClassName = props.rootClassName,\n otherProps = _objectWithoutProperties(props, _excluded);\n var isCustomPlaceholder = placeholder && placeholder !== true;\n var _ref = _typeof(preview) === 'object' ? preview : {},\n previewSrc = _ref.src,\n _ref$visible = _ref.visible,\n previewVisible = _ref$visible === void 0 ? undefined : _ref$visible,\n _ref$onVisibleChange = _ref.onVisibleChange,\n onPreviewVisibleChange = _ref$onVisibleChange === void 0 ? onInitialPreviewClose : _ref$onVisibleChange,\n _ref$getContainer = _ref.getContainer,\n getPreviewContainer = _ref$getContainer === void 0 ? undefined : _ref$getContainer,\n previewMask = _ref.mask,\n maskClassName = _ref.maskClassName,\n movable = _ref.movable,\n icons = _ref.icons,\n scaleStep = _ref.scaleStep,\n minScale = _ref.minScale,\n maxScale = _ref.maxScale,\n imageRender = _ref.imageRender,\n toolbarRender = _ref.toolbarRender,\n dialogProps = _objectWithoutProperties(_ref, _excluded2);\n var src = previewSrc !== null && previewSrc !== void 0 ? previewSrc : imgSrc;\n var _useMergedState = useMergedState(!!previewVisible, {\n value: previewVisible,\n onChange: onPreviewVisibleChange\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n isShowPreview = _useMergedState2[0],\n setShowPreview = _useMergedState2[1];\n var _useStatus = useStatus({\n src: imgSrc,\n isCustomPlaceholder: isCustomPlaceholder,\n fallback: fallback\n }),\n _useStatus2 = _slicedToArray(_useStatus, 3),\n getImgRef = _useStatus2[0],\n srcAndOnload = _useStatus2[1],\n status = _useStatus2[2];\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n mousePosition = _useState2[0],\n setMousePosition = _useState2[1];\n var groupContext = useContext(PreviewGroupContext);\n var canPreview = !!preview;\n var onPreviewClose = function onPreviewClose() {\n setShowPreview(false);\n setMousePosition(null);\n };\n var wrapperClass = cn(prefixCls, wrapperClassName, rootClassName, _defineProperty({}, \"\".concat(prefixCls, \"-error\"), status === 'error'));\n\n // ========================= ImageProps =========================\n var imgCommonProps = useMemo(function () {\n var obj = {};\n COMMON_PROPS.forEach(function (prop) {\n if (props[prop] !== undefined) {\n obj[prop] = props[prop];\n }\n });\n return obj;\n }, COMMON_PROPS.map(function (prop) {\n return props[prop];\n }));\n\n // ========================== Register ==========================\n var registerData = useMemo(function () {\n return _objectSpread(_objectSpread({}, imgCommonProps), {}, {\n src: src\n });\n }, [src, imgCommonProps]);\n var imageId = useRegisterImage(canPreview, registerData);\n\n // ========================== Preview ===========================\n var onPreview = function onPreview(e) {\n var _getOffset = getOffset(e.target),\n left = _getOffset.left,\n top = _getOffset.top;\n if (groupContext) {\n groupContext.onPreview(imageId, src, left, top);\n } else {\n setMousePosition({\n x: left,\n y: top\n });\n setShowPreview(true);\n }\n onClick === null || onClick === void 0 || onClick(e);\n };\n\n // =========================== Render ===========================\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", _extends({}, otherProps, {\n className: wrapperClass,\n onClick: canPreview ? onPreview : onClick,\n style: _objectSpread({\n width: width,\n height: height\n }, wrapperStyle)\n }), /*#__PURE__*/React.createElement(\"img\", _extends({}, imgCommonProps, {\n className: cn(\"\".concat(prefixCls, \"-img\"), _defineProperty({}, \"\".concat(prefixCls, \"-img-placeholder\"), placeholder === true), className),\n style: _objectSpread({\n height: height\n }, style),\n ref: getImgRef\n }, srcAndOnload, {\n width: width,\n height: height,\n onError: onError\n })), status === 'loading' && /*#__PURE__*/React.createElement(\"div\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-placeholder\")\n }, placeholder), previewMask && canPreview && /*#__PURE__*/React.createElement(\"div\", {\n className: cn(\"\".concat(prefixCls, \"-mask\"), maskClassName),\n style: {\n display: (style === null || style === void 0 ? void 0 : style.display) === 'none' ? 'none' : undefined\n }\n }, previewMask)), !groupContext && canPreview && /*#__PURE__*/React.createElement(Preview, _extends({\n \"aria-hidden\": !isShowPreview,\n visible: isShowPreview,\n prefixCls: previewPrefixCls,\n onClose: onPreviewClose,\n mousePosition: mousePosition,\n src: src,\n alt: alt,\n imageInfo: {\n width: width,\n height: height\n },\n fallback: fallback,\n getContainer: getPreviewContainer,\n icons: icons,\n movable: movable,\n scaleStep: scaleStep,\n minScale: minScale,\n maxScale: maxScale,\n rootClassName: rootClassName,\n imageRender: imageRender,\n imgCommonProps: imgCommonProps,\n toolbarRender: toolbarRender\n }, dialogProps)));\n};\nImageInternal.PreviewGroup = PreviewGroup;\nif (process.env.NODE_ENV !== 'production') {\n ImageInternal.displayName = 'Image';\n}\nexport default ImageInternal;"],"names":["PreviewGroupContext","React.createContext","Operations","props","visible","maskTransitionName","getContainer","prefixCls","rootClassName","icons","countRender","showSwitch","showProgress","current","transform","count","scale","minScale","maxScale","closeIcon","onActive","onClose","onZoomIn","onZoomOut","onRotateRight","onRotateLeft","onFlipX","onFlipY","onReset","toolbarRender","zIndex","image","groupContext","useContext","rotateLeft","rotateRight","zoomIn","zoomOut","close","left","right","flipX","flipY","toolClassName","React.useEffect","onKeyDown","e","KeyCode","handleActive","offset","renderOperation","React.useCallback","_ref","type","disabled","onClick","icon","React.createElement","classnames","_defineProperty","switchPrevNode","switchNextNode","flipYNode","flipXNode","rotateLeftNode","rotateRightNode","zoomOutNode","zoomInNode","toolbarNode","CSSMotion","_ref2","className","style","Portal","_objectSpread","React.Fragment","initialTransform","useImageTransform","imgRef","onTransform","frame","useRef","queue","_useState","useState","_useState2","_slicedToArray","setTransform","resetTransform","action","isEqual","updateTransform","newTransform","raf","preState","memoState","queueState","dispatchZoomChange","ratio","centerX","centerY","isTouch","_imgRef$current","width","height","offsetWidth","offsetHeight","offsetLeft","offsetTop","newRatio","newScale","mergedCenterX","mergedCenterY","diffRatio","diffImgX","diffImgY","diffOffsetLeft","diffOffsetTop","newX","newY","mergedWidth","mergedHeight","_getClientSize","getClientSize","clientWidth","clientHeight","fixPoint","key","start","startAddWidth","offsetStart","getFixScaleEleTransPosition","top","fixPos","BASE_SCALE_RATIO","WHEEL_MAX_SCALE_RATIO","useMouseEvent","movable","scaleStep","rotate","x","y","isMoving","setMoving","startPositionInfo","onMouseDown","event","onMouseMove","onMouseUp","_startPositionInfo$cu","transformX","transformY","hasChangedPosition","_imgRef$current$getBo","isRotate","fixState","onWheel","scaleRatio","mergedScaleRatio","useEffect","onTopMouseUpListener","onTopMouseMoveListener","onMouseUpListener","onMouseMoveListener","addEventListener","_onMouseUpListener","_onMouseMoveListener","_onTopMouseUpListener","_onTopMouseMoveListen","isImageValid","src","resolve","img","useStatus","isCustomPlaceholder","fallback","status","setStatus","isLoaded","isError","isCurrentSrc","isValid","onLoad","getImgRef","srcAndOnload","getDistance","a","b","getCenter","oldPoint1","oldPoint2","newPoint1","newPoint2","distance1","distance2","useTouchEvent","isTouching","setIsTouching","touchPointInfo","updateTouchPointInfo","values","onTouchStart","_event$touches","touches","onTouchMove","_event$touches2","_touchPointInfo$curre","point1","point2","eventType","_getCenter","_getCenter2","onTouchEnd","onTouchMoveListener","_onTouchMoveListener","_excluded","_excluded2","PreviewImage","_objectWithoutProperties","_useStatus","_useStatus2","React","_extends","Preview","alt","imageInfo","_props$movable","_props$icons","_props$current","_props$count","_props$scaleStep","_props$minScale","_props$maxScale","_props$transitionName","transitionName","_props$maskTransition","imageRender","imgCommonProps","onChange","restProps","showLeftOrRightSwitches","showOperationsProgress","enableTransition","setEnableTransition","_useImageTransform","_useMouseEvent","_useTouchEvent","wrapClassName","onAfterClose","position","onDoubleClick","onKeyDownListener","imgNode","Dialog","COMMON_PROPS","usePreviewItems","items","_React$useState","React.useState","_React$useState2","images","setImages","registerImage","id","data","imgs","cloneImgs","mergedItems","React.useMemo","item","_toConsumableArray","total","_images$id","canPreview","Group","_mergedItems$current","_ref$previewPrefixCls","previewPrefixCls","children","_ref$icons","preview","_typeof","previewVisible","onVisibleChange","currentIndex","dialogProps","_usePreviewItems","_usePreviewItems2","register","fromItems","_useMergedState","useMergedState","_useMergedState2","setCurrent","keepOpenIndex","setKeepOpenIndex","_ref3","_useMergedState3","val","prevVal","_useMergedState4","isShowPreview","setShowPreview","_useState3","_useState4","mousePosition","setMousePosition","onPreviewFromImage","imageSrc","mouseX","mouseY","index","onInternalChange","next","prev","onPreviewClose","previewGroupContext","uid","useRegisterImage","React.useContext","registerData","ImageInternal","imgSrc","onInitialPreviewClose","_props$prefixCls","_props$previewPrefixC","placeholder","_props$preview","onError","wrapperClassName","wrapperStyle","otherProps","previewSrc","_ref$visible","_ref$onVisibleChange","onPreviewVisibleChange","_ref$getContainer","getPreviewContainer","previewMask","maskClassName","wrapperClass","cn","useMemo","obj","prop","imageId","onPreview","_getOffset","getOffset","PreviewGroup"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}