Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui-presets / src / presets / Studio / FormBuilder / FormBuilder.tsx
Size: Mime:
import React from 'react'
import { FormBuilderProps } from './typings'
import {
  defaultRenderTitle,
  defaultRenderForm,
  defaultRenderWrapper,
} from './renderProps'

class FormBuilder extends React.PureComponent<FormBuilderProps> {
  static defaultProps = {
    className: '',
    title: 'Form Text Here',
    buttonLabel: 'Text',
    inputPlaceholder: 'Input Placeholder Here',

    // renderProps
    renderTitle: defaultRenderTitle,
    renderForm: defaultRenderForm,
  }

  render() {
    const { renderTitle, renderForm, ...remainingProps } = this.props
    const children = (
      <React.Fragment>
        {renderTitle(remainingProps)}
        {renderForm(remainingProps)}
      </React.Fragment>
    )
    return defaultRenderWrapper({ children, ...remainingProps })
  }
}

export { FormBuilder }
export default FormBuilder