UNPKG

tntd

Version:

tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

44 lines (43 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mapReadonlyComponent = exports["default"] = exports.connectReadonlyComponent = exports.connect = void 0; var _react = require("react"); var __rest = void 0 && (void 0).__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var mapReadonlyComponent = exports.mapReadonlyComponent = function mapReadonlyComponent(component) { return function (target) { return (0, _react.forwardRef)(function (_a, ref) { var readonly = _a.readonly, props = __rest(_a, ["readonly"]); return (0, _react.createElement)(readonly ? component : target, Object.assign(Object.assign({}, props), { ref: ref })); }); }; }; var connect = exports.connect = function connect(target) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var Target = args.reduce(function (acc, mapper) { acc = mapper(target); return acc; }, target); return (0, _react.forwardRef)(function (props, ref) { return (0, _react.createElement)(Target, Object.assign(Object.assign({}, props), { ref: ref })); }); }; var connectReadonlyComponent = exports.connectReadonlyComponent = function connectReadonlyComponent(target, preview) { return connect(target, mapReadonlyComponent(preview)); }; var _default = exports["default"] = connect;