Added demo components for dev

Change-Id: Ibfe137d4e65154dc8dae2078c3eac794303b5484
diff --git a/dev/js/alert.dev.js b/dev/js/alert.dev.js
new file mode 100644
index 0000000..6d5cefc
--- /dev/null
+++ b/dev/js/alert.dev.js
@@ -0,0 +1,32 @@
+'use strict';

+

+angular.module('ngXosLib')

+  .component('alertTest', {

+    restrict: 'E',

+    bindings: {},

+    bindToController: true,

+    controllerAs: 'vm',

+    templateUrl: 'templates/alert.dev.html',

+    controller: function () {

+      this.config1 = {

+        type: 'danger'

+      };

+

+      this.config2 = {

+        type: 'danger',

+        closeBtn: true

+      };

+

+      this.config3 = {

+        type: 'info'

+      };

+

+      this.config4 = {

+        type: 'success'

+      };

+

+      this.config5 = {

+        type: 'warning'

+      };

+    }

+  })
\ No newline at end of file
diff --git a/dev/js/field.dev.js b/dev/js/field.dev.js
new file mode 100644
index 0000000..656aec9
--- /dev/null
+++ b/dev/js/field.dev.js
@@ -0,0 +1,52 @@
+'use strict';

+

+angular.module('ngXosLib')

+  .component('fieldTest', {

+    restrict: 'E',

+    bindings: {},

+    bindToController: true,

+    controllerAs: 'vm',

+    templateUrl: 'templates/field.dev.html',

+    controller: function () {

+      this.field1 = {

+        name: 'number-field',

+        field: {label: 'My Number Value:', type: 'number'},

+        model: 2

+      };

+

+      this.field2 = {

+        name: 'date-field',

+        field: {label: 'My Date Value:', type: 'date'},

+        model: new Date()

+      };

+

+      this.field3 = {

+        name: 'boolean-field',

+        field: {label: 'My Boolean Value:', type: 'boolean'},

+        model: true

+      };

+

+      this.field4 = {

+        name: 'email-field',

+        field: {label: 'My Email Value:', type: 'email'},

+        model: 'sample@domain.us'

+      };

+      this.field5 = {

+        name: 'Empty Object Field',

+        label: 'Empty Object Field',

+        type: 'object',

+        properties: {

+          foo: {

+            label: 'FooLabel:',

+            type: 'string',

+            validators: {

+              required: true

+            }

+          },

+          bar: {

+            type: 'number'

+          }

+        }

+      }

+    }

+  });
\ No newline at end of file
diff --git a/dev/js/form.dev.js b/dev/js/form.dev.js
new file mode 100644
index 0000000..99afda0
--- /dev/null
+++ b/dev/js/form.dev.js
@@ -0,0 +1,62 @@
+'use strict';

+

+angular.module('ngXosLib')

+  .component('formTest', {

+    restrict: 'E',

+    bindings: {},

+    bindToController: true,

+    controllerAs: 'vm',

+    templateUrl: 'templates/form.dev.html',

+    controller: function () {

+      this.model = {

+        first_name: 'Jhon',

+        last_name: 'Doe',

+      },

+      this.config = {

+        exclude: ['password', 'last_login'],

+        formName: 'sampleForm',

+        actions: [

+          {

+            label: 'Save',

+            icon: 'ok', // refers to bootstraps glyphicon

+            cb: (user) => { // receive the model

+              console.log(user);

+            },

+            class: 'success'

+          }

+        ],

+        fields: {

+          first_name: {

+            type: 'string',

+            validators: {

+              required: true

+            }

+          },

+          last_name: {

+            label: 'Surname',

+            type: 'string',

+            validators: {

+              required: true,

+              minlength: 10

+            }

+          },

+          details_field: {

+            label: 'Empty Object Field',

+            type: 'object',

+            properties: {

+              foo: {

+                label: 'FooLabel:',

+                type: 'string',

+                validators: {

+                  required: true

+                }

+              },

+              bar: {

+                type: 'number'

+              }

+            }

+          }

+        }

+      }

+    }

+  })
\ No newline at end of file
diff --git a/dev/js/main.js b/dev/js/main.js
new file mode 100644
index 0000000..6026569
--- /dev/null
+++ b/dev/js/main.js
@@ -0,0 +1,74 @@
+/* eslint-disable angular/ng_module_name */
+(function(){
+  'use strict';
+  console.log('hello!');
+  angular.module('ngXosLib', ['xos.helpers', 'ui.router'])
+  .run(function () {
+    console.info('Dev Environment ready!')
+  })
+  .config(($stateProvider) => {
+    $stateProvider
+    .state('form-test', {
+      url: '/form/',
+      template: '<form-test></form-test>'
+    })
+    .state('table-test', {
+      url: '/table/',
+      template: '<table-test></table-test>'
+    })
+    .state('alert-test', {
+      url: '/alert/',
+      template: '<alert-test></alert-test>'
+    })
+    .state('field-test', {
+      url: '/field/',
+      template: '<field-test></field-test>'
+    })
+  })
+  .component('navDemo', {
+    restrict: 'E',
+    bindings: {},
+    bindToController: true,
+    controllerAs: 'vm',
+    templateUrl: 'templates/nav.dev.html',
+    controller: function ($rootScope) {
+
+      this.active = 'form';
+
+      $rootScope.$on('$stateChangeSuccess', (event, toState, toParams, fromState, fromParams)=> {
+
+        let strSelected = toState.url.split('/').join('');
+        this.active = strSelected.charAt(0).toUpperCase() + strSelected.slice(1);
+      });
+
+      this.config = {
+        actions: [
+          {
+            label: 'Form',
+            class: '',
+            link: '/#/form/'
+          },
+          {
+            label: 'Field',
+            class: '',
+            link: '/#/field/'
+
+          },
+          {
+            label: 'Alert',
+            class: '',
+            link: '/#/alert/'
+
+          },
+          {
+            label: 'Table',
+            class: '',
+            link: '/#/table/'
+
+          }
+        ]
+      }
+    }
+  });
+
+})();
\ No newline at end of file
diff --git a/dev/js/table.dev.js b/dev/js/table.dev.js
new file mode 100644
index 0000000..4ac974d
--- /dev/null
+++ b/dev/js/table.dev.js
@@ -0,0 +1,25 @@
+'use strict';

+

+angular.module('ngXosLib')

+  .component('tableTest', {

+    restrict: 'E',

+    bindings: {},

+    bindToController: true,

+    controllerAs: 'vm',

+    templateUrl: 'templates/table.dev.html',

+    controller: function () {

+      this.config = {

+        columns: [

+          {

+            label: '#',

+            prop: 'id'

+          },

+          {

+            label: 'Name:',

+            prop: 'name'

+          }

+        ]

+      };

+      this.data = [{id: 1, name: 'Jhon'}]

+    }

+  })
\ No newline at end of file