diff --git a/src/components/__snapshots__/renderGroup.test.js.snap b/src/components/__snapshots__/renderGroup.test.js.snap index 8b46a0a..92d30af 100644 --- a/src/components/__snapshots__/renderGroup.test.js.snap +++ b/src/components/__snapshots__/renderGroup.test.js.snap @@ -1,5 +1,66 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`The render group component Button fields inside render groups Button RenderGroup snapshots Renders a regular button 1`] = ` +
+
+
+ +
+
+
+`; + +exports[`The render group component Button fields inside render groups Button RenderGroup snapshots Renders a submit input 1`] = ` +
+
+
+ + +
+
+
+`; + exports[`The render group component Rendering with fields Does not error when passed empty array of fields 1`] = `
{ }); + describe( 'fields export', () => { + const {fields} = Components; + it( 'exports FieldGroup', () => { + expect( typeof fields.FieldGroup ).toEqual( 'function' ); + }); + it( 'exports SelectField', () => { + expect( typeof fields.SelectField ).toEqual( 'function' ); + }); + it( 'exports Input', () => { + expect( typeof fields.Input ).toEqual( 'function' ); + }); + it( 'exports Message', () => { + expect( typeof fields.Message ).toEqual( 'function' ); + }); + it( 'exports ButtonGroup', () => { + expect( typeof fields.ButtonGroup ).toEqual( 'function' ); + }); + it( 'exports Button', () => { + expect( typeof fields.Button ).toEqual( 'function' ); + }); + }); + + + }); diff --git a/src/components/fields/FieldInner.js b/src/components/fields/FieldInner.js index 2892122..62d9327 100644 --- a/src/components/fields/FieldInner.js +++ b/src/components/fields/FieldInner.js @@ -6,6 +6,8 @@ import {ariaDescribedbyAttr} from './util'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import {RenderGroup} from '../RenderGroup'; +import {Button} from "./button/Button"; + /** * Creates the field inside of a field group * @@ -31,44 +33,59 @@ export const FieldInner = (props) => { */ function inputClassName() { return classNames([ - props.fieldClassName, - RenderGroup.classNames.input - ] + props.fieldClassName, + RenderGroup.classNames.input + ] ); } - switch( props.type ){ - case 'select': - case 'dropdown': - const options = Array.isArray(props.options) ? props.options : []; - return ( - - ); - default: - case 'input': - return ( - ); + switch (props.type) { + case 'select': + case 'dropdown': + const options = Array.isArray(props.options) ? props.options : []; + return ( + + ); + case 'button' : + return ( +