UNPKG

tdesign-react

Version:
276 lines (268 loc) 10.8 kB
/** * tdesign v1.11.6 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var slicedToArray = require('../_chunks/dep-48e1db8c.js'); var defineProperty = require('../_chunks/dep-56a79f9c.js'); var index = require('../_chunks/dep-e9660f30.js'); var React = require('react'); var classNames = require('classnames'); var _util_reactRender = require('../_util/react-render.js'); var _util_noop = require('../_util/noop.js'); var message_const = require('./const.js'); var message_MessageComponent = require('./MessageComponent.js'); var message_config = require('./config.js'); var message_useMessageClass = require('./useMessageClass.js'); var configProvider_ConfigProvider = require('../config-provider/ConfigProvider.js'); require('../config-provider/ConfigContext.js'); var common_PluginContainer = require('../common/PluginContainer.js'); require('../_chunks/dep-6b4846c3.js'); require('../_chunks/dep-5b35215f.js'); require('react-dom'); require('./MessageClose.js'); require('tdesign-icons-react'); require('../hooks/useGlobalIcon.js'); require('../hooks/useConfig.js'); require('./MessageIcon.js'); require('../loading/index.js'); require('../loading/Loading.js'); require('../_util/dom.js'); require('raf'); require('../_util/easing.js'); require('../_chunks/dep-3c8023f1.js'); require('../_chunks/dep-6e34d7d7.js'); require('../_chunks/dep-ec3beb8d.js'); require('../_chunks/dep-d45b3350.js'); require('../common/Portal.js'); require('../hooks/useLayoutEffect.js'); require('../_chunks/dep-c43c91af.js'); require('../_chunks/dep-9ecc1939.js'); require('../_chunks/dep-f500d2b7.js'); require('../_chunks/dep-82a8b824.js'); require('../hooks/useDomRefCallback.js'); require('../loading/defaultProps.js'); require('../hooks/useDefaultProps.js'); require('../_chunks/dep-fa2097c1.js'); require('../_chunks/dep-f6f16bd8.js'); require('dayjs'); require('../_chunks/dep-59bb0827.js'); require('../_chunks/dep-68f8743f.js'); require('../_chunks/dep-a8d0483a.js'); require('../_chunks/dep-b7e21379.js'); require('../_chunks/dep-73937edb.js'); require('../_chunks/dep-8d4e8f1c.js'); require('../_chunks/dep-1d022321.js'); require('../_chunks/dep-ab08e148.js'); require('../_chunks/dep-9df70348.js'); require('../_chunks/dep-af16359b.js'); require('../_chunks/dep-e11afe29.js'); require('../_chunks/dep-346ac5f4.js'); require('../_chunks/dep-612ec5c9.js'); require('../_chunks/dep-4d25d6c0.js'); require('../_chunks/dep-496c0353.js'); require('../_chunks/dep-1f530d81.js'); require('../_chunks/dep-a4bc3144.js'); require('../_chunks/dep-535a3b69.js'); require('../_chunks/dep-d11b328f.js'); require('../loading/plugin.js'); require('../_chunks/dep-48ac011e.js'); require('../_chunks/dep-c4eb94d2.js'); require('../_chunks/dep-d5a77c7c.js'); require('../_chunks/dep-b7847924.js'); require('../_chunks/dep-0d35f53a.js'); require('../_chunks/dep-d8727aa2.js'); require('../_chunks/dep-440a0ba0.js'); require('../hooks/usePersistFn.js'); require('./defaultProps.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var MessageList = []; var keyIndex = 1; var MessageContainer = function MessageContainer(props) { var placement = props.placement, children = props.children, zIndex = props.zIndex, id = props.id, renderCallback = props.renderCallback; var style = { zIndex: zIndex }; Object.keys(message_const.PlacementOffset[placement]).forEach(function (key) { style[key] = message_const.PlacementOffset[placement][key]; }); if (placement.includes("top")) { style.top = "".concat(message_config.globalConfig.top, "px"); } React.useEffect(function () { renderCallback(); }, []); var _useMessageClass = message_useMessageClass.useMessageClass(), tdMessagePlacementClassGenerator = _useMessageClass.tdMessagePlacementClassGenerator, tdMessageListClass = _useMessageClass.tdMessageListClass; return /* @__PURE__ */React__default["default"].createElement("div", { className: classNames__default["default"](tdMessageListClass, tdMessagePlacementClassGenerator(placement)), style: style, id: id }, children); }; function createContainer(_ref) { var attach = _ref.attach, zIndex = _ref.zIndex, _ref$placement = _ref.placement, placement = _ref$placement === void 0 ? "top" : _ref$placement; return new Promise(function (resolve) { var mountedDom = document.body; if (typeof attach === "string") { var result = document.querySelectorAll(attach); if (result.length >= 1) { mountedDom = result[0]; } } else if (typeof attach === "function") { mountedDom = attach(); } var containerId = "tdesign-message-container--".concat(placement); var container = Array.from(mountedDom.querySelectorAll("#".concat(containerId))); if (container.length < 1) { var div = document.createElement("div"); _util_reactRender.render(/* @__PURE__ */React__default["default"].createElement(MessageContainer, { id: containerId, placement: placement, zIndex: zIndex, renderCallback: function renderCallback() { mountedDom.appendChild(div); var container2 = Array.from(mountedDom.querySelectorAll("#".concat(containerId))); resolve(container2[0]); } }), div); } else { resolve(container[0]); } }); } function renderElement(_x, _x2) { return _renderElement.apply(this, arguments); } function _renderElement() { _renderElement = index._asyncToGenerator(/*#__PURE__*/index.regenerator.mark(function _callee(theme, config) { var container, content, offset, _config$onClose, _onClose, div, message, style, _offset, left, top, mGlobalConfig; return index.regenerator.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return createContainer(config); case 2: container = _context.sent; content = config.content, offset = config.offset, _config$onClose = config.onClose, _onClose = _config$onClose === void 0 ? _util_noop["default"] : _config$onClose; div = document.createElement("div"); keyIndex += 1; message = { close: function close() { _util_reactRender.unmount(div); div.remove(); message.closed = true; var index = MessageList.indexOf(message); if (index >= 0) { MessageList.splice(index, 1); } }, key: keyIndex, closed: false }; style = _objectSpread({}, config.style); if (Array.isArray(offset) && offset.length === 2) { _offset = slicedToArray._slicedToArray(offset, 2), left = _offset[0], top = _offset[1]; style = _objectSpread(_objectSpread({ left: left, top: top }, style), {}, { position: "relative" }); } mGlobalConfig = configProvider_ConfigProvider["default"].getGlobalConfig(); return _context.abrupt("return", new Promise(function (resolve) { _util_reactRender.render(/* @__PURE__ */React__default["default"].createElement(common_PluginContainer["default"], { globalConfig: mGlobalConfig }, /* @__PURE__ */React__default["default"].createElement(message_MessageComponent["default"], _objectSpread(_objectSpread({ key: keyIndex }, config), {}, { theme: theme, style: style, onClose: function onClose(ctx) { _onClose(ctx); message.close(); } }), content)), div); container.appendChild(div); MessageList.push(message); resolve(message); })); case 11: case "end": return _context.stop(); } }, _callee); })); return _renderElement.apply(this, arguments); } function isConfig(content) { return Object.prototype.toString.call(content) === "[object Object]" && !!content.content; } var messageMethod = function messageMethod(theme, content, duration) { var config = {}; if (isConfig(content)) { config = _objectSpread({ duration: duration }, content); } else { config = { content: content, duration: duration }; } return renderElement(theme, message_config.getMessageConfig(config)); }; var MessagePlugin = function MessagePlugin(theme, message, duration) { return messageMethod(theme, message, duration); }; MessagePlugin.info = function (content, duration) { return messageMethod("info", content, duration); }; MessagePlugin.error = function (content, duration) { return messageMethod("error", content, duration); }; MessagePlugin.warning = function (content, duration) { return messageMethod("warning", content, duration); }; MessagePlugin.success = function (content, duration) { return messageMethod("success", content, duration); }; MessagePlugin.question = function (content, duration) { return messageMethod("question", content, duration); }; MessagePlugin.loading = function (content, duration) { return messageMethod("loading", content, duration); }; MessagePlugin.config = function (options) { return message_config.setGlobalConfig(options); }; MessagePlugin.close = function (messageInstance) { messageInstance.then(function (instance) { return instance.close(); }); }; MessagePlugin.closeAll = function () { MessageList.forEach(function (message) { typeof message.close === "function" && message.close(); }); MessageList = []; return; }; exports["default"] = message_MessageComponent["default"]; exports.MessagePlugin = MessagePlugin; //# sourceMappingURL=Message.js.map