UNPKG

es-grid-template

Version:

es-grid-template

88 lines (85 loc) 3.78 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _react2 = require("@floating-ui/react"); var _styledComponents = _interopRequireDefault(require("styled-components")); var _hooks = require("./hooks"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (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; } // import {Button} from "antd"; const TooltipStyle = _styledComponents.default.div.withConfig({ displayName: "TooltipStyle", componentId: "es-grid-template__sc-1iotu11-0" })(["width:max-content;background-color:#444;color:white;font-size:90%;padding:4px 8px;border-radius:4px;opacity:0.9;z-index:9999;max-width:450px;"]); const Command = props => { const { item, onClick } = props; const [isOpen, setIsOpen] = (0, _react.useState)(false); const { refs, floatingStyles, context } = (0, _react2.useFloating)({ open: isOpen, onOpenChange: setIsOpen, placement: "top", whileElementsMounted: _react2.autoUpdate, middleware: [(0, _react2.offset)(5), (0, _react2.flip)({ fallbackAxisSideDirection: "start" }), (0, _react2.shift)()] }); const hover = (0, _react2.useHover)(context, { move: false }); const focus = (0, _react2.useFocus)(context); const dismiss = (0, _react2.useDismiss)(context); const role = (0, _react2.useRole)(context, { role: "tooltip" }); const { getReferenceProps, getFloatingProps } = (0, _react2.useInteractions)([hover, focus, dismiss, role]); return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.template ? /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: refs.setReference }, getReferenceProps(), { id: item.id, onClick: onClick }), (0, _hooks.getTemplate)(item.template)) : /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: refs.setReference }, getReferenceProps(), { tabIndex: -1, style: { padding: '3px', maxWidth: 45, height: '100%', display: 'flex', cursor: 'pointer' }, className: (0, _classnames.default)('command-item', { 'btn-icon': item.title === '' }), color: item.color ? item.color : 'primary', onClick: onClick }), item.icon ? (0, _hooks.getTemplate)(item.icon) : item.title) // <span>{item.title}</span> , isOpen && item.tooltip && /*#__PURE__*/_react.default.createElement(_react2.FloatingPortal, { root: document.body }, /*#__PURE__*/_react.default.createElement(TooltipStyle, (0, _extends2.default)({ className: "Tooltip", ref: refs.setFloating, style: { ...floatingStyles, zIndex: 1999 } }, getFloatingProps()), item.tooltip))); }; var _default = exports.default = Command;