UNPKG

tdesign-react

Version:
49 lines (45 loc) 1.61 kB
/** * tdesign v1.11.6 * (c) 2025 tdesign * @license MIT */ import { _ as _slicedToArray } from '../../_chunks/dep-889449c8.js'; import { useState, useCallback } from 'react'; import '../../_chunks/dep-901cf2d8.js'; var useScale = function useScale(imageScale) { var _useState = useState(function () { var _imageScale$defaultSc; return (_imageScale$defaultSc = imageScale.defaultScale) !== null && _imageScale$defaultSc !== void 0 ? _imageScale$defaultSc : 1; }), _useState2 = _slicedToArray(_useState, 2), scale = _useState2[0], setScale = _useState2[1]; var onZoom = useCallback(function () { setScale(function (scale2) { var newScale = scale2 + imageScale.step; if (newScale < imageScale.min) return imageScale.min; if (newScale > imageScale.max) return imageScale.max; return newScale; }); }, [imageScale]); var onZoomOut = useCallback(function () { setScale(function (scale2) { var newScale = scale2 - imageScale.step; if (newScale < imageScale.min) return imageScale.min; if (newScale > imageScale.max) return imageScale.max; return newScale; }); }, [imageScale]); var onResetScale = useCallback(function () { var _imageScale$defaultSc2; return setScale((_imageScale$defaultSc2 = imageScale.defaultScale) !== null && _imageScale$defaultSc2 !== void 0 ? _imageScale$defaultSc2 : 1); }, [imageScale]); return { scale: scale, onZoom: onZoom, onZoomOut: onZoomOut, onResetScale: onResetScale }; }; export { useScale as default }; //# sourceMappingURL=useScale.js.map