// var React                         = require("react/addons")
// var friggingBootstrap             = require("../index.js")
// var frigHelpers                   = require("../../helpers.js")
// var InputMixin                    = require("../../mixins/input_mixin.js")
// var {errorList, sizeClassNames}   = friggingBootstrap
// var {humanize, clone, merge, map} = frigHelpers
// var {div, label, textarea}        = React.DOM
// var cx = require("classnames")

// friggingBootstrap.Text = React.createClass({

//   displayName: "Frig.friggingBootstrap.Text",

//   mixins: [InputMixin],

//   getInitialState: function () {
//     return {
//       errors: undefined,
//       edited: false,
//     }
//   },

//   getFriggingProps: function () {
//     return {
//       inputHtml: {
//         className: "form-control",
//         placeholder: () => this.frigProps.placeholder,
//         defaultValue: () => this.frigProps.initialValue,
//         rows: 3,
//       },
//       labelHtml: {
//         className: "control-label",
//       },
//     }
//   },

//   _cx: function () {
//     return cx({
//       "form-group": true,
//       "has-error": this.state.errors != null,
//       "has-success": this.state.edited && this.state.errors == null,
//     })
//   },

//   _errorList: function() {
//     if (this.state.errors == null) return ""
//     return errorList(this.state.errors)
//   },

//   _label: function() {
//     if (this.frigProps.label == null) return ""
//     return label(this.frigProps.labelHtml, this.frigProps.label)
//   },

//   render: function() {
//     return div({className: cx(sizeClassNames(this.frigProps))},
//       div({className: this._cx()},
//         this._label(),
//         div({className: "controls"},
//           textarea(this.frigProps.inputHtml),
//         ),
//         this._errorList(),
//       ),
//     )
//   },

// })

@@ -1,400 +1,117 @@
-// var
+let
  React 
-                        = require(%22react/addons%22)%0A// var friggingBootstrap             = require(%22../index.js%22)%0A// var frigHelpers                   = require(%22../../helpers.js%22)%0A// var InputMixin                    = require(%22../../mixins/input_mixin.js%22)%0A// var %7BerrorList, sizeClassNames%7D   = friggingBootstrap%0A// var %7Bhumanize, clone, merge, map%7D = frigHelpers%0A// var %7Bdiv, label
+= require(%22react%22)%0Alet %7BerrorList, sizeClassNames, formGroupCx, label%7D = require(%22../util.js%22)%0Alet %7Bdiv
 , te
@@ -117,23 +117,16 @@
 extarea%7D
-       
  = React
@@ -134,14 +134,11 @@
 DOM%0A
-// var
+let
  cx 
@@ -166,61 +166,64 @@
 %22)%0A%0A
-// friggingBootstrap.Text = React.createClass(%7B%0A%0A//  
+export default class extends React.Component %7B%0A%0A  static
  dis
@@ -230,17 +230,18 @@
 playName
-:
+ =
  %22Frig.f
@@ -266,542 +266,208 @@
 ext%22
-,
 %0A%0A
-//   mixins: %5BInputMixin%5D,%0A%0A//   getInitialState: function () %7B%0A//     return %7B%0A//       errors: undefined,%0A//       edited: false,%0A//     %7D%0A//   %7D,%0A%0A//   getFriggingProps: function () %7B%0A//     return %7B%0A//       inputHtml: %7B%0A//         className: %22form-control%22,%0A//         placeholder: () =%3E this.frigProps.placeholder,%0A//         defaultValue: () =%3E this.frigProps.initialValue,%0A// 
+  static defaultProps = Object.assign(require(%22../default_props.js%22))%0A%0A  constructor(props) %7B%0A    super(props)%0A%0A    this.state = %7B%0A
       
-  rows: 3,%0A//       %7D,%0A//       labelHtml: %7B%0A//         className: %22control-label%22,%0A//       %7D,%0A//     %7D%0A//   %7D,%0A%0A//   _cx: function 
+errors: undefined,%0A      edited: false,%0A    %7D%0A  %7D%0A%0A  _cx
 () %7B%0A
-// 
     
@@ -478,25 +478,22 @@
 rn cx(%7B%0A
-//
       
- 
 %22form-gr
@@ -504,19 +504,16 @@
 : true,%0A
-// 
       %22h
@@ -546,27 +546,24 @@
 rs != null,%0A
-// 
       %22has-s
@@ -623,30 +623,20 @@
 ll,%0A
-// 
     %7D)%0A
-// 
   %7D
-,
 %0A%0A
-// 
   _e
@@ -643,34 +643,21 @@
 rrorList
-: function
 () %7B%0A
-// 
     if (
@@ -685,35 +685,32 @@
 null) return %22%22%0A
-// 
     return error
@@ -737,28 +737,21 @@
 rs)%0A
-// 
   %7D
-,
 %0A%0A
-// 
   _label
 : fu
@@ -746,34 +746,21 @@
   _label
-: function
 () %7B%0A
-// 
     if (
@@ -760,29 +760,25 @@
    if (this.
-frigP
+p
 rops.label =
@@ -795,19 +795,16 @@
 turn %22%22%0A
-// 
     retu
@@ -813,29 +813,25 @@
  label(this.
-frigP
+p
 rops.labelHt
@@ -835,29 +835,25 @@
 lHtml, this.
-frigP
+p
 rops.label)%0A
@@ -856,28 +856,21 @@
 el)%0A
-// 
   %7D
-,
 %0A%0A
-// 
   render
 : fu
@@ -869,26 +869,13 @@
 nder
-: function
 () %7B%0A
-// 
     
@@ -916,29 +916,25 @@
 sNames(this.
-frigP
+p
 rops))%7D,%0A// 
@@ -926,27 +926,24 @@
 s.props))%7D,%0A
-// 
       div(%7Bc
@@ -965,19 +965,16 @@
 _cx()%7D,%0A
-// 
         
@@ -984,27 +984,24 @@
 s._label(),%0A
-// 
         div(
@@ -1025,19 +1025,16 @@
 rols%22%7D,%0A
-// 
         
@@ -1053,13 +1053,9 @@
 his.
-frigP
+p
 rops
@@ -1067,26 +1067,24 @@
 tHtml),%0A
-//
         
  ),%0A//  
@@ -1071,31 +1071,27 @@
 l),%0A        
- 
 ),%0A
-// 
         this
@@ -1105,19 +1105,16 @@
 List(),%0A
-// 
       ),
@@ -1118,28 +1118,19 @@
  ),%0A
-// 
     )%0A
-//   %7D,%0A%0A// %7D)
+  %7D%0A  %0A%7D
 %0A

Add Text Component Code As React ES6 Class