reakit
Version:
Toolkit for building accessible rich web apps with React
29 lines (26 loc) • 636 B
JavaScript
var globalState = {
currentTooltipId: null,
listeners: new Set(),
subscribe: function subscribe(listener) {
var _this = this;
this.listeners.add(listener);
return function () {
_this.listeners.delete(listener);
};
},
show: function show(id) {
this.currentTooltipId = id;
this.listeners.forEach(function (listener) {
return listener(id);
});
},
hide: function hide(id) {
if (this.currentTooltipId === id) {
this.currentTooltipId = null;
this.listeners.forEach(function (listener) {
return listener(null);
});
}
}
};
export { globalState as g };