UNPKG

tdesign-react

Version:
278 lines (270 loc) 11 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var slicedToArray = require('../_chunks/dep-e17e2d31.js'); var defineProperty = require('../_chunks/dep-cc768e34.js'); var index = require('../_chunks/dep-a93b6608.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-b7d577ac.js'); require('../_chunks/dep-6d4d8660.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('../_chunks/dep-3f65dfe7.js'); require('../_chunks/dep-3e2d2665.js'); require('../_chunks/dep-f0379c5f.js'); require('../_chunks/dep-028b759d.js'); require('../_chunks/dep-ddacd27a.js'); require('../common/Portal.js'); require('../hooks/useLayoutEffect.js'); require('../loading/gradient.js'); require('../_chunks/dep-58719304.js'); require('../_chunks/dep-b8d4cf07.js'); require('../_chunks/dep-64a1054a.js'); require('../_chunks/dep-422caf30.js'); require('../hooks/useDomRefCallback.js'); require('../loading/defaultProps.js'); require('../hooks/useDefaultProps.js'); require('../_chunks/dep-3a869b87.js'); require('../_chunks/dep-ac58e1cc.js'); require('dayjs'); require('../_chunks/dep-7da96a57.js'); require('../_chunks/dep-07b911d8.js'); require('../_chunks/dep-4b02d669.js'); require('../_chunks/dep-8a116183.js'); require('../_chunks/dep-4671b9bd.js'); require('../_chunks/dep-bed9d73e.js'); require('../_chunks/dep-780eda7b.js'); require('../_chunks/dep-47bdc05f.js'); require('../_chunks/dep-cab13149.js'); require('../_chunks/dep-a30819a4.js'); require('../_chunks/dep-6a7ba247.js'); require('../_chunks/dep-c87d9752.js'); require('../_chunks/dep-bd956a2d.js'); require('../_chunks/dep-0cdb3286.js'); require('../_chunks/dep-865c186c.js'); require('../_chunks/dep-f4e58639.js'); require('../_chunks/dep-781a2854.js'); require('../_chunks/dep-1ef213f8.js'); require('../_chunks/dep-e2c832a5.js'); require('../loading/plugin.js'); require('../_chunks/dep-ed886f2a.js'); require('../_chunks/dep-aeef4e56.js'); require('../_chunks/dep-0c1ca63f.js'); require('../_chunks/dep-fd5d57c1.js'); require('../_chunks/dep-ac2874ce.js'); require('../_chunks/dep-6cfc06a0.js'); require('../_chunks/dep-5d9d080b.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"); var mGlobalConfig = configProvider_ConfigProvider["default"].getGlobalConfig(); _util_reactRender.render(/* @__PURE__ */React__default["default"].createElement(common_PluginContainer["default"], { globalConfig: mGlobalConfig }, /* @__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; return index.regenerator.wrap(function (_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 1; return createContainer(config); case 1: 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" }); } return _context.abrupt("return", new Promise(function (resolve) { var mGlobalConfig = configProvider_ConfigProvider["default"].getGlobalConfig(); _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 2: 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