add all frontend files

This commit is contained in:
2026-01-17 15:16:36 -05:00
parent ff16ae7858
commit e40287e4aa
25704 changed files with 1935289 additions and 0 deletions

53
node_modules/rc-image/lib/Image.d.ts generated vendored Normal file
View File

@@ -0,0 +1,53 @@
import type { IDialogPropTypes } from 'rc-dialog/lib/IDialogPropTypes';
import type { GetContainer } from 'rc-util/lib/PortalWrapper';
import * as React from 'react';
import type { PreviewProps, ToolbarRenderInfoType } from './Preview';
import PreviewGroup from './PreviewGroup';
import type { TransformType } from './hooks/useImageTransform';
export interface ImgInfo {
url: string;
alt: string;
width: string | number;
height: string | number;
}
export interface ImagePreviewType extends Omit<IDialogPropTypes, 'mask' | 'visible' | 'closable' | 'prefixCls' | 'onClose' | 'afterClose' | 'wrapClassName'> {
src?: string;
visible?: boolean;
minScale?: number;
maxScale?: number;
onVisibleChange?: (value: boolean, prevValue: boolean) => void;
getContainer?: GetContainer | false;
mask?: React.ReactNode;
maskClassName?: string;
icons?: PreviewProps['icons'];
scaleStep?: number;
movable?: boolean;
imageRender?: (originalNode: React.ReactElement, info: {
transform: TransformType;
image: ImgInfo;
}) => React.ReactNode;
onTransform?: PreviewProps['onTransform'];
toolbarRender?: (originalNode: React.ReactElement, info: Omit<ToolbarRenderInfoType, 'current' | 'total'>) => React.ReactNode;
}
export interface ImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'placeholder' | 'onClick'> {
src?: string;
wrapperClassName?: string;
wrapperStyle?: React.CSSProperties;
prefixCls?: string;
previewPrefixCls?: string;
placeholder?: React.ReactNode;
fallback?: string;
rootClassName?: string;
preview?: boolean | ImagePreviewType;
/**
* @deprecated since version 3.2.1
*/
onPreviewClose?: (value: boolean, prevValue: boolean) => void;
onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
onError?: (e: React.SyntheticEvent<HTMLImageElement, Event>) => void;
}
interface CompoundedComponent<P> extends React.FC<P> {
PreviewGroup: typeof PreviewGroup;
}
declare const ImageInternal: CompoundedComponent<ImageProps>;
export default ImageInternal;

193
node_modules/rc-image/lib/Image.js generated vendored Normal file
View File

@@ -0,0 +1,193 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof3 = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classnames = _interopRequireDefault(require("classnames"));
var _css = require("rc-util/lib/Dom/css");
var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
var _react = _interopRequireWildcard(require("react"));
var React = _react;
var _Preview = _interopRequireDefault(require("./Preview"));
var _PreviewGroup = _interopRequireDefault(require("./PreviewGroup"));
var _common = require("./common");
var _context = require("./context");
var _useRegisterImage = _interopRequireDefault(require("./hooks/useRegisterImage"));
var _useStatus3 = _interopRequireDefault(require("./hooks/useStatus"));
var _excluded = ["src", "alt", "onPreviewClose", "prefixCls", "previewPrefixCls", "placeholder", "fallback", "width", "height", "style", "preview", "className", "onClick", "onError", "wrapperClassName", "wrapperStyle", "rootClassName"],
_excluded2 = ["src", "visible", "onVisibleChange", "getContainer", "mask", "maskClassName", "movable", "icons", "scaleStep", "minScale", "maxScale", "imageRender", "toolbarRender"];
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var ImageInternal = function ImageInternal(props) {
var imgSrc = props.src,
alt = props.alt,
onInitialPreviewClose = props.onPreviewClose,
_props$prefixCls = props.prefixCls,
prefixCls = _props$prefixCls === void 0 ? 'rc-image' : _props$prefixCls,
_props$previewPrefixC = props.previewPrefixCls,
previewPrefixCls = _props$previewPrefixC === void 0 ? "".concat(prefixCls, "-preview") : _props$previewPrefixC,
placeholder = props.placeholder,
fallback = props.fallback,
width = props.width,
height = props.height,
style = props.style,
_props$preview = props.preview,
preview = _props$preview === void 0 ? true : _props$preview,
className = props.className,
onClick = props.onClick,
onError = props.onError,
wrapperClassName = props.wrapperClassName,
wrapperStyle = props.wrapperStyle,
rootClassName = props.rootClassName,
otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var isCustomPlaceholder = placeholder && placeholder !== true;
var _ref = (0, _typeof2.default)(preview) === 'object' ? preview : {},
previewSrc = _ref.src,
_ref$visible = _ref.visible,
previewVisible = _ref$visible === void 0 ? undefined : _ref$visible,
_ref$onVisibleChange = _ref.onVisibleChange,
onPreviewVisibleChange = _ref$onVisibleChange === void 0 ? onInitialPreviewClose : _ref$onVisibleChange,
_ref$getContainer = _ref.getContainer,
getPreviewContainer = _ref$getContainer === void 0 ? undefined : _ref$getContainer,
previewMask = _ref.mask,
maskClassName = _ref.maskClassName,
movable = _ref.movable,
icons = _ref.icons,
scaleStep = _ref.scaleStep,
minScale = _ref.minScale,
maxScale = _ref.maxScale,
imageRender = _ref.imageRender,
toolbarRender = _ref.toolbarRender,
dialogProps = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
var src = previewSrc !== null && previewSrc !== void 0 ? previewSrc : imgSrc;
var _useMergedState = (0, _useMergedState3.default)(!!previewVisible, {
value: previewVisible,
onChange: onPreviewVisibleChange
}),
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
isShowPreview = _useMergedState2[0],
setShowPreview = _useMergedState2[1];
var _useStatus = (0, _useStatus3.default)({
src: imgSrc,
isCustomPlaceholder: isCustomPlaceholder,
fallback: fallback
}),
_useStatus2 = (0, _slicedToArray2.default)(_useStatus, 3),
getImgRef = _useStatus2[0],
srcAndOnload = _useStatus2[1],
status = _useStatus2[2];
var _useState = (0, _react.useState)(null),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
mousePosition = _useState2[0],
setMousePosition = _useState2[1];
var groupContext = (0, _react.useContext)(_context.PreviewGroupContext);
var canPreview = !!preview;
var onPreviewClose = function onPreviewClose() {
setShowPreview(false);
setMousePosition(null);
};
var wrapperClass = (0, _classnames.default)(prefixCls, wrapperClassName, rootClassName, (0, _defineProperty2.default)({}, "".concat(prefixCls, "-error"), status === 'error'));
// ========================= ImageProps =========================
var imgCommonProps = (0, _react.useMemo)(function () {
var obj = {};
_common.COMMON_PROPS.forEach(function (prop) {
if (props[prop] !== undefined) {
obj[prop] = props[prop];
}
});
return obj;
}, _common.COMMON_PROPS.map(function (prop) {
return props[prop];
}));
// ========================== Register ==========================
var registerData = (0, _react.useMemo)(function () {
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, imgCommonProps), {}, {
src: src
});
}, [src, imgCommonProps]);
var imageId = (0, _useRegisterImage.default)(canPreview, registerData);
// ========================== Preview ===========================
var onPreview = function onPreview(e) {
var _getOffset = (0, _css.getOffset)(e.target),
left = _getOffset.left,
top = _getOffset.top;
if (groupContext) {
groupContext.onPreview(imageId, src, left, top);
} else {
setMousePosition({
x: left,
y: top
});
setShowPreview(true);
}
onClick === null || onClick === void 0 || onClick(e);
};
// =========================== Render ===========================
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, otherProps, {
className: wrapperClass,
onClick: canPreview ? onPreview : onClick,
style: (0, _objectSpread2.default)({
width: width,
height: height
}, wrapperStyle)
}), /*#__PURE__*/React.createElement("img", (0, _extends2.default)({}, imgCommonProps, {
className: (0, _classnames.default)("".concat(prefixCls, "-img"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-img-placeholder"), placeholder === true), className),
style: (0, _objectSpread2.default)({
height: height
}, style),
ref: getImgRef
}, srcAndOnload, {
width: width,
height: height,
onError: onError
})), status === 'loading' && /*#__PURE__*/React.createElement("div", {
"aria-hidden": "true",
className: "".concat(prefixCls, "-placeholder")
}, placeholder), previewMask && canPreview && /*#__PURE__*/React.createElement("div", {
className: (0, _classnames.default)("".concat(prefixCls, "-mask"), maskClassName),
style: {
display: (style === null || style === void 0 ? void 0 : style.display) === 'none' ? 'none' : undefined
}
}, previewMask)), !groupContext && canPreview && /*#__PURE__*/React.createElement(_Preview.default, (0, _extends2.default)({
"aria-hidden": !isShowPreview,
visible: isShowPreview,
prefixCls: previewPrefixCls,
onClose: onPreviewClose,
mousePosition: mousePosition,
src: src,
alt: alt,
imageInfo: {
width: width,
height: height
},
fallback: fallback,
getContainer: getPreviewContainer,
icons: icons,
movable: movable,
scaleStep: scaleStep,
minScale: minScale,
maxScale: maxScale,
rootClassName: rootClassName,
imageRender: imageRender,
imgCommonProps: imgCommonProps,
toolbarRender: toolbarRender
}, dialogProps)));
};
ImageInternal.PreviewGroup = _PreviewGroup.default;
if (process.env.NODE_ENV !== 'production') {
ImageInternal.displayName = 'Image';
}
var _default = exports.default = ImageInternal;

