@wulperstudio/cms
Version:
Wulper Studio Library Components CMS
37 lines • 1.31 kB
JavaScript
/* eslint-disable consistent-return */
import React, { useEffect } from 'react';
import { ItemRoot } from './styled';
import { jsx as _jsx } from "react/jsx-runtime";
export var Item = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (_ref, ref) {
var dragOverlay = _ref.dragOverlay,
dragging = _ref.dragging,
fadeIn = _ref.fadeIn,
listeners = _ref.listeners,
renderItem = _ref.renderItem,
style = _ref.style,
transform = _ref.transform;
useEffect(function () {
if (!dragOverlay) {
return;
}
document.body.style.cursor = 'grabbing';
return function () {
document.body.style.cursor = '';
};
}, [dragOverlay]);
return /*#__PURE__*/_jsx(ItemRoot, Object.assign({
ref: ref,
fadeIn: fadeIn,
dragOverlay: dragOverlay,
translateX: transform ? "".concat(Math.round(transform.x), "px") : undefined,
translateY: transform ? "".concat(Math.round(transform.y), "px") : undefined,
scaleX: transform != null && transform.scaleX ? "".concat(transform.scaleX) : undefined,
scaleY: transform != null && transform.scaleY ? "".concat(transform.scaleY) : undefined
}, listeners, {
children: renderItem({
dragOverlay: Boolean(dragOverlay),
dragging: Boolean(dragging),
style: style
})
}));
}));