import*as t from"../utils/arr.prod.js";import o from"../utils/extend.prod.js";import i from"../utils/normalizeListeners.prod.js";function s(t,o){for(const i of o){if(t.immediatePropagationStopped)break;i(t)}}export class Eventable{constructor(t){this.options=void 0,this.types={},this.propagationStopped=!1,this.immediatePropagationStopped=!1,this.global=void 0,this.options=o({},t||{})}fire(t){let o;const i=this.global;(o=this.types[t.type])&&s(t,o),!t.propagationStopped&&i&&(o=i[t.type])&&s(t,o)}on(o,s){const e=i(o,s);for(o in e)this.types[o]=t.merge(this.types[o]||[],e[o])}off(t,o){const s=i(t,o);for(t in s){const o=this.types[t];if(o&&o.length)for(const i of s[t]){const t=o.indexOf(i);-1!==t&&o.splice(t,1)}}}getRect(t){return null}}
//# sourceMappingURL=Eventable.prod.js.map