27
node_modules/rc-image/lib/Operations.d.ts generated vendored Normal file
View File

@@ -0,0 +1,27 @@
import * as React from 'react';
import type { ImgInfo } from './Image';
import type { PreviewProps, ToolbarRenderInfoType } from './Preview';
import type { TransformType } from './hooks/useImageTransform';
interface OperationsProps extends Pick<PreviewProps, 'visible' | 'maskTransitionName' | 'getContainer' | 'prefixCls' | 'rootClassName' | 'icons' | 'countRender' | 'closeIcon' | 'onClose'> {
showSwitch: boolean;
showProgress: boolean;
current: number;
transform: TransformType;
count: number;
scale: number;
minScale: number;
maxScale: number;
onActive: (offset: number) => void;
onZoomIn: () => void;
onZoomOut: () => void;
onRotateRight: () => void;
onRotateLeft: () => void;
onFlipX: () => void;
onFlipY: () => void;
onReset: () => void;
toolbarRender: (originalNode: React.ReactElement, info: ToolbarRenderInfoType | Omit<ToolbarRenderInfoType, 'current' | 'total'>) => React.ReactNode;
zIndex?: number;
image?: ImgInfo;
}
declare const Operations: React.FC<OperationsProps>;
export default Operations;

202
node_modules/rc-image/lib/Operations.js generated vendored Normal file
View File

@@ -0,0 +1,202 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _portal = _interopRequireDefault(require("@rc-component/portal"));
var _classnames4 = _interopRequireDefault(require("classnames"));
var _rcMotion = _interopRequireDefault(require("rc-motion"));
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
var _react = _interopRequireWildcard(require("react"));
var React = _react;
var _context = require("./context");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var Operations = function Operations(props) {
var visible = props.visible,
maskTransitionName = props.maskTransitionName,
getContainer = props.getContainer,
prefixCls = props.prefixCls,
rootClassName = props.rootClassName,
icons = props.icons,
countRender = props.countRender,
showSwitch = props.showSwitch,
showProgress = props.showProgress,
current = props.current,
transform = props.transform,
count = props.count,
scale = props.scale,
minScale = props.minScale,
maxScale = props.maxScale,
closeIcon = props.closeIcon,
onActive = props.onActive,
onClose = props.onClose,
onZoomIn = props.onZoomIn,
onZoomOut = props.onZoomOut,
onRotateRight = props.onRotateRight,
onRotateLeft = props.onRotateLeft,
onFlipX = props.onFlipX,
onFlipY = props.onFlipY,
onReset = props.onReset,
toolbarRender = props.toolbarRender,
zIndex = props.zIndex,
image = props.image;
var groupContext = (0, _react.useContext)(_context.PreviewGroupContext);
var rotateLeft = icons.rotateLeft,
rotateRight = icons.rotateRight,
zoomIn = icons.zoomIn,
zoomOut = icons.zoomOut,
close = icons.close,
left = icons.left,
right = icons.right,
flipX = icons.flipX,
flipY = icons.flipY;
var toolClassName = "".concat(prefixCls, "-operations-operation");
React.useEffect(function () {
var onKeyDown = function onKeyDown(e) {
if (e.keyCode === _KeyCode.default.ESC) {
onClose();
}
};
if (visible) {
window.addEventListener('keydown', onKeyDown);
}
return function () {
window.removeEventListener('keydown', onKeyDown);
};
}, [visible]);
var handleActive = function handleActive(e, offset) {
e.preventDefault();
e.stopPropagation();
onActive(offset);
};
var renderOperation = React.useCallback(function (_ref) {
var type = _ref.type,
disabled = _ref.disabled,
onClick = _ref.onClick,
icon = _ref.icon;
return /*#__PURE__*/React.createElement("div", {
key: type,
className: (0, _classnames4.default)(toolClassName, "".concat(prefixCls, "-operations-operation-").concat(type), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-operations-operation-disabled"), !!disabled)),
onClick: onClick
}, icon);
}, [toolClassName, prefixCls]);
var switchPrevNode = showSwitch ? renderOperation({
icon: left,
onClick: function onClick(e) {
return handleActive(e, -1);
},
type: 'prev',
disabled: current === 0
}) : undefined;
var switchNextNode = showSwitch ? renderOperation({
icon: right,
onClick: function onClick(e) {
return handleActive(e, 1);
},
type: 'next',
disabled: current === count - 1
}) : undefined;
var flipYNode = renderOperation({
icon: flipY,
onClick: onFlipY,
type: 'flipY'
});
var flipXNode = renderOperation({
icon: flipX,
onClick: onFlipX,
type: 'flipX'
});
var rotateLeftNode = renderOperation({
icon: rotateLeft,
onClick: onRotateLeft,
type: 'rotateLeft'
});
var rotateRightNode = renderOperation({
icon: rotateRight,
onClick: onRotateRight,
type: 'rotateRight'
});
var zoomOutNode = renderOperation({
icon: zoomOut,
onClick: onZoomOut,
type: 'zoomOut',
disabled: scale <= minScale
});
var zoomInNode = renderOperation({
icon: zoomIn,
onClick: onZoomIn,
type: 'zoomIn',
disabled: scale === maxScale
});
var toolbarNode = /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-operations")
}, flipYNode, flipXNode, rotateLeftNode, rotateRightNode, zoomOutNode, zoomInNode);
return /*#__PURE__*/React.createElement(_rcMotion.default, {
visible: visible,
motionName: maskTransitionName
}, function (_ref2) {
var className = _ref2.className,
style = _ref2.style;
return /*#__PURE__*/React.createElement(_portal.default, {
open: true,
getContainer: getContainer !== null && getContainer !== void 0 ? getContainer : document.body
}, /*#__PURE__*/React.createElement("div", {
className: (0, _classnames4.default)("".concat(prefixCls, "-operations-wrapper"), className, rootClassName),
style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, style), {}, {
zIndex: zIndex
})
}, closeIcon === null ? null : /*#__PURE__*/React.createElement("button", {
className: "".concat(prefixCls, "-close"),
onClick: onClose
}, closeIcon || close), showSwitch && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
className: (0, _classnames4.default)("".concat(prefixCls, "-switch-left"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-switch-left-disabled"), current === 0)),
onClick: function onClick(e) {
return handleActive(e, -1);
}
}, left), /*#__PURE__*/React.createElement("div", {
className: (0, _classnames4.default)("".concat(prefixCls, "-switch-right"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-switch-right-disabled"), current === count - 1)),
onClick: function onClick(e) {
return handleActive(e, 1);
}
}, right)), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-footer")
}, showProgress && /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-progress")
}, countRender ? countRender(current + 1, count) : /*#__PURE__*/React.createElement("bdi", null, "".concat(current + 1, " / ").concat(count))), toolbarRender ? toolbarRender(toolbarNode, (0, _objectSpread2.default)((0, _objectSpread2.default)({
icons: {
prevIcon: switchPrevNode,
nextIcon: switchNextNode,
flipYIcon: flipYNode,
flipXIcon: flipXNode,
rotateLeftIcon: rotateLeftNode,
rotateRightIcon: rotateRightNode,
zoomOutIcon: zoomOutNode,
zoomInIcon: zoomInNode
},
actions: {
onActive: onActive,
onFlipY: onFlipY,
onFlipX: onFlipX,
onRotateLeft: onRotateLeft,
onRotateRight: onRotateRight,
onZoomOut: onZoomOut,
onZoomIn: onZoomIn,
onReset: onReset,
onClose: onClose
},
transform: transform
}, groupContext ? {
current: current,
total: count
} : {}), {}, {
image: image
})) : toolbarNode)));
});
};
var _default = exports.default = Operations;

