diff --git a/addons/rose/addon/components/rose/cards.js b/addons/rose/addon/components/rose/cards.js new file mode 100644 index 000000000..c54fb638d --- /dev/null +++ b/addons/rose/addon/components/rose/cards.js @@ -0,0 +1,7 @@ +import Component from '@ember/component'; +import layout from '../../templates/components/rose/cards'; + +export default Component.extend({ + layout, + tagName: '', +}); diff --git a/addons/rose/addon/components/rose/cards.stories.mdx b/addons/rose/addon/components/rose/cards.stories.mdx new file mode 100644 index 000000000..a032687e2 --- /dev/null +++ b/addons/rose/addon/components/rose/cards.stories.mdx @@ -0,0 +1,61 @@ +import { Meta, Story, Preview } from '@storybook/addon-docs/blocks'; +import { hbs } from 'ember-cli-htmlbars'; +import { action } from '@storybook/addon-actions'; +import { text, boolean, select } from '@storybook/addon-knobs'; + + + +# Cards + +A set of cards arranged side-by-side. + + + {{ + template: hbs` + + + + + + + + `, + context: {} + }} + + + +```htmlbars + + + + +``` diff --git a/addons/rose/addon/styles/rose/components/_cards.scss b/addons/rose/addon/styles/rose/components/_cards.scss new file mode 100644 index 000000000..b3feb536f --- /dev/null +++ b/addons/rose/addon/styles/rose/components/_cards.scss @@ -0,0 +1,4 @@ +.rose-cards { + display: flex; + flex-wrap: wrap; +} diff --git a/addons/rose/addon/styles/rose/components/_index.scss b/addons/rose/addon/styles/rose/components/_index.scss index 9376545de..f63f9bdf0 100644 --- a/addons/rose/addon/styles/rose/components/_index.scss +++ b/addons/rose/addon/styles/rose/components/_index.scss @@ -4,6 +4,7 @@ @import 'layout'; @import 'notification'; @import 'card'; +@import 'cards'; @import 'page-header'; @import 'separator'; @import 'nav'; diff --git a/addons/rose/addon/styles/rose/components/card/_link.scss b/addons/rose/addon/styles/rose/components/card/_link.scss index 26b3e3f8c..a62df13f8 100644 --- a/addons/rose/addon/styles/rose/components/card/_link.scss +++ b/addons/rose/addon/styles/rose/components/card/_link.scss @@ -8,6 +8,7 @@ color: var(--ui-gray); display: inline-flex; flex-direction: column; + margin: 0 sizing.rems(m) sizing.rems(m) 0; a { text-decoration: none; diff --git a/addons/rose/addon/templates/components/rose/cards.hbs b/addons/rose/addon/templates/components/rose/cards.hbs new file mode 100644 index 000000000..eafcba07d --- /dev/null +++ b/addons/rose/addon/templates/components/rose/cards.hbs @@ -0,0 +1,8 @@ +
+ {{yield (hash + link=(component "rose/card/link") + )}} +
diff --git a/addons/rose/app/components/rose/cards.js b/addons/rose/app/components/rose/cards.js new file mode 100644 index 000000000..b1d33f82d --- /dev/null +++ b/addons/rose/app/components/rose/cards.js @@ -0,0 +1 @@ +export { default } from 'rose/components/rose/cards'; diff --git a/addons/rose/tests/integration/components/rose/cards-test.js b/addons/rose/tests/integration/components/rose/cards-test.js new file mode 100644 index 000000000..9c8b32743 --- /dev/null +++ b/addons/rose/tests/integration/components/rose/cards-test.js @@ -0,0 +1,22 @@ +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/cards', function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + assert.expect(2); + await render(hbs` + + + + `); + assert.ok(find('.rose-cards')); + assert.ok(find('.rose-card-link')); + }); +});