react-atom-toast
Version:
Tiny & Headless toast for React
41 lines (38 loc) • 1.19 kB
JavaScript
import { __publicField, __spreadValues } from './chunk-5USKE2QT.js';
import { ToastQueue } from './toast-queue.js';
import { defaults } from './utils.js';
var Toast = class {
constructor() {
__publicField(this, "defaultOptions", {
duration: 2,
pauseOnHover: true,
transition: "fade",
maxCount: 3,
gap: 16,
render: (children) => children
});
__publicField(this, "toastQueue");
__publicField(this, "open", (options) => {
if (!(options && typeof options === "object" && "content" in options)) {
options = {
content: options
};
}
this.toastQueue.add(defaults(options, this.defaultOptions));
});
__publicField(this, "close", (key) => {
this.toastQueue.close(key);
});
__publicField(this, "closeAll", () => {
this.toastQueue.closeAll();
});
__publicField(this, "update", (key, options) => {
this.toastQueue.update(key, __spreadValues({}, options));
});
__publicField(this, "setDefaultOptions", (options) => {
this.defaultOptions = defaults(options, this.defaultOptions);
});
this.toastQueue = new ToastQueue();
}
};
export { Toast };