75
node_modules/rc-image/lib/Preview.d.ts generated vendored Normal file
View File

@@ -0,0 +1,75 @@
import type { DialogProps as IDialogPropTypes } from 'rc-dialog';
import React from 'react';
import type { ImgInfo } from './Image';
import type { TransformAction, TransformType } from './hooks/useImageTransform';
export type ToolbarRenderInfoType = {
icons: {
prevIcon?: React.ReactNode;
nextIcon?: React.ReactNode;
flipYIcon: React.ReactNode;
flipXIcon: React.ReactNode;
rotateLeftIcon: React.ReactNode;
rotateRightIcon: React.ReactNode;
zoomOutIcon: React.ReactNode;
zoomInIcon: React.ReactNode;
};
actions: {
onActive?: (offset: number) => void;
onFlipY: () => void;
onFlipX: () => void;
onRotateLeft: () => void;
onRotateRight: () => void;
onZoomOut: () => void;
onZoomIn: () => void;
onClose: () => void;
onReset: () => void;
};
transform: TransformType;
current: number;
total: number;
image: ImgInfo;
};
export interface PreviewProps extends Omit<IDialogPropTypes, 'onClose'> {
imgCommonProps?: React.ImgHTMLAttributes<HTMLImageElement>;
src?: string;
alt?: string;
imageInfo?: {
width: number | string;
height: number | string;
};
fallback?: string;
movable?: boolean;
rootClassName?: string;
icons?: {
rotateLeft?: React.ReactNode;
rotateRight?: React.ReactNode;
zoomIn?: React.ReactNode;
zoomOut?: React.ReactNode;
close?: React.ReactNode;
left?: React.ReactNode;
right?: React.ReactNode;
flipX?: React.ReactNode;
flipY?: React.ReactNode;
};
current?: number;
count?: number;
closeIcon?: React.ReactNode;
countRender?: (current: number, total: number) => React.ReactNode;
scaleStep?: number;
minScale?: number;
maxScale?: number;
imageRender?: (originalNode: React.ReactElement, info: {
transform: TransformType;
current?: number;
image?: ImgInfo;
}) => React.ReactNode;
onClose?: () => void;
onTransform?: (info: {
transform: TransformType;
action: TransformAction;
}) => void;
toolbarRender?: (originalNode: React.ReactElement, info: ToolbarRenderInfoType) => React.ReactNode;
onChange?: (current: any, prev: any) => void;
}
declare const Preview: React.FC<PreviewProps>;
export default Preview;

260
node_modules/rc-image/lib/Preview.js generated vendored Normal file
View File

