chore: 🤖 add contextual radio/radio group components

This commit is contained in:
Randall Morey committed 2020-05-07 12:49:40 -04:00
1 parent 271c671448
commit a4b16bdddb
11 files changed
+159 -3

No files matched your search

@@ -0,0 +1,8 @@
import Component from '@ember/component';
import layout from '../../../../templates/components/rose/form/radio/group';
export default Component.extend({
layout,
tagName: ''
});
@@ -0,0 +1,20 @@
import Component from '@ember/component';
import layout from '../../../../templates/components/rose/form/radio/radio';
/**
* A HTML `<input type="radio">` element.
*
* @example
* <Rose::Form::Radio
* @id="fieldId"
* @label="label"
* name="fieldName"
* disabled={{true}}
* @checked={{true}}
* @error={{true}}
* />
*/
export default Component.extend({
layout,
tagName: '',
});
@@ -0,0 +1,3 @@
{{yield (hash
radio=(component 'rose/form/radio/radio' name=@name variable=@variable)
)}}
@@ -0,0 +1,18 @@
<div class="rose-form-radio{{if @error " error"}}">
<RadioButton
...attributes
@radioClass="rose-form-radio-field"
@radioId={{@id}}
type="radio"
@name={{@name}}
@value={{@value}}
@groupValue={{@variable}} />
<label class="rose-form-radio-label" for={{@id}}>
{{@label}}
</label>
{{yield}}
</div>
@@ -0,0 +1 @@
export { default } from 'rose/components/rose/form/radio/group';
@@ -0,0 +1 @@
export { default } from 'rose/components/rose/form/radio/radio';
+19
View File
@@ -120,6 +120,25 @@ Dummy app index template
/>
<h2>Radio</h2>
<Rose::Form::Radio::Group @name="color" @variable="green" as |radioGroup|>
<radioGroup.radio
@id="red-radio"
@label="Red"
@value="red"
/>
<radioGroup.radio
@id="green-radio"
@label="Green"
@value="green"
/>
<radioGroup.radio
@id="blue-radio"
@label="Blue"
@value="blue"
/>
</Rose::Form::Radio::Group>
<Rose::Form::Radio
@id="radio-1"
@label="Label"
+1
View File
@@ -59,6 +59,7 @@
"ember-load-initializers": "^2.1.1",
"ember-maybe-import-regenerator": "^0.1.6",
"ember-qunit": "^4.6.0",
"ember-radio-button": "^2.0.1",
"ember-resolver": "^7.0.0",
"ember-source": "~3.12.0",
"ember-source-channel-url": "^2.0.1",
@@ -0,0 +1,26 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
module('Integration | Component | rose/form/radio/group', function(hooks) {
setupRenderingTest(hooks);
test('it renders', async function(assert) {
// Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.set('myAction', function(val) { ... });
await render(hbs`{{rose/form/radio/group}}`);
assert.equal(this.element.textContent.trim(), '');
// Template block usage:
await render(hbs`
{{#rose/form/radio/group}}
template block text
{{/rose/form/radio/group}}
`);
assert.equal(this.element.textContent.trim(), 'template block text');
});
});
@@ -0,0 +1,26 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
module('Integration | Component | rose/form/radio/radio', function(hooks) {
setupRenderingTest(hooks);
test('it renders', async function(assert) {
// Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.set('myAction', function(val) { ... });
await render(hbs`{{rose/form/radio/radio}}`);
assert.equal(this.element.textContent.trim(), '');
// Template block usage:
await render(hbs`
{{#rose/form/radio/radio}}
template block text
{{/rose/form/radio/radio}}
`);
assert.equal(this.element.textContent.trim(), 'template block text');
});
});
+36 -3
View File
@@ -4204,7 +4204,7 @@ broccoli-output-wrapper@^3.2.1:
heimdalljs-logger "^0.1.10"
symlink-or-copy "^1.2.0"
broccoli-persistent-filter@^1.1.6, broccoli-persistent-filter@^1.4.3:
broccoli-persistent-filter@^1.0.3, broccoli-persistent-filter@^1.1.6, broccoli-persistent-filter@^1.4.3:
version "1.4.6"
resolved "https://registry.yarnpkg.com/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz#80762d19000880a77da33c34373299c0f6a3e615"
integrity sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==
@@ -6226,7 +6226,7 @@ ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.0:
resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.0.tgz#de3baedd093163b6c2461f95964888c1676325ac"
integrity sha512-Zr4my8Xn+CzO0gIuFNXji0eTRml5AxZUTDQz/wsNJ5AJAtyFWCY4QtKdoELNNbiCVGt1lq5yLiwTm4scGKu6xA==
ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.16.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1:
ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.16.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1, ember-cli-babel@^6.9.2:
version "6.18.0"
resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz#3f6435fd275172edeff2b634ee7b29ce74318957"
integrity sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==
@@ -6314,6 +6314,17 @@ ember-cli-htmlbars-inline-precompile@^2.1.0:
heimdalljs-logger "^0.1.9"
silent-error "^1.1.0"
ember-cli-htmlbars@^1.1.1:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-1.3.5.tgz#65be9678b274b5e7861d7f75c188780af7ef9d13"
integrity sha512-Qur/anb0Vk57qmIhGLkSzl8X1QIMoae6pLa14MRQ8+YD2N5fNs3qdhEFf0SDBquPOH1QxQtraiNQvji47QBJyg==
dependencies:
broccoli-persistent-filter "^1.0.3"
ember-cli-version-checker "^1.0.2"
hash-for-dep "^1.0.2"
json-stable-stringify "^1.0.0"
strip-bom "^2.0.0"
ember-cli-htmlbars@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-3.1.0.tgz#87806c2a0bca2ab52d4fb8af8e2215c1ca718a99"
@@ -6473,6 +6484,13 @@ ember-cli-uglify@^3.0.0:
broccoli-uglify-sourcemap "^3.1.0"
lodash.defaultsdeep "^4.6.0"
ember-cli-version-checker@^1.0.2:
version "1.3.1"
resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz#0bc2d134c830142da64bf9627a0eded10b61ae72"
integrity sha1-C8LRNMgwFC2mS/lieg7e0QthrnI=
dependencies:
semver "^5.3.0"
ember-cli-version-checker@^2.0.0, ember-cli-version-checker@^2.1.0, ember-cli-version-checker@^2.1.1, ember-cli-version-checker@^2.1.2:
version "2.2.0"
resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz#47771b731fe0962705e27c8199a9e3825709f3b3"
@@ -6662,6 +6680,14 @@ ember-qunit@^4.6.0:
ember-cli-test-loader "^2.2.0"
qunit "^2.9.3"
ember-radio-button@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/ember-radio-button/-/ember-radio-button-2.0.1.tgz#f081a44d581a4b1db88fef79ec5c47da712ab963"
integrity sha512-cAAyFgNIM3PquowkWfa0lOSlq4PPst9vpkNiLi5yhd1LJ4lVtwgn6s+OpPXWKJLZdig2m31PWU8jxobcubge5w==
dependencies:
ember-cli-babel "^6.9.2"
ember-cli-htmlbars "^1.1.1"
ember-resolver@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/ember-resolver/-/ember-resolver-7.0.0.tgz#07ca86b3bae373395b44bba784b8c133f75d61c2"
@@ -9543,7 +9569,7 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
is-utf8@^0.2.1:
is-utf8@^0.2.0, is-utf8@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
@@ -13956,6 +13982,13 @@ strip-bom@4.0.0, strip-bom@^4.0.0:
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
dependencies:
is-utf8 "^0.2.0"
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"