diff --git a/addon/templates/components/basic-dialog.hbs b/addon/components/basic-dialog.hbs
similarity index 100%
rename from addon/templates/components/basic-dialog.hbs
rename to addon/components/basic-dialog.hbs
diff --git a/addon/components/basic-dialog.js b/addon/components/basic-dialog.js
index d02c4232..6a4eadf5 100644
--- a/addon/components/basic-dialog.js
+++ b/addon/components/basic-dialog.js
@@ -1,15 +1,14 @@
-import { tagName, layout as templateLayout } from '@ember-decorators/component';
import { computed, set } from '@ember/object';
import { inject as service } from '@ember/service';
import Component from '@ember/component';
import { isEmpty } from '@ember/utils';
-import layout from '../templates/components/basic-dialog';
import { dasherize } from '@ember/string';
+
import { isIOS, clickHandlerDelay } from '../utils/config-utils';
-@tagName('')
-@templateLayout(layout)
export default class BasicDialog extends Component {
+ tagName = '';
+
containerClassNames = null;
overlayClassNames = null;
wrapperClassNames = null;
diff --git a/addon/templates/components/in-place-dialog.hbs b/addon/components/in-place-dialog.hbs
similarity index 100%
rename from addon/templates/components/in-place-dialog.hbs
rename to addon/components/in-place-dialog.hbs
diff --git a/addon/components/in-place-dialog.js b/addon/components/in-place-dialog.js
index e62f0f1c..def95397 100644
--- a/addon/components/in-place-dialog.js
+++ b/addon/components/in-place-dialog.js
@@ -1,10 +1,8 @@
-import { tagName, layout as templateLayout } from '@ember-decorators/component';
import Component from '@ember/component';
-import layout from '../templates/components/in-place-dialog';
-@tagName('')
-@templateLayout(layout)
export default class InPlaceDialog extends Component {
+ tagName = '';
+
get containerClassNamesString() {
const addonClassNamesString = [
'ember-modal-dialog',
diff --git a/addon/templates/components/liquid-dialog.hbs b/addon/components/liquid-dialog.hbs
similarity index 100%
rename from addon/templates/components/liquid-dialog.hbs
rename to addon/components/liquid-dialog.hbs
diff --git a/addon/components/liquid-dialog.js b/addon/components/liquid-dialog.js
index b25b86e9..2006fc05 100644
--- a/addon/components/liquid-dialog.js
+++ b/addon/components/liquid-dialog.js
@@ -1,8 +1,5 @@
-import { layout as templateLayout } from '@ember-decorators/component';
import BasicDialog from './basic-dialog';
-import layout from '../templates/components/liquid-dialog';
-@templateLayout(layout)
export default class LiquidDialog extends BasicDialog {
hasOverlay = true;
variantWrapperClass = 'emd-animatable';
diff --git a/addon/templates/components/liquid-tether-dialog.hbs b/addon/components/liquid-tether-dialog.hbs
similarity index 100%
rename from addon/templates/components/liquid-tether-dialog.hbs
rename to addon/components/liquid-tether-dialog.hbs
diff --git a/addon/components/liquid-tether-dialog.js b/addon/components/liquid-tether-dialog.js
index 328ac7fb..4559f5e0 100644
--- a/addon/components/liquid-tether-dialog.js
+++ b/addon/components/liquid-tether-dialog.js
@@ -1,11 +1,9 @@
/* eslint-disable ember/no-computed-properties-in-native-classes */
-import { layout as templateLayout } from '@ember-decorators/component';
import { computed, set } from '@ember/object';
import { dasherize } from '@ember/string';
+
import BasicDialog from './basic-dialog';
-import layout from '../templates/components/liquid-tether-dialog';
-@templateLayout(layout)
export default class LiquidTetherDialog extends BasicDialog {
@computed('targetAttachment')
get targetAttachmentClass() {
diff --git a/addon/components/modal-dialog/index.hbs b/addon/components/modal-dialog.hbs
similarity index 100%
rename from addon/components/modal-dialog/index.hbs
rename to addon/components/modal-dialog.hbs
diff --git a/addon/components/modal-dialog/index.js b/addon/components/modal-dialog.js
similarity index 100%
rename from addon/components/modal-dialog/index.js
rename to addon/components/modal-dialog.js
diff --git a/addon/components/overlay/index.hbs b/addon/components/overlay.hbs
similarity index 100%
rename from addon/components/overlay/index.hbs
rename to addon/components/overlay.hbs
diff --git a/addon/components/overlay/index.js b/addon/components/overlay.js
similarity index 86%
rename from addon/components/overlay/index.js
rename to addon/components/overlay.js
index 3ada3c1e..1dd9d7b3 100644
--- a/addon/components/overlay/index.js
+++ b/addon/components/overlay.js
@@ -1,7 +1,8 @@
import Component from '@glimmer/component';
-import { isIOS } from '../../utils/config-utils';
import { htmlSafe } from '@ember/template';
+import { isIOS } from '../utils/config-utils';
+
export default class OverlayComponent extends Component {
get cssClasses() {
return htmlSafe(`emd-debug ${isIOS ? 'pointer-cursor' : ''}`);
diff --git a/addon/components/positioned-container.js b/addon/components/positioned-container.js
index e4a048dd..78a79178 100644
--- a/addon/components/positioned-container.js
+++ b/addon/components/positioned-container.js
@@ -4,6 +4,7 @@ import Component from '@ember/component';
import { capitalize } from '@ember/string';
import { observer, computed } from '@ember/object';
import { on } from '@ember/object/evented';
+
const SUPPORTED_TARGET_ATTACHMENTS = [
'top',
'right',
diff --git a/addon/templates/components/tether-dialog.hbs b/addon/components/tether-dialog.hbs
similarity index 100%
rename from addon/templates/components/tether-dialog.hbs
rename to addon/components/tether-dialog.hbs
diff --git a/addon/components/tether-dialog.js b/addon/components/tether-dialog.js
index 6678165f..ac8677be 100644
--- a/addon/components/tether-dialog.js
+++ b/addon/components/tether-dialog.js
@@ -1,10 +1,8 @@
-import { layout as templateLayout } from '@ember-decorators/component';
import { computed, set } from '@ember/object';
import { dasherize } from '@ember/string';
+
import BasicDialog from './basic-dialog';
-import layout from '../templates/components/tether-dialog';
-@templateLayout(layout)
export default class TetherDialog extends BasicDialog {
init() {
super.init(...arguments);
diff --git a/package.json b/package.json
index b33d9a5f..4ee781dc 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,6 @@
"ember-cli-babel": "^8.2.0",
"ember-cli-htmlbars": "^6.3.0",
"ember-cli-version-checker": "^5.1.2",
- "ember-decorators": "^6.1.1",
"ember-wormhole": "^0.6.0"
},
"devDependencies": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 04504f24..f86475f4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -34,9 +34,6 @@ importers:
ember-cli-version-checker:
specifier: ^5.1.2
version: 5.1.2
- ember-decorators:
- specifier: ^6.1.1
- version: 6.1.1
ember-wormhole:
specifier: ^0.6.0
version: 0.6.0
diff --git a/tests/integration/components/ember-modal-dialog-positioned-container-test.js b/tests/integration/components/ember-modal-dialog-positioned-container-test.js
new file mode 100644
index 00000000..8e27da68
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog-positioned-container-test.js
@@ -0,0 +1,21 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog-positioned-container',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ Hello world!
+
+ `);
+
+ assert.dom().hasText('Hello world!');
+ });
+ },
+);
diff --git a/tests/integration/components/ember-modal-dialog/-basic-dialog-test.js b/tests/integration/components/ember-modal-dialog/-basic-dialog-test.js
new file mode 100644
index 00000000..15f19c54
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog/-basic-dialog-test.js
@@ -0,0 +1,21 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog/-basic-dialog',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ Hello world!
+
+ `);
+
+ assert.dom().hasText('Hello world!');
+ });
+ },
+);
diff --git a/tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js b/tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js
new file mode 100644
index 00000000..bcf0a9ed
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog/-in-place-dialog-test.js
@@ -0,0 +1,21 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog/-in-place-dialog',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ Hello world!
+
+ `);
+
+ assert.dom().hasText('Hello world!');
+ });
+ },
+);
diff --git a/tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js b/tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js
new file mode 100644
index 00000000..696b0617
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog/-liquid-dialog-test.js
@@ -0,0 +1,21 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog/-liquid-dialog',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ Hello world!
+
+ `);
+
+ assert.dom().hasText('Hello world!');
+ });
+ },
+);
diff --git a/tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js b/tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js
new file mode 100644
index 00000000..615b553b
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog/-liquid-tether-dialog-test.js
@@ -0,0 +1,23 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog/-liquid-tether-dialog',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ Hello world!
+
+ `);
+
+ assert.dom().hasText('Hello world!');
+ });
+ },
+);
diff --git a/tests/integration/components/ember-modal-dialog/-tether-dialog-test.js b/tests/integration/components/ember-modal-dialog/-tether-dialog-test.js
new file mode 100644
index 00000000..9518a480
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog/-tether-dialog-test.js
@@ -0,0 +1,21 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog/-tether-dialog',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ Hello world!
+
+ `);
+
+ assert.dom().hasText('Hello world!');
+ });
+ },
+);
diff --git a/tests/integration/components/ember-modal-dialog/overlay-test.js b/tests/integration/components/ember-modal-dialog/overlay-test.js
new file mode 100644
index 00000000..20023ce3
--- /dev/null
+++ b/tests/integration/components/ember-modal-dialog/overlay-test.js
@@ -0,0 +1,19 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module(
+ 'Integration | Component | ember-modal-dialog/overlay',
+ function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ `);
+
+ assert.ok(true);
+ });
+ },
+);
diff --git a/tests/integration/components/modal-dialog-test.js b/tests/integration/components/modal-dialog-test.js
new file mode 100644
index 00000000..241cb01c
--- /dev/null
+++ b/tests/integration/components/modal-dialog-test.js
@@ -0,0 +1,16 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import { hbs } from 'ember-cli-htmlbars';
+
+module('Integration | Component | modal-dialog', function (hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function (assert) {
+ await render(hbs`
+
+ `);
+
+ assert.ok(true);
+ });
+});