@@ -0,0 +1,260 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classnames2 = _interopRequireDefault(require("classnames"));
var _rcDialog = _interopRequireDefault(require("rc-dialog"));
var _addEventListener = _interopRequireDefault(require("rc-util/lib/Dom/addEventListener"));
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
var _react = _interopRequireWildcard(require("react"));
var _Operations = _interopRequireDefault(require("./Operations"));
var _context = require("./context");
var _useImageTransform2 = _interopRequireDefault(require("./hooks/useImageTransform"));
var _useMouseEvent2 = _interopRequireDefault(require("./hooks/useMouseEvent"));
var _useStatus3 = _interopRequireDefault(require("./hooks/useStatus"));
var _useTouchEvent2 = _interopRequireDefault(require("./hooks/useTouchEvent"));
var _previewConfig = require("./previewConfig");
var _excluded = ["fallback", "src", "imgRef"],
_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"];
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var PreviewImage = function PreviewImage(_ref) {
var fallback = _ref.fallback,
src = _ref.src,
imgRef = _ref.imgRef,
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
var _useStatus = (0, _useStatus3.default)({
src: src,
fallback: fallback
}),
_useStatus2 = (0, _slicedToArray2.default)(_useStatus, 2),
getImgRef = _useStatus2[0],
srcAndOnload = _useStatus2[1];
return /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
ref: function ref(_ref2) {
imgRef.current = _ref2;
getImgRef(_ref2);
}
}, props, srcAndOnload));
};
var Preview = function Preview(props) {
var prefixCls = props.prefixCls,
src = props.src,
alt = props.alt,
imageInfo = props.imageInfo,
fallback = props.fallback,
_props$movable = props.movable,
movable = _props$movable === void 0 ? true : _props$movable,
onClose = props.onClose,
visible = props.visible,
_props$icons = props.icons,
icons = _props$icons === void 0 ? {} : _props$icons,
rootClassName = props.rootClassName,
closeIcon = props.closeIcon,
getContainer = props.getContainer,
_props$current = props.current,
current = _props$current === void 0 ? 0 : _props$current,
_props$count = props.count,
count = _props$count === void 0 ? 1 : _props$count,
countRender = props.countRender,
_props$scaleStep = props.scaleStep,
scaleStep = _props$scaleStep === void 0 ? 0.5 : _props$scaleStep,
_props$minScale = props.minScale,
minScale = _props$minScale === void 0 ? 1 : _props$minScale,
_props$maxScale = props.maxScale,
maxScale = _props$maxScale === void 0 ? 50 : _props$maxScale,
_props$transitionName = props.transitionName,
transitionName = _props$transitionName === void 0 ? 'zoom' : _props$transitionName,
_props$maskTransition = props.maskTransitionName,
maskTransitionName = _props$maskTransition === void 0 ? 'fade' : _props$maskTransition,
imageRender = props.imageRender,
imgCommonProps = props.imgCommonProps,
toolbarRender = props.toolbarRender,
onTransform = props.onTransform,
onChange = props.onChange,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
var imgRef = (0, _react.useRef)();
var groupContext = (0, _react.useContext)(_context.PreviewGroupContext);
var showLeftOrRightSwitches = groupContext && count > 1;
var showOperationsProgress = groupContext && count >= 1;
var _useState = (0, _react.useState)(true),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
enableTransition = _useState2[0],
setEnableTransition = _useState2[1];
var _useImageTransform = (0, _useImageTransform2.default)(imgRef, minScale, maxScale, onTransform),
transform = _useImageTransform.transform,
resetTransform = _useImageTransform.resetTransform,
updateTransform = _useImageTransform.updateTransform,
dispatchZoomChange = _useImageTransform.dispatchZoomChange;
var _useMouseEvent = (0, _useMouseEvent2.default)(imgRef, movable, visible, scaleStep, transform, updateTransform, dispatchZoomChange),
isMoving = _useMouseEvent.isMoving,
onMouseDown = _useMouseEvent.onMouseDown,
onWheel = _useMouseEvent.onWheel;
var _useTouchEvent = (0, _useTouchEvent2.default)(imgRef, movable, visible, minScale, transform, updateTransform, dispatchZoomChange),
isTouching = _useTouchEvent.isTouching,
onTouchStart = _useTouchEvent.onTouchStart,
onTouchMove = _useTouchEvent.onTouchMove,
onTouchEnd = _useTouchEvent.onTouchEnd;
var rotate = transform.rotate,
scale = transform.scale;
var wrapClassName = (0, _classnames2.default)((0, _defineProperty2.default)({}, "".concat(prefixCls, "-moving"), isMoving));
(0, _react.useEffect)(function () {
if (!enableTransition) {
setEnableTransition(true);
}
}, [enableTransition]);
var onAfterClose = function onAfterClose() {
resetTransform('close');
};
var onZoomIn = function onZoomIn() {
dispatchZoomChange(_previewConfig.BASE_SCALE_RATIO + scaleStep, 'zoomIn');
};
var onZoomOut = function onZoomOut() {
dispatchZoomChange(_previewConfig.BASE_SCALE_RATIO / (_previewConfig.BASE_SCALE_RATIO + scaleStep), 'zoomOut');
};
var onRotateRight = function onRotateRight() {
updateTransform({
rotate: rotate + 90
}, 'rotateRight');
};
var onRotateLeft = function onRotateLeft() {
updateTransform({
rotate: rotate - 90
}, 'rotateLeft');
};
var onFlipX = function onFlipX() {
updateTransform({
flipX: !transform.flipX
}, 'flipX');
};
var onFlipY = function onFlipY() {
updateTransform({
flipY: !transform.flipY
}, 'flipY');
};
var onReset = function onReset() {
resetTransform('reset');
};
var onActive = function onActive(offset) {
var position = current + offset;
if (!Number.isInteger(position) || position < 0 || position > count - 1) {
return;
}
setEnableTransition(false);
resetTransform(offset < 0 ? 'prev' : 'next');
onChange === null || onChange === void 0 || onChange(position, current);
};
var onKeyDown = function onKeyDown(event) {
if (!visible || !showLeftOrRightSwitches) return;
if (event.keyCode === _KeyCode.default.LEFT) {
onActive(-1);
} else if (event.keyCode === _KeyCode.default.RIGHT) {
onActive(1);
}
};
var onDoubleClick = function onDoubleClick(event) {
if (visible) {
if (scale !== 1) {
updateTransform({
x: 0,
y: 0,
scale: 1
}, 'doubleClick');
} else {
dispatchZoomChange(_previewConfig.BASE_SCALE_RATIO + scaleStep, 'doubleClick', event.clientX, event.clientY);
}
}
};
(0, _react.useEffect)(function () {
var onKeyDownListener = (0, _addEventListener.default)(window, 'keydown', onKeyDown, false);
return function () {
onKeyDownListener.remove();
};
}, [visible, showLeftOrRightSwitches, current]);
var imgNode = /*#__PURE__*/_react.default.createElement(PreviewImage, (0, _extends2.default)({}, imgCommonProps, {
width: props.width,
height: props.height,
imgRef: imgRef,
className: "".concat(prefixCls, "-img"),
alt: alt,
style: {
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)"),
transitionDuration: (!enableTransition || isTouching) && '0s'
},
fallback: fallback,
src: src,
onWheel: onWheel,
onMouseDown: onMouseDown,
onDoubleClick: onDoubleClick,
onTouchStart: onTouchStart,
onTouchMove: onTouchMove,
onTouchEnd: onTouchEnd,
onTouchCancel: onTouchEnd
}));
var image = (0, _objectSpread2.default)({
url: src,
alt: alt
}, imageInfo);
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_rcDialog.default, (0, _extends2.default)({
transitionName: transitionName,
maskTransitionName: maskTransitionName,
closable: false,
keyboard: true,
prefixCls: prefixCls,
onClose: onClose,
visible: visible,
classNames: {
wrapper: wrapClassName
},
rootClassName: rootClassName,
getContainer: getContainer
}, restProps, {
afterClose: onAfterClose
}), /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(prefixCls, "-img-wrapper")
}, imageRender ? imageRender(imgNode, (0, _objectSpread2.default)({
transform: transform,
image: image
}, groupContext ? {
current: current
} : {})) : imgNode)), /*#__PURE__*/_react.default.createElement(_Operations.default, {
visible: visible,
transform: transform,
maskTransitionName: maskTransitionName,
closeIcon: closeIcon,
getContainer: getContainer,
prefixCls: prefixCls,
rootClassName: rootClassName,
icons: icons,
countRender: countRender,
showSwitch: showLeftOrRightSwitches,
showProgress: showOperationsProgress,
current: current,
count: count,
scale: scale,
minScale: minScale,
maxScale: maxScale,
toolbarRender: toolbarRender,
onActive: onActive,
onZoomIn: onZoomIn,
onZoomOut: onZoomOut,
onRotateRight: onRotateRight,
onRotateLeft: onRotateLeft,
onFlipX: onFlipX,
onFlipY: onFlipY,
onClose: onClose,
onReset: onReset,
zIndex: restProps.zIndex !== undefined ? restProps.zIndex + 1 : undefined,
image: image
}));
};
var _default = exports.default = Preview;

31
node_modules/rc-image/lib/PreviewGroup.d.ts generated vendored Normal file
View File

@@ -0,0 +1,31 @@
import * as React from 'react';
import type { ImgInfo, ImagePreviewType } from './Image';
import type { PreviewProps, ToolbarRenderInfoType } from './Preview';
import type { TransformType } from './hooks/useImageTransform';
import type { ImageElementProps } from './interface';
export interface PreviewGroupPreview extends Omit<ImagePreviewType, 'mask' | 'maskClassName' | 'onVisibleChange' | 'toolbarRender' | 'imageRender'> {
/**
* If Preview the show img index
* @default 0
*/
current?: number;
countRender?: (current: number, total: number) => React.ReactNode;
toolbarRender?: (originalNode: React.ReactElement, info: ToolbarRenderInfoType) => React.ReactNode;
imageRender?: (originalNode: React.ReactElement, info: {
transform: TransformType;
current: number;
image: ImgInfo;
}) => React.ReactNode;
onVisibleChange?: (value: boolean, prevValue: boolean, current: number) => void;
onChange?: (current: number, prevCurrent: number) => void;
}
export interface GroupConsumerProps {
previewPrefixCls?: string;
icons?: PreviewProps['icons'];
items?: (string | ImageElementProps)[];
fallback?: string;
preview?: boolean | PreviewGroupPreview;
children?: React.ReactNode;
}
declare const Group: React.FC<GroupConsumerProps>;
export default Group;

160
node_modules/rc-image/lib/PreviewGroup.js generated vendored Normal file
View File

