@wulperstudio/cms
Version:
Wulper Studio Library Components CMS
82 lines • 2.81 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["onUpdate", "onDelete", "disabledDelete"];
import React from 'react';
import { Icon } from '@iconify/react';
import { v4 } from 'uuid';
import { ListItemIcon, MenuItem, Typography, useTheme } from '@mui/material';
import { DropdownMenu } from '../../../../components/DropdownMenu';
import { ICONS_NAME } from '../../../../helpers/icons';
import { IconButtonComponent } from '../../../../components/IconButtonComponent';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
export var MenuColumn = function MenuColumn(_ref) {
var onUpdate = _ref.onUpdate,
onDelete = _ref.onDelete,
disabledDelete = _ref.disabledDelete,
props = _objectWithoutProperties(_ref, _excluded);
var theme = useTheme();
var _React$useState = React.useState(null),
_React$useState2 = _slicedToArray(_React$useState, 2),
anchorEl = _React$useState2[0],
setAnchorEl = _React$useState2[1];
var _React$useState3 = React.useState(false),
_React$useState4 = _slicedToArray(_React$useState3, 2),
isVisible = _React$useState4[0],
setIsVisible = _React$useState4[1];
var handleClick = function handleClick(currentTarget) {
setAnchorEl(currentTarget);
setIsVisible(!isVisible);
};
var handleClose = function handleClose() {
setAnchorEl(null);
};
return /*#__PURE__*/_jsxs(DropdownMenu, {
Root: /*#__PURE__*/_jsx(IconButtonComponent, {
iconProps: {
size: 'small',
onClick: function onClick(_ref2) {
var currentTarget = _ref2.currentTarget;
handleClick(currentTarget);
}
},
children: /*#__PURE__*/_jsx(Icon, {
icon: ICONS_NAME.moreHorizontal,
color: theme.palette.text.primary
})
}),
anchorEl: anchorEl,
handleClose: handleClose,
children: [/*#__PURE__*/_jsxs(MenuItem, {
onClick: onDelete,
disabled: disabledDelete,
sx: {
'&:hover': {
borderRadius: '10px'
}
},
children: [/*#__PURE__*/_jsx(ListItemIcon, {
children: /*#__PURE__*/_jsx(Icon, {
icon: ICONS_NAME.trash
})
}), /*#__PURE__*/_jsx(Typography, {
variant: "body1",
children: props.textDelete
})]
}, v4()), /*#__PURE__*/_jsxs(MenuItem, {
onClick: onUpdate,
sx: {
'&:hover': {
borderRadius: '10px'
}
},
children: [/*#__PURE__*/_jsx(ListItemIcon, {
children: /*#__PURE__*/_jsx(Icon, {
icon: ICONS_NAME.edit
})
}), /*#__PURE__*/_jsx(Typography, {
variant: "body1",
children: props.textUpdate
})]
}, v4())]
});
};