rsuite
Version:
A suite of react components
43 lines (35 loc) • 1.47 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _toaster = _interopRequireDefault(require("./toaster"));
var _utils = require("../utils");
/**
* Hook to use the toaster
* @returns toaster { push, remove, clear }
*/
var useToaster = function useToaster() {
var _useCustom = (0, _utils.useCustom)(),
toasters = _useCustom.toasters;
return {
push: function push(message, options) {
var _toasters$current;
var customToaster = toasters === null || toasters === void 0 ? void 0 : (_toasters$current = toasters.current) === null || _toasters$current === void 0 ? void 0 : _toasters$current.get((options === null || options === void 0 ? void 0 : options.placement) || 'topCenter');
return customToaster ? customToaster.push(message) : _toaster.default.push(message, options);
},
remove: function remove(key) {
toasters ? Array.from(toasters.current).forEach(function (_ref) {
var c = _ref[1];
return c === null || c === void 0 ? void 0 : c.remove(key);
}) : _toaster.default.remove(key);
},
clear: function clear() {
toasters ? Array.from(toasters.current).forEach(function (_ref2) {
var c = _ref2[1];
return c === null || c === void 0 ? void 0 : c.clear();
}) : _toaster.default.clear();
}
};
};
var _default = useToaster;
exports.default = _default;
;