@@ -0,0 +1,160 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof3 = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _useMergedState5 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
var _react = _interopRequireWildcard(require("react"));
var React = _react;
var _Preview = _interopRequireDefault(require("./Preview"));
var _context = require("./context");
var _usePreviewItems3 = _interopRequireDefault(require("./hooks/usePreviewItems"));
var _excluded = ["visible", "onVisibleChange", "getContainer", "current", "movable", "minScale", "maxScale", "countRender", "closeIcon", "onChange", "onTransform", "toolbarRender", "imageRender"],
_excluded2 = ["src"];
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var Group = function Group(_ref) {
var _mergedItems$current;
var _ref$previewPrefixCls = _ref.previewPrefixCls,
previewPrefixCls = _ref$previewPrefixCls === void 0 ? 'rc-image-preview' : _ref$previewPrefixCls,
children = _ref.children,
_ref$icons = _ref.icons,
icons = _ref$icons === void 0 ? {} : _ref$icons,
items = _ref.items,
preview = _ref.preview,
fallback = _ref.fallback;
var _ref2 = (0, _typeof2.default)(preview) === 'object' ? preview : {},
previewVisible = _ref2.visible,
onVisibleChange = _ref2.onVisibleChange,
getContainer = _ref2.getContainer,
currentIndex = _ref2.current,
movable = _ref2.movable,
minScale = _ref2.minScale,
maxScale = _ref2.maxScale,
countRender = _ref2.countRender,
closeIcon = _ref2.closeIcon,
onChange = _ref2.onChange,
onTransform = _ref2.onTransform,
toolbarRender = _ref2.toolbarRender,
imageRender = _ref2.imageRender,
dialogProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
// ========================== Items ===========================
var _usePreviewItems = (0, _usePreviewItems3.default)(items),
_usePreviewItems2 = (0, _slicedToArray2.default)(_usePreviewItems, 3),
mergedItems = _usePreviewItems2[0],
register = _usePreviewItems2[1],
fromItems = _usePreviewItems2[2];
// ========================= Preview ==========================
// >>> Index
var _useMergedState = (0, _useMergedState5.default)(0, {
value: currentIndex
}),
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
current = _useMergedState2[0],
setCurrent = _useMergedState2[1];
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
keepOpenIndex = _useState2[0],
setKeepOpenIndex = _useState2[1];
// >>> Image
var _ref3 = ((_mergedItems$current = mergedItems[current]) === null || _mergedItems$current === void 0 ? void 0 : _mergedItems$current.data) || {},
src = _ref3.src,
imgCommonProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
// >>> Visible
var _useMergedState3 = (0, _useMergedState5.default)(!!previewVisible, {
value: previewVisible,
onChange: function onChange(val, prevVal) {
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(val, prevVal, current);
}
}),
_useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
isShowPreview = _useMergedState4[0],
setShowPreview = _useMergedState4[1];
// >>> Position
var _useState3 = (0, _react.useState)(null),
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
mousePosition = _useState4[0],
setMousePosition = _useState4[1];
var onPreviewFromImage = React.useCallback(function (id, imageSrc, mouseX, mouseY) {
var index = fromItems ? mergedItems.findIndex(function (item) {
return item.data.src === imageSrc;
}) : mergedItems.findIndex(function (item) {
return item.id === id;
});
setCurrent(index < 0 ? 0 : index);
setShowPreview(true);
setMousePosition({
x: mouseX,
y: mouseY
});
setKeepOpenIndex(true);
}, [mergedItems, fromItems]);
// Reset current when reopen
React.useEffect(function () {
if (isShowPreview) {
if (!keepOpenIndex) {
setCurrent(0);
}
} else {
setKeepOpenIndex(false);
}
}, [isShowPreview]);
// ========================== Events ==========================
var onInternalChange = function onInternalChange(next, prev) {
setCurrent(next);
onChange === null || onChange === void 0 || onChange(next, prev);
};
var onPreviewClose = function onPreviewClose() {
setShowPreview(false);
setMousePosition(null);
};
// ========================= Context ==========================
var previewGroupContext = React.useMemo(function () {
return {
register: register,
onPreview: onPreviewFromImage
};
}, [register, onPreviewFromImage]);
// ========================== Render ==========================
return /*#__PURE__*/React.createElement(_context.PreviewGroupContext.Provider, {
value: previewGroupContext
}, children, /*#__PURE__*/React.createElement(_Preview.default, (0, _extends2.default)({
"aria-hidden": !isShowPreview,
movable: movable,
visible: isShowPreview,
prefixCls: previewPrefixCls,
closeIcon: closeIcon,
onClose: onPreviewClose,
mousePosition: mousePosition,
imgCommonProps: imgCommonProps,
src: src,
fallback: fallback,
icons: icons,
minScale: minScale,
maxScale: maxScale,
getContainer: getContainer,
current: current,
count: mergedItems.length,
countRender: countRender,
onTransform: onTransform,
toolbarRender: toolbarRender,
imageRender: imageRender,
onChange: onInternalChange
}, dialogProps)));
};
var _default = exports.default = Group;

2
node_modules/rc-image/lib/common.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type { ImageElementProps } from './interface';
export declare const COMMON_PROPS: (keyof Omit<ImageElementProps, 'src'>)[];

7
node_modules/rc-image/lib/common.js generated vendored Normal file
View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.COMMON_PROPS = void 0;
var COMMON_PROPS = exports.COMMON_PROPS = ['crossOrigin', 'decoding', 'draggable', 'loading', 'referrerPolicy', 'sizes', 'srcSet', 'useMap', 'alt'];

7
node_modules/rc-image/lib/context.d.ts generated vendored Normal file
View File

@@ -0,0 +1,7 @@
import * as React from 'react';
import type { OnGroupPreview, RegisterImage } from './interface';
export interface PreviewGroupContextProps {
register: RegisterImage;
onPreview: OnGroupPreview;
}
export declare const PreviewGroupContext: React.Context<PreviewGroupContextProps>;

11
node_modules/rc-image/lib/context.js generated vendored Normal file
View File

@@ -0,0 +1,11 @@
"use strict";
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PreviewGroupContext = void 0;
var React = _interopRequireWildcard(require("react"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var PreviewGroupContext = exports.PreviewGroupContext = /*#__PURE__*/React.createContext(null);

View File

@@ -0,0 +1,16 @@
/**
* Fix positon x,y point when
*
* Ele width && height < client
* - Back origin
*
* - Ele width | height > clientWidth | clientHeight
* - left | top > 0 -> Back 0
* - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight
*
* Regardless of other
*/
export default function getFixScaleEleTransPosition(width: number, height: number, left: number, top: number): null | {
x: number;
y: number;
};

View File

@@ -0,0 +1,53 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getFixScaleEleTransPosition;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _css = require("rc-util/lib/Dom/css");
function fixPoint(key, start, width, clientWidth) {
var startAddWidth = start + width;
var offsetStart = (width - clientWidth) / 2;
if (width > clientWidth) {
if (start > 0) {
return (0, _defineProperty2.default)({}, key, offsetStart);
}
if (start < 0 && startAddWidth < clientWidth) {
return (0, _defineProperty2.default)({}, key, -offsetStart);
}
} else if (start < 0 || startAddWidth > clientWidth) {
return (0, _defineProperty2.default)({}, key, start < 0 ? offsetStart : -offsetStart);
}
return {};
}
/**
* Fix positon x,y point when
*
* Ele width && height < client
* - Back origin
*
* - Ele width | height > clientWidth | clientHeight
* - left | top > 0 -> Back 0
* - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight
*
* Regardless of other
*/
function getFixScaleEleTransPosition(width, height, left, top) {
var _getClientSize = (0, _css.getClientSize)(),
clientWidth = _getClientSize.width,
clientHeight = _getClientSize.height;
var fixPos = null;
if (width <= clientWidth && height <= clientHeight) {
fixPos = {
x: 0,
y: 0
};
} else if (width > clientWidth || height > clientHeight) {
fixPos = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, fixPoint('x', left, width, clientWidth)), fixPoint('y', top, height, clientHeight));
}
return fixPos;
}

28
node_modules/rc-image/lib/hooks/useImageTransform.d.ts generated vendored Normal file
View File

@@ -0,0 +1,28 @@
/// <reference types="react" />
export type TransformType = {
x: number;
y: number;
rotate: number;
scale: number;
flipX: boolean;
flipY: boolean;
};
export type TransformAction = 'flipY' | 'flipX' | 'rotateLeft' | 'rotateRight' | 'zoomIn' | 'zoomOut' | 'close' | 'prev' | 'next' | 'wheel' | 'doubleClick' | 'move' | 'dragRebound' | 'touchZoom' | 'reset';
export type UpdateTransformFunc = (newTransform: Partial<TransformType>, action: TransformAction) => void;
export type DispatchZoomChangeFunc = (ratio: number, action: TransformAction, centerX?: number, centerY?: number, isTouch?: boolean) => void;
export default function useImageTransform(imgRef: React.MutableRefObject<HTMLImageElement>, minScale: number, maxScale: number, onTransform: (info: {
transform: TransformType;
action: TransformAction;
}) => void): {
transform: {
x: number;
y: number;
rotate: number;
scale: number;
flipX: boolean;
flipY: boolean;
};
resetTransform: (action: TransformAction) => void;
updateTransform: UpdateTransformFunc;
dispatchZoomChange: DispatchZoomChangeFunc;
};

