// @ts-nocheck

/* eslint-disable */
// Extensions
import { Service } from "../service/index.mjs"; // Types

export class Application extends Service {
  static property = 'application';
  bar = 0;
  top = 0;
  left = 0;
  insetFooter = 0;
  right = 0;
  bottom = 0;
  footer = 0;
  application = {
    bar: {},
    top: {},
    left: {},
    insetFooter: {},
    right: {},
    bottom: {},
    footer: {}
  };

  register(uid, location, size) {
    this.application[location] = {
      [uid]: size
    };
    this.update(location);
  }

  unregister(uid, location) {
    if (this.application[location][uid] == null) return;
    delete this.application[location][uid];
    this.update(location);
  }

  update(location) {
    this[location] = Object.values(this.application[location]).reduce((acc, cur) => acc + cur, 0);
  }

}
//# sourceMappingURL=index.mjs.map