tdesign-react
Version:
TDesign Component for React
278 lines (270 loc) • 11 kB
JavaScript
/**
* tdesign v1.13.2
* (c) 2025 tdesign
* @license MIT
*/
;
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