diff --git a/addon/components/grid-stack.js b/addon/components/grid-stack.js
index fa513923b0ff22658677b2e09aa6205a59b59979..97c1bdaa4bf6d6029bb1aaeaa7849ba10c5e6dbf 100644
--- a/addon/components/grid-stack.js
+++ b/addon/components/grid-stack.js
@@ -19,14 +19,14 @@
  * Full list of options:
  *   https://github.com/gridstack/gridstack.js/tree/master/doc#grid-options
  */
-import Component from '@glimmer/component';
-import { tracked } from '@glimmer/tracking';
-import { action } from '@ember/object';
-import { inject as service } from '@ember/service';
-import { scheduleOnce } from '@ember/runloop';
-import { capitalize } from '@ember/string';
-import { guidFor } from '@ember/object/internals';
-import { GridStack } from 'gridstack';
+import Component from '@glimmer/component'
+import { tracked } from '@glimmer/tracking'
+import { action } from '@ember/object'
+import { inject as service } from '@ember/service'
+import { scheduleOnce } from '@ember/runloop'
+import { capitalize } from '@ember/string'
+import { guidFor } from '@ember/object/internals'
+import { GridStack } from 'gridstack'
 
 export const GRID_STACK_EVENTS = [
   'added',
@@ -40,98 +40,99 @@ export const GRID_STACK_EVENTS = [
   'removed',
   'resizestart',
   'resize',
-  'resizestop',
-];
+  'resizestop'
+]
 
 export default class GridStackComponent extends Component {
-  @service gridStackRegistry;
+  @service gridStackRegistry
 
-  guid = guidFor(this);
-  @tracked elm;
+  guid = guidFor(this)
+  @tracked elm
 
-  constructor() {
-    super(...arguments);
-    this.gridStackRegistry.registerGrid(this.guid, this);
+  constructor () {
+    super(...arguments)
+    this.gridStackRegistry.registerGrid(this.guid, this)
   }
 
-  get options() {
+  get options () {
     return {
-      ...this.args.options,
-    };
+      ...this.args.options
+    }
   }
 
   /**
    * https://github.com/gridstack/gridstack.js/tree/master/doc#api
    * @property {GridStack|null} gridStack - reference to gridstack object
    */
-  gridStack = null;
+  gridStack = null
 
   /**
    * @property {Array} subscribedEvents - List of events for which event handlers were set up
    */
-  subscribedEvents = [];
+  subscribedEvents = []
 
-  _destroyGridStack() {
-    const { gridStack } = this;
+  _destroyGridStack () {
+    const { gridStack } = this
 
     if (gridStack) {
-      this.subscribedEvents.forEach((eventName) => gridStack.off(eventName));
-      this.subscribedEvents = [];
+      this.subscribedEvents.forEach(eventName => gridStack.off(eventName))
+      this.subscribedEvents = []
 
       // Use `false` option to prevent removing dom elements, let Ember do that
-      gridStack.destroy(false);
+      gridStack.destroy(false)
 
-      this.gridStack = null;
+      this.gridStack = null
 
       // Remove 'grid-stack-instance-####' class left behind
-      [...this.elm.classList]
-        .filter((x) => /grid-stack-instance-\d*/.test(x))
-        .forEach((x) => this.elm.classList.remove(x));
+      ;[...this.elm.classList]
+        .filter(x => /grid-stack-instance-\d*/.test(x))
+        .forEach(x => this.elm.classList.remove(x))
     }
   }
 
-  _createGridStack() {
-    this.gridStack = GridStack.init({ ...this.options }, this.elm);
+  _createGridStack () {
+    this.gridStack = GridStack.init({ ...this.options }, this.elm)
 
-    GRID_STACK_EVENTS.forEach((eventName) => {
-      const action = this.args[`on${capitalize(eventName)}`];
+    GRID_STACK_EVENTS.forEach(eventName => {
+      const action = this.args[`on${capitalize(eventName)}`]
 
       if (action) {
         this.gridStack.on(eventName, function () {
-          scheduleOnce('afterRender', this, action, ...arguments);
-        });
+          scheduleOnce('afterRender', this, action, ...arguments)
+        })
 
-        this.subscribedEvents.push(eventName);
+        this.subscribedEvents.push(eventName)
       }
-    });
+    })
   }
 
   @action
-  setup(elm) {
-    this.elm = elm;
-    this._createGridStack();
+  setup (elm) {
+    this.elm = elm
+    this._createGridStack()
   }
 
   @action
-  update() {
-    this._destroyGridStack();
-    this._createGridStack();
+  update () {
+    this._destroyGridStack()
+    this._createGridStack()
   }
 
   @action
-  willDestroyNode() {
-    this.gridStackRegistry.unregisterGridComponent(this.guid, this);
-    this._destroyGridStack();
+  willDestroyNode () {
+    this.gridStackRegistry.unregisterGridComponent(this.guid, this)
+    this._destroyGridStack()
   }
 
   @action
-  addWidget(element) {
-    this.gridStack?.makeWidget(element);
+  addWidget (element) {
+    this.gridStack?.makeWidget(element)
   }
 
   @action
-  removeWidget(element, removeDOM = false, triggerEvent = true) {
-    triggerEvent = triggerEvent && !this.isDestroying && !this.isDestroyed;
-    this.gridStack?.removeWidget(element, removeDOM, triggerEvent);
+  removeWidget (element, removeDOM = false, triggerEvent = true) {
+    triggerEvent = triggerEvent && !this.isDestroying && !this.isDestroyed
+    this.gridStack?.removeWidget(element, removeDOM, triggerEvent)
+    this.gridStack?.compact()
   }
 }
