UNPKG

rsuite

Version:

A suite of react components

43 lines (35 loc) 1.47 kB
"use strict"; 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;