122
node_modules/rc-image/lib/hooks/useImageTransform.js generated vendored Normal file
View File

@@ -0,0 +1,122 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useImageTransform;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _css = require("rc-util/lib/Dom/css");
var _isEqual = _interopRequireDefault(require("rc-util/lib/isEqual"));
var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
var _react = require("react");
var initialTransform = {
x: 0,
y: 0,
rotate: 0,
scale: 1,
flipX: false,
flipY: false
};
function useImageTransform(imgRef, minScale, maxScale, onTransform) {
var frame = (0, _react.useRef)(null);
var queue = (0, _react.useRef)([]);
var _useState = (0, _react.useState)(initialTransform),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
transform = _useState2[0],
setTransform = _useState2[1];
var resetTransform = function resetTransform(action) {
setTransform(initialTransform);
if (!(0, _isEqual.default)(initialTransform, transform)) {
onTransform === null || onTransform === void 0 || onTransform({
transform: initialTransform,
action: action
});
}
};
/** Direct update transform */
var updateTransform = function updateTransform(newTransform, action) {
if (frame.current === null) {
queue.current = [];
frame.current = (0, _raf.default)(function () {
setTransform(function (preState) {
var memoState = preState;
queue.current.forEach(function (queueState) {
memoState = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, memoState), queueState);
});
frame.current = null;
onTransform === null || onTransform === void 0 || onTransform({
transform: memoState,
action: action
});
return memoState;
});
});
}
queue.current.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, transform), newTransform));
};
/** Scale according to the position of centerX and centerY */
var dispatchZoomChange = function dispatchZoomChange(ratio, action, centerX, centerY, isTouch) {
var _imgRef$current = imgRef.current,
width = _imgRef$current.width,
height = _imgRef$current.height,
offsetWidth = _imgRef$current.offsetWidth,
offsetHeight = _imgRef$current.offsetHeight,
offsetLeft = _imgRef$current.offsetLeft,
offsetTop = _imgRef$current.offsetTop;
var newRatio = ratio;
var newScale = transform.scale * ratio;
if (newScale > maxScale) {
newScale = maxScale;
newRatio = maxScale / transform.scale;
} else if (newScale < minScale) {
// For mobile interactions, allow scaling down to the minimum scale.
newScale = isTouch ? newScale : minScale;
newRatio = newScale / transform.scale;
}
/** Default center point scaling */
var mergedCenterX = centerX !== null && centerX !== void 0 ? centerX : innerWidth / 2;
var mergedCenterY = centerY !== null && centerY !== void 0 ? centerY : innerHeight / 2;
var diffRatio = newRatio - 1;
/** Deviation calculated from image size */
var diffImgX = diffRatio * width * 0.5;
var diffImgY = diffRatio * height * 0.5;
/** The difference between the click position and the edge of the document */
var diffOffsetLeft = diffRatio * (mergedCenterX - transform.x - offsetLeft);
var diffOffsetTop = diffRatio * (mergedCenterY - transform.y - offsetTop);
/** Final positioning */
var newX = transform.x - (diffOffsetLeft - diffImgX);
var newY = transform.y - (diffOffsetTop - diffImgY);
/**
* When zooming the image
* When the image size is smaller than the width and height of the window, the position is initialized
*/
if (ratio < 1 && newScale === 1) {
var mergedWidth = offsetWidth * newScale;
var mergedHeight = offsetHeight * newScale;
var _getClientSize = (0, _css.getClientSize)(),
clientWidth = _getClientSize.width,
clientHeight = _getClientSize.height;
if (mergedWidth <= clientWidth && mergedHeight <= clientHeight) {
newX = 0;
newY = 0;
}
}
updateTransform({
x: newX,
y: newY,
scale: newScale
}, action);
};
return {
transform: transform,
resetTransform: resetTransform,
updateTransform: updateTransform,
dispatchZoomChange: dispatchZoomChange
};
}

9
node_modules/rc-image/lib/hooks/useMouseEvent.d.ts generated vendored Normal file
View File

@@ -0,0 +1,9 @@
import type React from 'react';
import type { DispatchZoomChangeFunc, TransformType, UpdateTransformFunc } from './useImageTransform';
export default function useMouseEvent(imgRef: React.MutableRefObject<HTMLImageElement>, movable: boolean, visible: boolean, scaleStep: number, transform: TransformType, updateTransform: UpdateTransformFunc, dispatchZoomChange: DispatchZoomChangeFunc): {
isMoving: boolean;
onMouseDown: React.MouseEventHandler<HTMLDivElement>;
onMouseMove: React.MouseEventHandler<HTMLBodyElement>;
onMouseUp: React.MouseEventHandler<HTMLBodyElement>;
onWheel: (event: React.WheelEvent<HTMLImageElement>) => void;
};

124
node_modules/rc-image/lib/hooks/useMouseEvent.js generated vendored Normal file
View File

@@ -0,0 +1,124 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useMouseEvent;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _addEventListener = _interopRequireDefault(require("rc-util/lib/Dom/addEventListener"));
var _warning = require("rc-util/lib/warning");
var _react = require("react");
var _getFixScaleEleTransPosition = _interopRequireDefault(require("../getFixScaleEleTransPosition"));
var _previewConfig = require("../previewConfig");
function useMouseEvent(imgRef, movable, visible, scaleStep, transform, updateTransform, dispatchZoomChange) {
var rotate = transform.rotate,
scale = transform.scale,
x = transform.x,
y = transform.y;
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
isMoving = _useState2[0],
setMoving = _useState2[1];
var startPositionInfo = (0, _react.useRef)({
diffX: 0,
diffY: 0,
transformX: 0,
transformY: 0
});
var onMouseDown = function onMouseDown(event) {
// Only allow main button
if (!movable || event.button !== 0) return;
event.preventDefault();
event.stopPropagation();
startPositionInfo.current = {
diffX: event.pageX - x,
diffY: event.pageY - y,
transformX: x,
transformY: y
};
setMoving(true);
};
var onMouseMove = function onMouseMove(event) {
if (visible && isMoving) {
updateTransform({
x: event.pageX - startPositionInfo.current.diffX,
y: event.pageY - startPositionInfo.current.diffY
}, 'move');
}
};
var onMouseUp = function onMouseUp() {
if (visible && isMoving) {
setMoving(false);
/** No need to restore the position when the picture is not moved, So as not to interfere with the click */
var _startPositionInfo$cu = startPositionInfo.current,
transformX = _startPositionInfo$cu.transformX,
transformY = _startPositionInfo$cu.transformY;
var hasChangedPosition = x !== transformX && y !== transformY;
if (!hasChangedPosition) return;
var width = imgRef.current.offsetWidth * scale;
var height = imgRef.current.offsetHeight * scale;
// eslint-disable-next-line @typescript-eslint/no-shadow
var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),
left = _imgRef$current$getBo.left,
top = _imgRef$current$getBo.top;
var isRotate = rotate % 180 !== 0;
var fixState = (0, _getFixScaleEleTransPosition.default)(isRotate ? height : width, isRotate ? width : height, left, top);
if (fixState) {
updateTransform((0, _objectSpread2.default)({}, fixState), 'dragRebound');
}
}
};
var onWheel = function onWheel(event) {
if (!visible || event.deltaY == 0) return;
// Scale ratio depends on the deltaY size
var scaleRatio = Math.abs(event.deltaY / 100);
// Limit the maximum scale ratio
var mergedScaleRatio = Math.min(scaleRatio, _previewConfig.WHEEL_MAX_SCALE_RATIO);
// Scale the ratio each time
var ratio = _previewConfig.BASE_SCALE_RATIO + mergedScaleRatio * scaleStep;
if (event.deltaY > 0) {
ratio = _previewConfig.BASE_SCALE_RATIO / ratio;
}
dispatchZoomChange(ratio, 'wheel', event.clientX, event.clientY);
};
(0, _react.useEffect)(function () {
var onTopMouseUpListener;
var onTopMouseMoveListener;
var onMouseUpListener;
var onMouseMoveListener;
if (movable) {
onMouseUpListener = (0, _addEventListener.default)(window, 'mouseup', onMouseUp, false);
onMouseMoveListener = (0, _addEventListener.default)(window, 'mousemove', onMouseMove, false);
try {
// Resolve if in iframe lost event
/* istanbul ignore next */
if (window.top !== window.self) {
onTopMouseUpListener = (0, _addEventListener.default)(window.top, 'mouseup', onMouseUp, false);
onTopMouseMoveListener = (0, _addEventListener.default)(window.top, 'mousemove', onMouseMove, false);
}
} catch (error) {
/* istanbul ignore next */
(0, _warning.warning)(false, "[rc-image] ".concat(error));
}
}
return function () {
var _onMouseUpListener, _onMouseMoveListener, _onTopMouseUpListener, _onTopMouseMoveListen;
(_onMouseUpListener = onMouseUpListener) === null || _onMouseUpListener === void 0 || _onMouseUpListener.remove();
(_onMouseMoveListener = onMouseMoveListener) === null || _onMouseMoveListener === void 0 || _onMouseMoveListener.remove();
/* istanbul ignore next */
(_onTopMouseUpListener = onTopMouseUpListener) === null || _onTopMouseUpListener === void 0 || _onTopMouseUpListener.remove();
/* istanbul ignore next */
(_onTopMouseMoveListen = onTopMouseMoveListener) === null || _onTopMouseMoveListen === void 0 || _onTopMouseMoveListen.remove();
};
}, [visible, isMoving, x, y, rotate, movable]);
return {
isMoving: isMoving,
onMouseDown: onMouseDown,
onMouseMove: onMouseMove,
onMouseUp: onMouseUp,
onWheel: onWheel
};
}

