import Ember from 'ember';

/**
 * @module mixins
 * @class sl-input-based
 */
export default Ember.Mixin.create({

    /**
     * Class name bindings for the component
     *
     * @property {Array} classNameBindings
     */
    classNameBindings: [ 'disabled', 'optional', 'readonly', 'required' ],

    /**
     * Whether the input-based component should be disabled
     *
     * The internal input element should be passed this attribute as a property.
     *
     * @property {boolean} disabled
     * @default false
     */
    disabled: false,

    /**
     * Whether the input-based component should be displayed as optional
     *
     * @property {boolean} optional
     * @default false
     */
    optional: false,

    /**
     * Whether the input-based component is readonly or not
     *
     * The internal input element should be passed this attribute as a property.
     *
     * @property {boolean} readonly
     * @default false
     */
    readonly: false,

    /**
     * Whether the input-based component is required
     *
     * @property {boolean} required
     * @default false
     */
    required: false

});

@@ -53,16 +53,17 @@
  @class 
+ 
 sl-input
@@ -110,16 +110,218 @@
 eate(%7B%0A%0A
+    // -------------------------------------------------------------------------%0A    // Dependencies%0A%0A    // -------------------------------------------------------------------------%0A    // Attributes%0A%0A
     /**%0A
@@ -390,16 +390,22 @@
 operty %7B
+Ember.
 Array%7D c
@@ -505,16 +505,309 @@
 ed' %5D,%0A%0A
+    // -------------------------------------------------------------------------%0A    // Actions%0A%0A    // -------------------------------------------------------------------------%0A    // Events%0A%0A    // -------------------------------------------------------------------------%0A    // Properties%0A%0A
     /**%0A
@@ -1005,32 +1005,33 @@
      * @default 
+ 
 false%0A     */%0A  
@@ -1182,32 +1182,33 @@
      * @default 
+ 
 false%0A     */%0A  
@@ -1434,32 +1434,33 @@
      * @default 
+ 
 false%0A     */%0A  
@@ -1599,16 +1599,17 @@
 default 
+ 
 false%0A  
@@ -1635,12 +1635,208 @@
  false%0A%0A
+    // -------------------------------------------------------------------------%0A    // Observers%0A%0A    // -------------------------------------------------------------------------%0A    // Methods%0A%0A
 %7D);%0A

Refactor to follow coding guidelines