diff --git a/addons/rose/addon/components/rose/layout/tabs.js b/addons/rose/addon/components/rose/layout/tabs.js deleted file mode 100644 index 88f0a170b..000000000 --- a/addons/rose/addon/components/rose/layout/tabs.js +++ /dev/null @@ -1,7 +0,0 @@ -import Component from '@ember/component'; -import layout from '../../../templates/components/rose/layout/tabs'; - -export default Component.extend({ - layout, - tagName: '', -}); diff --git a/addons/rose/addon/components/rose/tab.js b/addons/rose/addon/components/rose/nav/tab.js similarity index 61% rename from addons/rose/addon/components/rose/tab.js rename to addons/rose/addon/components/rose/nav/tab.js index c37635f9b..c4c84358c 100644 --- a/addons/rose/addon/components/rose/tab.js +++ b/addons/rose/addon/components/rose/nav/tab.js @@ -1,5 +1,5 @@ import Component from '@ember/component'; -import layout from '../../templates/components/rose/tab'; +import layout from '../../../templates/components/rose/nav/tab'; export default Component.extend({ layout, diff --git a/addons/rose/addon/components/rose/tab.stories.mdx b/addons/rose/addon/components/rose/nav/tab.stories.mdx similarity index 86% rename from addons/rose/addon/components/rose/tab.stories.mdx rename to addons/rose/addon/components/rose/nav/tab.stories.mdx index a4b7136aa..6a9b6889e 100644 --- a/addons/rose/addon/components/rose/tab.stories.mdx +++ b/addons/rose/addon/components/rose/nav/tab.stories.mdx @@ -3,20 +3,20 @@ import { hbs } from 'ember-cli-htmlbars'; import { action } from '@storybook/addon-actions'; import { text, boolean, select } from '@storybook/addon-knobs'; - + # Tab A tab item component with ability to configure icon, title, and badge sections. ```html - + ``` {{ template: hbs` - - {{yield}} - diff --git a/addons/rose/addon/templates/components/rose/nav/tab.hbs b/addons/rose/addon/templates/components/rose/nav/tab.hbs new file mode 100644 index 000000000..3d1c5e4cd --- /dev/null +++ b/addons/rose/addon/templates/components/rose/nav/tab.hbs @@ -0,0 +1,22 @@ +
+ + {{#if @icon}} + {{inline-svg @icon}} + {{/if}} + + {{#if @title}} + {{@title}} + {{/if}} + + {{#if @badge}} + {{@badge}} + {{/if}} + + + {{yield}} +
diff --git a/addons/rose/addon/templates/components/rose/tab.hbs b/addons/rose/addon/templates/components/rose/tab.hbs deleted file mode 100644 index cfb65cf12..000000000 --- a/addons/rose/addon/templates/components/rose/tab.hbs +++ /dev/null @@ -1,22 +0,0 @@ -
- - {{#if @icon}} - {{inline-svg @icon}} - {{/if}} - - {{#if @title}} - {{@title}} - {{/if}} - - {{#if @badge}} - {{@badge}} - {{/if}} - - - {{yield}} -
diff --git a/addons/rose/app/components/rose/layout/tabs.js b/addons/rose/app/components/rose/layout/tabs.js deleted file mode 100644 index 9de968192..000000000 --- a/addons/rose/app/components/rose/layout/tabs.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from 'rose/components/rose/layout/tabs'; diff --git a/addons/rose/app/components/rose/nav/tab.js b/addons/rose/app/components/rose/nav/tab.js new file mode 100644 index 000000000..92c7185e3 --- /dev/null +++ b/addons/rose/app/components/rose/nav/tab.js @@ -0,0 +1 @@ +export { default } from 'rose/components/rose/nav/tab'; diff --git a/addons/rose/app/components/rose/tab.js b/addons/rose/app/components/rose/tab.js deleted file mode 100644 index 37b6e680c..000000000 --- a/addons/rose/app/components/rose/tab.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from 'rose/components/rose/tab'; diff --git a/addons/rose/tests/integration/components/rose/layout/tabs-test.js b/addons/rose/tests/integration/components/rose/layout/tabs-test.js deleted file mode 100644 index d14c5bc5f..000000000 --- a/addons/rose/tests/integration/components/rose/layout/tabs-test.js +++ /dev/null @@ -1,13 +0,0 @@ -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'ember-qunit'; -import { render, find } from '@ember/test-helpers'; -import hbs from 'htmlbars-inline-precompile'; - -module('Integration | Component | rose/layout/tabs', function (hooks) { - setupRenderingTest(hooks); - - test('it renders', async function (assert) { - await render(hbs``); - assert.ok(find('.rose-layout-tabs')); - }); -}); diff --git a/addons/rose/tests/integration/components/rose/nav/tab-test.js b/addons/rose/tests/integration/components/rose/nav/tab-test.js new file mode 100644 index 000000000..963b31b17 --- /dev/null +++ b/addons/rose/tests/integration/components/rose/nav/tab-test.js @@ -0,0 +1,50 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render, find } from '@ember/test-helpers'; +import hbs from 'htmlbars-inline-precompile'; + +module('Integration | Component | rose/nav/tab', function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs``); + assert.ok(find('a')); + assert.ok(find('.rose-nav-tab')); + assert.ok(find('.rose-nav-tab-link')); + assert.notOk(find('.rose-nav-tab-icon')); + assert.notOk(find('.rose-nav-tab-badge')); + assert.notOk(find('.rose-nav-tab-link-disabled')); + }); + + test('it renders with title', async function (assert) { + await render(hbs``); + assert.equal(find('a').title, 'Tab title'); + assert.equal(find('.rose-nav-tab-link').textContent.trim(), 'Tab title'); + }); + + test('it renders with icon', async function (assert) { + await render(hbs``); + assert.ok(find('svg')); + assert.ok(find('.rose-nav-tab-icon')); + }); + + test('it renders with badge', async function (assert) { + await render(hbs``); + assert.ok(find('.rose-nav-tab-badge')); + assert.equal(find('.rose-nav-tab-badge').textContent.trim(), '3'); + }); + + test('it render with attributes', async function (assert) { + await render(hbs``); + assert.ok(find('#tab')); + }); + + test('it renders disabled', async function (assert) { + this.set('disabled', true); + await render(hbs``); + assert.ok(find('.rose-nav-tab-link-disabled')); + + this.set('disabled', false); + assert.notOk(find('.rose-nav-tab-link-disabled')); + }); +}); diff --git a/addons/rose/tests/integration/components/rose/tab-test.js b/addons/rose/tests/integration/components/rose/tab-test.js deleted file mode 100644 index b8eb0a74e..000000000 --- a/addons/rose/tests/integration/components/rose/tab-test.js +++ /dev/null @@ -1,50 +0,0 @@ -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'ember-qunit'; -import { render, find } from '@ember/test-helpers'; -import hbs from 'htmlbars-inline-precompile'; - -module('Integration | Component | rose/tab', function (hooks) { - setupRenderingTest(hooks); - - test('it renders', async function (assert) { - await render(hbs``); - assert.ok(find('a')); - assert.ok(find('.rose-tab')); - assert.ok(find('.rose-tab-link')); - assert.notOk(find('.rose-tab-icon')); - assert.notOk(find('.rose-tab-badge')); - assert.notOk(find('.rose-tab-link-disabled')); - }); - - test('it renders with title', async function (assert) { - await render(hbs``); - assert.equal(find('a').title, 'Tab title'); - assert.equal(find('.rose-tab-link').textContent.trim(), 'Tab title'); - }); - - test('it renders with icon', async function (assert) { - await render(hbs``); - assert.ok(find('svg')); - assert.ok(find('.rose-tab-icon')); - }); - - test('it renders with badge', async function (assert) { - await render(hbs``); - assert.ok(find('.rose-tab-badge')); - assert.equal(find('.rose-tab-badge').textContent.trim(), '3'); - }); - - test('it render with attributes', async function (assert) { - await render(hbs``); - assert.ok(find('#tab')); - }); - - test('it renders disabled', async function (assert) { - this.set('disabled', true); - await render(hbs``); - assert.ok(find('.rose-tab-link-disabled')); - - this.set('disabled', false); - assert.notOk(find('.rose-tab-link-disabled')); - }); -});