7
node_modules/rc-image/lib/hooks/usePreviewItems.d.ts generated vendored Normal file
View File

@@ -0,0 +1,7 @@
import type { GroupConsumerProps } from '../PreviewGroup';
import type { InternalItem, RegisterImage } from '../interface';
export type Items = Omit<InternalItem, 'canPreview'>[];
/**
* Merge props provided `items` or context collected images
*/
export default function usePreviewItems(items?: GroupConsumerProps['items']): [items: Items, registerImage: RegisterImage, fromItems: boolean];

78
node_modules/rc-image/lib/hooks/usePreviewItems.js generated vendored Normal file
View File

@@ -0,0 +1,78 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = usePreviewItems;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var React = _interopRequireWildcard(require("react"));
var _common = require("../common");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/**
* Merge props provided `items` or context collected images
*/
function usePreviewItems(items) {
// Context collection image data
var _React$useState = React.useState({}),
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
images = _React$useState2[0],
setImages = _React$useState2[1];
var registerImage = React.useCallback(function (id, data) {
setImages(function (imgs) {
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, imgs), {}, (0, _defineProperty2.default)({}, id, data));
});
return function () {
setImages(function (imgs) {
var cloneImgs = (0, _objectSpread3.default)({}, imgs);
delete cloneImgs[id];
return cloneImgs;
});
};
}, []);
// items
var mergedItems = React.useMemo(function () {
// use `items` first
if (items) {
return items.map(function (item) {
if (typeof item === 'string') {
return {
data: {
src: item
}
};
}
var data = {};
Object.keys(item).forEach(function (key) {
if (['src'].concat((0, _toConsumableArray2.default)(_common.COMMON_PROPS)).includes(key)) {
data[key] = item[key];
}
});
return {
data: data
};
});
}
// use registered images secondly
return Object.keys(images).reduce(function (total, id) {
var _images$id = images[id],
canPreview = _images$id.canPreview,
data = _images$id.data;
if (canPreview) {
total.push({
data: data,
id: id
});
}
return total;
}, []);
}, [items, images]);
return [mergedItems, registerImage, !!items];
}

View File

@@ -0,0 +1,2 @@
import type { ImageElementProps } from '../interface';
export default function useRegisterImage(canPreview: boolean, data: ImageElementProps): string;

42
node_modules/rc-image/lib/hooks/useRegisterImage.js generated vendored Normal file
View File

@@ -0,0 +1,42 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useRegisterImage;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var React = _interopRequireWildcard(require("react"));
var _context = require("../context");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var uid = 0;
function useRegisterImage(canPreview, data) {
var _React$useState = React.useState(function () {
uid += 1;
return String(uid);
}),
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
id = _React$useState2[0];
var groupContext = React.useContext(_context.PreviewGroupContext);
var registerData = {
data: data,
canPreview: canPreview
};
// Keep order start
// Resolve https://github.com/ant-design/ant-design/issues/28881
// Only need unRegister when component unMount
React.useEffect(function () {
if (groupContext) {
return groupContext.register(id, registerData);
}
}, []);
React.useEffect(function () {
if (groupContext) {
groupContext.register(id, registerData);
}
}, [canPreview, data]);
return id;
}

13
node_modules/rc-image/lib/hooks/useStatus.d.ts generated vendored Normal file
View File

@@ -0,0 +1,13 @@
type ImageStatus = 'normal' | 'error' | 'loading';
export default function useStatus({ src, isCustomPlaceholder, fallback, }: {
src: string;
isCustomPlaceholder?: boolean;
fallback?: string;
}): readonly [(img?: HTMLImageElement) => void, {
src: string;
onLoad?: undefined;
} | {
onLoad: () => void;
src: string;
}, ImageStatus];
export {};

60
node_modules/rc-image/lib/hooks/useStatus.js generated vendored Normal file
View File

@@ -0,0 +1,60 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useStatus;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
var _util = require("../util");
function useStatus(_ref) {
var src = _ref.src,
isCustomPlaceholder = _ref.isCustomPlaceholder,
fallback = _ref.fallback;
var _useState = (0, _react.useState)(isCustomPlaceholder ? 'loading' : 'normal'),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
status = _useState2[0],
setStatus = _useState2[1];
var isLoaded = (0, _react.useRef)(false);
var isError = status === 'error';
// https://github.com/react-component/image/pull/187
(0, _react.useEffect)(function () {
var isCurrentSrc = true;
(0, _util.isImageValid)(src).then(function (isValid) {
// https://github.com/ant-design/ant-design/issues/44948
// If src changes, the previous setStatus should not be triggered
if (!isValid && isCurrentSrc) {
setStatus('error');
}
});
return function () {
isCurrentSrc = false;
};
}, [src]);
(0, _react.useEffect)(function () {
if (isCustomPlaceholder && !isLoaded.current) {
setStatus('loading');
} else if (isError) {
setStatus('normal');
}
}, [src]);
var onLoad = function onLoad() {
setStatus('normal');
};
var getImgRef = function getImgRef(img) {
isLoaded.current = false;
if (status === 'loading' && img !== null && img !== void 0 && img.complete && (img.naturalWidth || img.naturalHeight)) {
isLoaded.current = true;
onLoad();
}
};
var srcAndOnload = isError && fallback ? {
src: fallback
} : {
onLoad: onLoad,
src: src
};
return [getImgRef, srcAndOnload, status];
}

8
node_modules/rc-image/lib/hooks/useTouchEvent.d.ts generated vendored Normal file
View File

@@ -0,0 +1,8 @@
import type React from 'react';
import type { DispatchZoomChangeFunc, TransformType, UpdateTransformFunc } from './useImageTransform';
export default function useTouchEvent(imgRef: React.MutableRefObject<HTMLImageElement>, movable: boolean, visible: boolean, minScale: number, transform: TransformType, updateTransform: UpdateTransformFunc, dispatchZoomChange: DispatchZoomChangeFunc): {
isTouching: boolean;
onTouchStart: (event: React.TouchEvent<HTMLImageElement>) => void;
onTouchMove: (event: React.TouchEvent<HTMLImageElement>) => void;
onTouchEnd: () => void;
};

