diff --git a/addons/rose/addon/components/rose/form/input.js b/addons/rose/addon/components/rose/form/input.js deleted file mode 100644 index 60ae3d0f1..000000000 --- a/addons/rose/addon/components/rose/form/input.js +++ /dev/null @@ -1,11 +0,0 @@ -import Component from '@ember/component'; -import layout from '../../../templates/components/rose/form/input'; -import ComponentAutoId from '../../../mixins/component-auto-id'; - -/** - * A simple HTML `` element. - */ -export default Component.extend(ComponentAutoId, { - layout, - tagName: '', -}); diff --git a/addons/rose/addon/templates/components/rose/form/input.hbs b/addons/rose/addon/components/rose/form/input/index.hbs similarity index 100% rename from addons/rose/addon/templates/components/rose/form/input.hbs rename to addons/rose/addon/components/rose/form/input/index.hbs diff --git a/addons/rose/addon/components/rose/form/input/index.js b/addons/rose/addon/components/rose/form/input/index.js new file mode 100644 index 000000000..4fbc071f4 --- /dev/null +++ b/addons/rose/addon/components/rose/form/input/index.js @@ -0,0 +1,10 @@ +import Component from '@glimmer/component'; +import { generateComponentID } from '../../../../utilities/component-auto-id'; + +export default class RoseFormInputComponent extends Component { + + // =attributes + + id = generateComponentID(); + +} diff --git a/addons/rose/addon/components/rose/form/input.stories.mdx b/addons/rose/addon/components/rose/form/input/index.stories.mdx similarity index 100% rename from addons/rose/addon/components/rose/form/input.stories.mdx rename to addons/rose/addon/components/rose/form/input/index.stories.mdx diff --git a/addons/rose/addon/components/rose/form/input/input.js b/addons/rose/addon/components/rose/form/input/input.js deleted file mode 100644 index f20d86c82..000000000 --- a/addons/rose/addon/components/rose/form/input/input.js +++ /dev/null @@ -1,7 +0,0 @@ -import Component from '@ember/component'; -import layout from '../../../../templates/components/rose/form/input/input'; - -export default Component.extend({ - layout, - tagName: '', -}); diff --git a/addons/rose/addon/templates/components/rose/form/input/input.hbs b/addons/rose/addon/components/rose/form/input/input/index.hbs similarity index 100% rename from addons/rose/addon/templates/components/rose/form/input/input.hbs rename to addons/rose/addon/components/rose/form/input/input/index.hbs diff --git a/addons/rose/addon/utilities/component-auto-id.js b/addons/rose/addon/utilities/component-auto-id.js new file mode 100644 index 000000000..de91ecf92 --- /dev/null +++ b/addons/rose/addon/utilities/component-auto-id.js @@ -0,0 +1,9 @@ +import { v1 } from 'ember-uuid'; + +/** + * A function that generates a component ID, based on UUID. + * @return {string} + */ +export function generateComponentID() { + return `component-${v1()}`; +} diff --git a/addons/rose/tests/unit/mixins/component-auto-id-test.js b/addons/rose/tests/unit/mixins/component-auto-id-test.js deleted file mode 100644 index a047b3e7b..000000000 --- a/addons/rose/tests/unit/mixins/component-auto-id-test.js +++ /dev/null @@ -1,11 +0,0 @@ -import EmberObject from '@ember/object'; -import ComponentAutoIdMixin from 'rose/mixins/component-auto-id'; -import { module, test } from 'qunit'; - -module('Unit | Mixin | component-auto-id', function () { - test('it generates an ID and assigns it to the object', function (assert) { - let ComponentAutoIdObject = EmberObject.extend(ComponentAutoIdMixin); - let subject = ComponentAutoIdObject.create(); - assert.ok(subject.id); - }); -}); diff --git a/addons/rose/tests/unit/utilities/component-auto-id-test.js b/addons/rose/tests/unit/utilities/component-auto-id-test.js new file mode 100644 index 000000000..3da16b9d0 --- /dev/null +++ b/addons/rose/tests/unit/utilities/component-auto-id-test.js @@ -0,0 +1,9 @@ +import { generateComponentID } from 'rose/utilities/component-auto-id'; +import { module, test } from 'qunit'; + +module('Unit | Utility | component-auto-id', function () { + test('it generates an ID', function (assert) { + const id = generateComponentID(); + assert.ok(id); + }); +});