UNPKG

@wulperstudio/cms

Version:
82 lines 2.81 kB
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())] }); };