176
node_modules/rc-image/lib/hooks/useTouchEvent.js generated vendored Normal file
View File

@@ -0,0 +1,176 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useTouchEvent;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _addEventListener = _interopRequireDefault(require("rc-util/lib/Dom/addEventListener"));
var _react = require("react");
var _getFixScaleEleTransPosition = _interopRequireDefault(require("../getFixScaleEleTransPosition"));
function getDistance(a, b) {
var x = a.x - b.x;
var y = a.y - b.y;
return Math.hypot(x, y);
}
function getCenter(oldPoint1, oldPoint2, newPoint1, newPoint2) {
// Calculate the distance each point has moved
var distance1 = getDistance(oldPoint1, newPoint1);
var distance2 = getDistance(oldPoint2, newPoint2);
// If both distances are 0, return the original points
if (distance1 === 0 && distance2 === 0) {
return [oldPoint1.x, oldPoint1.y];
}
// Calculate the ratio of the distances
var ratio = distance1 / (distance1 + distance2);
// Calculate the new center point based on the ratio
var x = oldPoint1.x + ratio * (oldPoint2.x - oldPoint1.x);
var y = oldPoint1.y + ratio * (oldPoint2.y - oldPoint1.y);
return [x, y];
}
function useTouchEvent(imgRef, movable, visible, minScale, transform, updateTransform, dispatchZoomChange) {
var rotate = transform.rotate,
scale = transform.scale,
x = transform.x,
y = transform.y;
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
isTouching = _useState2[0],
setIsTouching = _useState2[1];
var touchPointInfo = (0, _react.useRef)({
point1: {
x: 0,
y: 0
},
point2: {
x: 0,
y: 0
},
eventType: 'none'
});
var updateTouchPointInfo = function updateTouchPointInfo(values) {
touchPointInfo.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, touchPointInfo.current), values);
};
var onTouchStart = function onTouchStart(event) {
if (!movable) return;
event.stopPropagation();
setIsTouching(true);
var _event$touches = event.touches,
touches = _event$touches === void 0 ? [] : _event$touches;
if (touches.length > 1) {
// touch zoom
updateTouchPointInfo({
point1: {
x: touches[0].clientX,
y: touches[0].clientY
},
point2: {
x: touches[1].clientX,
y: touches[1].clientY
},
eventType: 'touchZoom'
});
} else {
// touch move
updateTouchPointInfo({
point1: {
x: touches[0].clientX - x,
y: touches[0].clientY - y
},
eventType: 'move'
});
}
};
var onTouchMove = function onTouchMove(event) {
var _event$touches2 = event.touches,
touches = _event$touches2 === void 0 ? [] : _event$touches2;
var _touchPointInfo$curre = touchPointInfo.current,
point1 = _touchPointInfo$curre.point1,
point2 = _touchPointInfo$curre.point2,
eventType = _touchPointInfo$curre.eventType;
if (touches.length > 1 && eventType === 'touchZoom') {
// touch zoom
var newPoint1 = {
x: touches[0].clientX,
y: touches[0].clientY
};
var newPoint2 = {
x: touches[1].clientX,
y: touches[1].clientY
};
var _getCenter = getCenter(point1, point2, newPoint1, newPoint2),
_getCenter2 = (0, _slicedToArray2.default)(_getCenter, 2),
centerX = _getCenter2[0],
centerY = _getCenter2[1];
var ratio = getDistance(newPoint1, newPoint2) / getDistance(point1, point2);
dispatchZoomChange(ratio, 'touchZoom', centerX, centerY, true);
updateTouchPointInfo({
point1: newPoint1,
point2: newPoint2,
eventType: 'touchZoom'
});
} else if (eventType === 'move') {
// touch move
updateTransform({
x: touches[0].clientX - point1.x,
y: touches[0].clientY - point1.y
}, 'move');
updateTouchPointInfo({
eventType: 'move'
});
}
};
var onTouchEnd = function onTouchEnd() {
if (!visible) return;
if (isTouching) {
setIsTouching(false);
}
updateTouchPointInfo({
eventType: 'none'
});
if (minScale > scale) {
/** When the scaling ratio is less than the minimum scaling ratio, reset the scaling ratio */
return updateTransform({
x: 0,
y: 0,
scale: minScale
}, 'touchZoom');
}
var width = imgRef.current.offsetWidth * scale;
var height = imgRef.current.offsetHeight * scale;
// eslint-disable-next-line @typescript-eslint/no-shadow
var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),
left = _imgRef$current$getBo.left,
top = _imgRef$current$getBo.top;
var isRotate = rotate % 180 !== 0;
var fixState = (0, _getFixScaleEleTransPosition.default)(isRotate ? height : width, isRotate ? width : height, left, top);
if (fixState) {
updateTransform((0, _objectSpread2.default)({}, fixState), 'dragRebound');
}
};
(0, _react.useEffect)(function () {
var onTouchMoveListener;
if (visible && movable) {
onTouchMoveListener = (0, _addEventListener.default)(window, 'touchmove', function (e) {
return e.preventDefault();
}, {
passive: false
});
}
return function () {
var _onTouchMoveListener;
(_onTouchMoveListener = onTouchMoveListener) === null || _onTouchMoveListener === void 0 || _onTouchMoveListener.remove();
};
}, [visible, movable]);
return {
isTouching: isTouching,
onTouchStart: onTouchStart,
onTouchMove: onTouchMove,
onTouchEnd: onTouchEnd
};
}

3
node_modules/rc-image/lib/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
import Image from './Image';
export * from './Image';
export default Image;

23
node_modules/rc-image/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1,23 @@
"use strict";
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {};
exports.default = void 0;
var _Image = _interopRequireWildcard(require("./Image"));
Object.keys(_Image).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _Image[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _Image[key];
}
});
});
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var _default = exports.default = _Image.default;

14
node_modules/rc-image/lib/interface.d.ts generated vendored Normal file
View File

@@ -0,0 +1,14 @@
/// <reference types="react" />
/**
* Used for PreviewGroup passed image data
*/
export type ImageElementProps = Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'src' | 'crossOrigin' | 'decoding' | 'draggable' | 'loading' | 'referrerPolicy' | 'sizes' | 'srcSet' | 'useMap' | 'alt'>;
export type PreviewImageElementProps = {
data: ImageElementProps;
canPreview: boolean;
};
export type InternalItem = PreviewImageElementProps & {
id?: string;
};
export type RegisterImage = (id: string, data: PreviewImageElementProps) => VoidFunction;
export type OnGroupPreview = (id: string, imageSrc: string, mouseX: number, mouseY: number) => void;

5
node_modules/rc-image/lib/interface.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});

4
node_modules/rc-image/lib/previewConfig.d.ts generated vendored Normal file
View File

@@ -0,0 +1,4 @@
/** Scale the ratio base */
export declare const BASE_SCALE_RATIO = 1;
/** The maximum zoom ratio when the mouse zooms in, adjustable */
export declare const WHEEL_MAX_SCALE_RATIO = 1;

10
node_modules/rc-image/lib/previewConfig.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.WHEEL_MAX_SCALE_RATIO = exports.BASE_SCALE_RATIO = void 0;
/** Scale the ratio base */
var BASE_SCALE_RATIO = exports.BASE_SCALE_RATIO = 1;
/** The maximum zoom ratio when the mouse zooms in, adjustable */
var WHEEL_MAX_SCALE_RATIO = exports.WHEEL_MAX_SCALE_RATIO = 1;

1
node_modules/rc-image/lib/util.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export declare function isImageValid(src: string): Promise<unknown>;

22
node_modules/rc-image/lib/util.js generated vendored Normal file
View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isImageValid = isImageValid;
function isImageValid(src) {
return new Promise(function (resolve) {
if (!src) {
resolve(false);
return;
}
var img = document.createElement('img');
img.onerror = function () {
return resolve(false);
};
img.onload = function () {
return resolve(true);
};
img.src = src;
});
}