UNPKG

@alilc/lowcode-plugin-components-pane

Version:
74 lines (73 loc) 2.69 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _react = _interopRequireDefault(require("react")); var _bind = _interopRequireDefault(require("classnames/bind")); var _Component = _interopRequireDefault(require("../../Icon/Component")); var _indexModule = _interopRequireDefault(require("./index.module.scss")); var cx = _bind["default"].bind(_indexModule["default"]); var Component = /*#__PURE__*/function (_React$Component) { (0, _inheritsLoose2["default"])(Component, _React$Component); Component.getDerivedStateFromProps = function getDerivedStateFromProps(props) { var _snippet$screenshot; var data = props.data; var icon = data.icon, _data$snippets = data.snippets, snippets = _data$snippets === void 0 ? [] : _data$snippets; var snippet = snippets[0]; var screenshot = (_snippet$screenshot = snippet === null || snippet === void 0 ? void 0 : snippet.screenshot) !== null && _snippet$screenshot !== void 0 ? _snippet$screenshot : icon; return { icon: screenshot, snippet: snippet }; }; function Component(props) { var _this; _this = _React$Component.call(this, props) || this; _this.state = { icon: '', snippet: null }; _this.t = void 0; _this.t = props.t; return _this; } var _proto = Component.prototype; _proto.renderIcon = function renderIcon() { var icon = this.state.icon; if (!icon) { return /*#__PURE__*/_react["default"].createElement(_Component["default"], { className: cx('no-icon') }); } if (typeof icon === 'string') { return /*#__PURE__*/_react["default"].createElement("img", { src: icon, alt: "" }); } if (typeof icon === 'function') { var X = icon; return /*#__PURE__*/_react["default"].createElement(X, null); } return icon; }; _proto.render = function render() { var data = this.props.data; var title = data.title; var snippet = this.state.snippet; return /*#__PURE__*/_react["default"].createElement("div", { className: (0, _bind["default"])('snippet', cx('card')), "data-id": snippet.id, title: this.t(title) }, /*#__PURE__*/_react["default"].createElement("div", { className: cx('icon') }, this.renderIcon()), /*#__PURE__*/_react["default"].createElement("div", { className: cx('name') }, this.t(title))); }; return Component; }(_react["default"].Component); exports["default"] = Component;