Index: resources/assets/js/app.js
===================================================================
--- resources/assets/js/app.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/app.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,685 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return __webpack_require__(__webpack_require__.s = 0);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./public/assets/sass/app.scss":
+/*!*************************************!*\
+  !*** ./public/assets/sass/app.scss ***!
+  \*************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ "./resources/js/app.js":
+/*!*****************************!*\
+  !*** ./resources/js/app.js ***!
+  \*****************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+(function ($) {
+  var wind_ = $(window),
+      body_ = $('body');
+  feather.replace({
+    'stroke-width': 1.5
+  });
+  $(document).on('click', '[data-toggle="fullscreen"]', function () {
+    $(this).toggleClass('active-fullscreen');
+
+    if (document.fullscreenEnabled) {
+      if ($(this).hasClass("active-fullscreen")) {
+        document.documentElement.requestFullscreen();
+      } else {
+        document.exitFullscreen();
+      }
+    } else {
+      alert("Your browser does not support fullscreen.");
+    }
+
+    return false;
+  });
+  $(document).on('click', '.overlay', function () {
+    $.removeOverlay();
+
+    if (body_.hasClass('horizontal-navigation')) {
+      $('.horizontal-navigation').removeClass('open');
+    } else {
+      $('.navigation').removeClass('open');
+    }
+
+    body_.removeClass('navigation-show');
+  });
+  $(document).on('click', '[data-sidebar-target]', function () {
+    var target = $(this).data('sidebar-target');
+    $('body').addClass('no-scroll');
+    $('.sidebar-group').addClass('show');
+    $('.sidebar-group .sidebar').removeClass('show');
+    $('.sidebar-group .sidebar' + target).addClass('show');
+    return false;
+  });
+  $(document).on('click', '.sidebar-group', function (e) {
+    if ($(e.target).is($('.sidebar-group'))) {
+      $('.sidebar-group').removeClass('show');
+      $('body').removeClass('no-scroll');
+      $('.sidebar-group .sidebar').removeClass('show');
+    }
+  }); // Active pages, automatically show on the menu
+
+  $('.navigation .navigation-menu-body .navigation-menu-group ul li a.active').closest('ul').parent('li').addClass('open').closest('ul').parent('li').addClass('open');
+  $('.navigation .navigation-menu-body .navigation-menu-group ul li a.active').closest('div').addClass('open');
+  $('.navigation .navigation-menu-tab [data-nav-target="#' + $('.navigation .navigation-menu-body .navigation-menu-group ul li a.active').closest('div').attr('id') + '"]').addClass('active');
+  $('body.horizontal-navigation .horizontal-navigation ul li a.active').closest('ul').parent('li').addClass('open').closest('ul').parent('li').addClass('open');
+  /*------------- create/remove overlay -------------*/
+
+  $.createOverlay = function () {
+    if ($('.overlay').length < 1) {
+      body_.addClass('no-scroll').append('<div class="overlay"></div>');
+      $('.overlay').addClass('show');
+    }
+  };
+
+  $.removeOverlay = function () {
+    body_.removeClass('no-scroll');
+    $('.overlay').remove();
+  };
+  /*------------- create/remove overlay -------------*/
+
+
+  $('[data-backround-image]').each(function (e) {
+    $(this).css("background", 'url(' + $(this).data('backround-image') + ')');
+  });
+  /*------------- page loader -------------*/
+
+  wind_.on('load', function () {
+    $('.preloader').fadeOut(400, function () {
+      setTimeout(function () {
+        toastr.options = {
+          timeOut: 2000,
+          progressBar: true,
+          showMethod: "slideDown",
+          hideMethod: "slideUp",
+          showDuration: 200,
+          hideDuration: 200,
+          positionClass: "toast-top-center"
+        };
+        //toastr.success('Welcome');
+        $('.theme-switcher').removeClass('open');
+      }, 500); // $('.theme-switcher').css('opacity', 1);
+    });
+  });
+  /*------------- page loader -------------*/
+
+  /*------------- side menu (sub menü arrow) -------------*/
+
+  wind_.on('load', function () {
+    setTimeout(function () {
+      $('.navigation .navigation-menu-body ul li a').each(function () {
+        var $this = $(this);
+
+        if ($this.next('ul').length) {
+          $this.append('<i class="sub-menu-arrow ti-angle-up"></i>');
+        }
+      });
+      $('.navigation .navigation-menu-body ul li.open>a>.sub-menu-arrow').removeClass('ti-plus').addClass('ti-minus').addClass('rotate-in');
+      $('body.horizontal-navigation .horizontal-navigation ul li a').each(function () {
+        var $this = $(this);
+
+        if ($this.next('ul').length) {
+          $this.append('<i class="sub-menu-arrow ti-angle-right"></i>');
+        }
+      });
+    }, 200);
+  });
+  /*------------- side menu (sub menü arrow) -------------*/
+
+  $(document).on('click', '[data-action="navigation-toggler"]', function () {
+    if (body_.hasClass('horizontal-navigation')) {
+      $('.horizontal-navigation').toggleClass('open');
+    } else {
+      $('.navigation').toggleClass('open');
+    }
+
+    $.createOverlay();
+  });
+  $(document).on('click', '[data-nav-target]', function () {
+    var $this = $(this),
+        target = $this.data('nav-target');
+
+    if (body_.hasClass('navigation-toggle-one')) {
+      body_.addClass('navigation-show');
+    }
+
+    if (body_.hasClass('horizontal-navigation')) {
+      $('.navigation .navigation-menu-body').show();
+    }
+
+    $('.navigation .navigation-menu-body .navigation-menu-group > div').removeClass('open');
+    $('.navigation .navigation-menu-body .navigation-menu-group ' + target).addClass('open');
+    $('[data-nav-target]').removeClass('active');
+    $this.addClass('active');
+    $this.tooltip('hide');
+    return false;
+  });
+  var c = $('.header .header-left .header-logo').clone();
+  $('.navigation .navigation-header').append(c.addClass('navigation-logo').removeClass('header-logo'));
+  $(document).on('click', '.navigation-toggler a', function () {
+    if (wind_.width() < 1200) {
+      $.createOverlay();
+      body_.addClass('navigation-show');
+    } else {
+      if (!body_.hasClass('navigation-toggle-one') && !body_.hasClass('navigation-toggle-two')) {
+        body_.addClass('navigation-toggle-one');
+      } else if (body_.hasClass('navigation-toggle-one') && !body_.hasClass('navigation-toggle-two')) {
+        body_.addClass('navigation-toggle-two');
+        body_.removeClass('navigation-toggle-one');
+      } else if (!body_.hasClass('navigation-toggle-one') && body_.hasClass('navigation-toggle-two')) {
+        body_.removeClass('navigation-toggle-two');
+        body_.removeClass('navigation-toggle-one');
+      }
+    }
+
+    return false;
+  });
+  $(document).on('click', '.header-toggler a', function () {
+    $('.header ul.navbar-nav').toggleClass('open');
+    return false;
+  });
+  $(document).on('click', '*', function (e) {
+    if (!$(e.target).is($('.navigation, .navigation *, .navigation-toggler *')) && body_.hasClass('navigation-toggle-one')) {
+      body_.removeClass('navigation-show');
+    }
+  });
+  $(document).on('click', '*', function (e) {
+    if (!$(e.target).is('.header ul.navbar-nav, .header ul.navbar-nav *, .header-toggler, .header-toggler *')) {
+      $('.header ul.navbar-nav').removeClass('open');
+    }
+  });
+  /*------------- form validation -------------*/
+
+  window.addEventListener('load', function () {
+    // Fetch all the forms we want to apply custom Bootstrap validation styles to
+    var forms = document.getElementsByClassName('needs-validation'); // Loop over them and prevent submission
+
+    Array.prototype.filter.call(forms, function (form) {
+      form.addEventListener('submit', function (event) {
+        if (form.checkValidity() === false) {
+          event.preventDefault();
+          event.stopPropagation();
+        }
+
+        form.classList.add('was-validated');
+      }, false);
+    });
+  }, false);
+  /*------------- form validation -------------*/
+
+  /*------------- responsive html table -------------*/
+
+  var table_responsive_stack = $(".table-responsive-stack");
+  table_responsive_stack.find("th").each(function (i) {
+    $(".table-responsive-stack td:nth-child(" + (i + 1) + ")").prepend('<span class="table-responsive-stack-thead">' + $(this).text() + ":</span> ");
+    $(".table-responsive-stack-thead").hide();
+  });
+  table_responsive_stack.each(function () {
+    var thCount = $(this).find("th").length,
+        rowGrow = 100 / thCount + "%";
+    $(this).find("th, td").css("flex-basis", rowGrow);
+  });
+
+  function flexTable() {
+    if (wind_.width() < 768) {
+      $(".table-responsive-stack").each(function (i) {
+        $(this).find(".table-responsive-stack-thead").show();
+        $(this).find("thead").hide();
+      }); // window is less than 768px
+    } else {
+      $(".table-responsive-stack").each(function (i) {
+        $(this).find(".table-responsive-stack-thead").hide();
+        $(this).find("thead").show();
+      });
+    }
+  }
+
+  flexTable();
+
+  window.onresize = function (event) {
+    flexTable();
+  };
+  /*------------- responsive html table -------------*/
+
+  /*------------- header search -------------*/
+
+
+  $(document).on('click', '[data-toggle="search"], [data-toggle="search"] *', function () {
+    $('.header .header-body .header-search').show().find('.form-control').focus();
+    return false;
+  });
+  $(document).on('click', '.close-header-search, .close-header-search svg', function () {
+    $('.header .header-body .header-search').hide();
+    return false;
+  });
+  $(document).on('click', '*', function (e) {
+    if (!$(e.target).is($('.header, .header *, [data-toggle="search"], [data-toggle="search"] *'))) {
+      $('.header .header-body .header-search').hide();
+    }
+  });
+  /*------------- header search -------------*/
+
+  /*------------- custom accordion -------------*/
+
+  $(document).on('click', '.accordion.custom-accordion .accordion-row a.accordion-header', function () {
+    var $this = $(this);
+    $this.closest('.accordion.custom-accordion').find('.accordion-row').not($this.parent()).removeClass('open');
+    $this.parent('.accordion-row').toggleClass('open');
+    return false;
+  });
+  /*------------- custom accordion -------------*/
+
+  /*------------- responsive table dropdown -------------*/
+
+  var dropdownMenu,
+      table_responsive = $('.table-responsive');
+  table_responsive.on('show.bs.dropdown', function (e) {
+    dropdownMenu = $(e.target).find('.dropdown-menu');
+    body_.append(dropdownMenu.detach());
+    var eOffset = $(e.target).offset();
+    dropdownMenu.css({
+      'display': 'block',
+      'top': eOffset.top + $(e.target).outerHeight(),
+      'left': eOffset.left,
+      'width': '184px',
+      'font-size': '14px'
+    });
+    dropdownMenu.addClass("mobPosDropdown");
+  });
+  table_responsive.on('hide.bs.dropdown', function (e) {
+    $(e.target).append(dropdownMenu.detach());
+    dropdownMenu.hide();
+  });
+  /*------------- responsive table dropdown -------------*/
+
+  /*------------- chat -------------*/
+
+  $(document).on('click', '.chat-block .chat-sidebar .chat-sidebar-content .list-group .list-group-item', function () {
+    $('.chat-block .chat-content').addClass('chat-mobile-open');
+    return false;
+  });
+  $(document).on('click', '.chat-block .chat-content .mobile-chat-close-btn a', function () {
+    $('.chat-block .chat-content').removeClass('chat-mobile-open');
+    return false;
+  });
+  /*------------- chat -------------*/
+
+  /*------------- aside menu toggle -------------*/
+
+  $(document).on('click', '.navigation ul li a', function () {
+    var $this = $(this);
+
+    if ($this.next('ul').length) {
+      var sub_menu_arrow = $this.find('.sub-menu-arrow');
+      sub_menu_arrow.toggleClass('rotate-in');
+      $this.next('ul').toggle(200);
+      $this.parent('li').siblings().find('ul').not($this.parent('li').find('ul')).slideUp(200);
+      $this.next('ul').find('li ul').slideUp(200);
+      $this.next('ul').find('li>a').find('.sub-menu-arrow').removeClass('ti-minus').addClass('ti-plus');
+      $this.next('ul').find('li>a').find('.sub-menu-arrow').removeClass('rotate-in');
+      $this.parent('li').siblings().not($this.parent('li').find('ul')).find('>a').find('.sub-menu-arrow').removeClass('ti-minus').addClass('ti-plus');
+      $this.parent('li').siblings().not($this.parent('li').find('ul')).find('>a').find('.sub-menu-arrow').removeClass('rotate-in');
+
+      if (sub_menu_arrow.hasClass('rotate-in')) {
+        setTimeout(function () {
+          sub_menu_arrow.removeClass('ti-plus').addClass('ti-minus');
+        }, 200);
+      } else {
+        sub_menu_arrow.removeClass('ti-minus').addClass('ti-plus');
+      }
+
+      if (!body_.hasClass('horizontal-side-menu') && wind_.width() >= 1200) {
+        setTimeout(function (e) {
+          $('.navigation .navigation-menu-body').getNiceScroll().resize();
+        }, 300);
+      }
+
+      return false;
+    }
+  });
+  $(document).on('click', '.horizontal-navigation ul li a', function () {
+    var $this = $(this);
+
+    if ($this.next('ul').length) {
+      $this.next('ul').toggle(200);
+      $this.parent('li').siblings().find('ul').not($this.parent('li').find('ul')).slideUp(200);
+      $this.next('ul').find('li ul').slideUp(200);
+      return false;
+    }
+  });
+  /*------------- aside menu toggle -------------*/
+
+  /*------------- other -------------*/
+
+  $(document).on('click', '.dropdown-menu', function (e) {
+    e.stopPropagation();
+  });
+  $('#exampleModal').on('show.bs.modal', function (event) {
+    var button = $(event.relatedTarget),
+        recipient = button.data('whatever'),
+        modal = $(this);
+    modal.find('.modal-title').text('New message to ' + recipient);
+    modal.find('.modal-body input').val(recipient);
+  });
+  $('[data-toggle="tooltip"]').tooltip({
+    container: 'body'
+  });
+  $('[data-toggle="popover"]').popover();
+  $('.carousel').carousel();
+
+  if (wind_.width() >= 992) {
+    $('.card-scroll').niceScroll();
+    $('.table-responsive').niceScroll();
+    $('.sidebar-group .sidebar').niceScroll();
+    $('.app-block .app-content .app-lists').niceScroll();
+    $('.app-block .app-sidebar .app-sidebar-menu').niceScroll();
+    $('.chat-block .chat-sidebar .chat-sidebar-content').niceScroll();
+    var chat_messages = $('.chat-block .chat-content .messages');
+
+    if (chat_messages.length) {
+      chat_messages.niceScroll({
+        horizrailenabled: false
+      });
+      chat_messages.getNiceScroll(0).doScrollTop(chat_messages.get(0).scrollHeight, -1);
+    }
+  }
+
+  if (!body_.hasClass('small-navigation') && !body_.hasClass('horizontal-navigation') && wind_.width() >= 992) {
+    $('.navigation .navigation-menu-body').niceScroll();
+  }
+
+  $('.dropdown-menu ul.list-group').niceScroll();
+  /* Theme Switcher */
+
+  /* var path = window.location.pathname;
+  var page = path.split("/").pop();
+   var theme_switcher_html = '<div class="theme-switcher open"> \n\
+      <div class="theme-switcher-button"> \n\
+          <i class="fa fa-cog"></i> \n\
+      </div> \n\
+      <div class="theme-switcher-panel"> \n\
+          <div class="card"> \n\
+              <div class="card-body"> \n\
+                  <h6 class="card-title">Theme Switcher</h6> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="dark"> \n\
+                          <label class="custom-control-label" for="dark">Dark</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="semi-dark"> \n\
+                          <label class="custom-control-label" for="semi-dark">Semi dark</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="shadow-layout"> \n\
+                          <label class="custom-control-label" for="shadow-layout">Shadow layout</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="sticky-navigation"> \n\
+                          <label class="custom-control-label" for="sticky-navigation">Sticky navigation</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="small-navigation"> \n\
+                          <label class="custom-control-label" for="small-navigation">Small navigation</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="hidden-navigation"> \n\
+                          <label class="custom-control-label" for="hidden-navigation">Hidden navigation</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="sticky-header"> \n\
+                          <label class="custom-control-label" for="sticky-header">Sticky header</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="light-header"> \n\
+                          <label class="custom-control-label" for="light-header">Light header</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="sticky-footer"> \n\
+                          <label class="custom-control-label" for="sticky-footer">Sticky footer</label> \n\
+                      </div> \n\
+                  </div> \n\
+              </div> \n\
+          </div> \n\
+      </div> \n\
+  </div>';
+   $('body').append(theme_switcher_html);
+   $(document).on('click', '.theme-switcher input[type="checkbox"]', function () {
+      var id = $(this).attr('id');
+      if (id === 'sticky-navigation') {
+          if ($(this).prop('checked')) {
+              $('.navigation').niceScroll().resize();
+          } else {
+              $('.navigation').niceScroll().remove();
+          }
+          if ($('body').hasClass('small-navigation')) {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('.dropdown-divider').remove();
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').tooltip('dispose');
+                  }
+              });
+              $('body').removeClass('small-navigation');
+              $('.theme-switcher input[type="checkbox"][id="small-navigation"]').prop('checked', false);
+          }
+          if ($('body').hasClass('hidden-navigation')) {CUSTOMİZABLE
+              $('body').removeClass('hidden-navigation');
+              $('.theme-switcher input[type="checkbox"][id="hidden-navigation"]').prop('checked', false);
+          }
+      }
+      if (id === 'small-navigation') {
+          if ($(this).prop('checked')) {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('> a').next('ul').prepend('<li class="dropdown-divider">' + $(this).find('> a > span:not(.badge)').text() + '</li>')
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').attr('title', $(this).find('> a > span:not(.badge)').text());
+                      $(this).find('> a').tooltip({
+                          placement: "right"
+                      });
+                  }
+              });
+          } else {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('.dropdown-divider').remove();
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').tooltip('dispose');
+                  }
+              });
+          }
+          if ($('body').hasClass('sticky-navigation')) {
+              $('body').removeClass('sticky-navigation');
+              $('.navigation').niceScroll().remove();
+              $('.theme-switcher input[type="checkbox"][id="sticky-navigation"]').prop('checked', false);
+          }
+          if ($('body').hasClass('hidden-navigation')) {
+              $('body').removeClass('hidden-navigation');
+              $('.theme-switcher input[type="checkbox"][id="hidden-navigation"]').prop('checked', false);
+          }
+      }
+      if (id === 'hidden-navigation') {
+          setTimeout(function () {
+              $('.navigation').niceScroll().resize();
+              $('.app-block .app-content .app-lists').niceScroll().resize();
+              $('.app-block .app-sidebar .app-sidebar-menu').niceScroll().resize();
+              $('.chat-block .chat-sidebar .chat-sidebar-content .tab-content .tab-pane').niceScroll().resize();
+          }, 200);
+          if (!$(this).prop('checked')) {
+              $.removeOverlay();
+              $('.navigation').removeClass('open');
+          }
+          if (page != 'chat.html' && page != 'inbox.html' && page != 'app-todo.html') {
+              if ($('body').hasClass('sticky-navigation')) {
+                  $('body').removeClass('sticky-navigation');
+                  $('.theme-switcher input[type="checkbox"][id="sticky-navigation"]').prop('checked', false);
+              }
+          }
+          if ($('body').hasClass('small-navigation')) {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('.dropdown-divider').remove();
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').tooltip('dispose');
+                  }
+              });
+              $('body').removeClass('small-navigation');
+              $('.theme-switcher input[type="checkbox"][id="small-navigation"]').prop('checked', false);
+          }
+      }
+      if (id === 'dark') {
+          if ($('body').hasClass('semi-dark')) {
+              $('body').removeClass('semi-dark');
+              $('.theme-switcher input[type="checkbox"][id="semi-dark"]').prop('checked', false);
+          }
+      }
+      if (id === 'semi-dark') {
+          if ($('body').hasClass('dark')) {
+              $('body').removeClass('dark');
+              $('.theme-switcher input[type="checkbox"][id="dark"]').prop('checked', false);
+          }
+      }
+      $('body').toggleClass(id);
+  });
+   $(document).on('click', '.theme-switcher .theme-switcher-button', function () {
+      $('.theme-switcher').toggleClass('open');
+  }); */
+})(jQuery);
+
+/***/ }),
+
+/***/ 0:
+/*!*****************************************************************!*\
+  !*** multi ./resources/js/app.js ./public/assets/sass/app.scss ***!
+  \*****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__(/**/"./resources/js/app.js");
+module.exports = __webpack_require__(/**/"./public/assets/sass/app.scss");
+
+
+/***/ })
+
+/******/ });
Index: resources/assets/js/app.min.js
===================================================================
--- resources/assets/js/app.min.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/app.min.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,685 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return __webpack_require__(__webpack_require__.s = 0);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./public/assets/sass/app.scss":
+/*!*************************************!*\
+  !*** ./public/assets/sass/app.scss ***!
+  \*************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ "./resources/js/app.js":
+/*!*****************************!*\
+  !*** ./resources/js/app.js ***!
+  \*****************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+(function ($) {
+  var wind_ = $(window),
+      body_ = $('body');
+  feather.replace({
+    'stroke-width': 1.5
+  });
+  $(document).on('click', '[data-toggle="fullscreen"]', function () {
+    $(this).toggleClass('active-fullscreen');
+
+    if (document.fullscreenEnabled) {
+      if ($(this).hasClass("active-fullscreen")) {
+        document.documentElement.requestFullscreen();
+      } else {
+        document.exitFullscreen();
+      }
+    } else {
+      alert("Your browser does not support fullscreen.");
+    }
+
+    return false;
+  });
+  $(document).on('click', '.overlay', function () {
+    $.removeOverlay();
+
+    if (body_.hasClass('horizontal-navigation')) {
+      $('.horizontal-navigation').removeClass('open');
+    } else {
+      $('.navigation').removeClass('open');
+    }
+
+    body_.removeClass('navigation-show');
+  });
+  $(document).on('click', '[data-sidebar-target]', function () {
+    var target = $(this).data('sidebar-target');
+    $('body').addClass('no-scroll');
+    $('.sidebar-group').addClass('show');
+    $('.sidebar-group .sidebar').removeClass('show');
+    $('.sidebar-group .sidebar' + target).addClass('show');
+    return false;
+  });
+  $(document).on('click', '.sidebar-group', function (e) {
+    if ($(e.target).is($('.sidebar-group'))) {
+      $('.sidebar-group').removeClass('show');
+      $('body').removeClass('no-scroll');
+      $('.sidebar-group .sidebar').removeClass('show');
+    }
+  }); // Active pages, automatically show on the menu
+
+  $('.navigation .navigation-menu-body .navigation-menu-group ul li a.active').closest('ul').parent('li').addClass('open').closest('ul').parent('li').addClass('open');
+  $('.navigation .navigation-menu-body .navigation-menu-group ul li a.active').closest('div').addClass('open');
+  $('.navigation .navigation-menu-tab [data-nav-target="#' + $('.navigation .navigation-menu-body .navigation-menu-group ul li a.active').closest('div').attr('id') + '"]').addClass('active');
+  $('body.horizontal-navigation .horizontal-navigation ul li a.active').closest('ul').parent('li').addClass('open').closest('ul').parent('li').addClass('open');
+  /*------------- create/remove overlay -------------*/
+
+  $.createOverlay = function () {
+    if ($('.overlay').length < 1) {
+      body_.addClass('no-scroll').append('<div class="overlay"></div>');
+      $('.overlay').addClass('show');
+    }
+  };
+
+  $.removeOverlay = function () {
+    body_.removeClass('no-scroll');
+    $('.overlay').remove();
+  };
+  /*------------- create/remove overlay -------------*/
+
+
+  $('[data-backround-image]').each(function (e) {
+    $(this).css("background", 'url(' + $(this).data('backround-image') + ')');
+  });
+  /*------------- page loader -------------*/
+
+  wind_.on('load', function () {
+    $('.preloader').fadeOut(400, function () {
+      setTimeout(function () {
+        toastr.options = {
+          timeOut: 2000,
+          progressBar: true,
+          showMethod: "slideDown",
+          hideMethod: "slideUp",
+          showDuration: 200,
+          hideDuration: 200,
+          positionClass: "toast-top-center"
+        };
+        //toastr.success('Welcome Roxana Roussell.');
+        $('.theme-switcher').removeClass('open');
+      }, 500); // $('.theme-switcher').css('opacity', 1);
+    });
+  });
+  /*------------- page loader -------------*/
+
+  /*------------- side menu (sub menü arrow) -------------*/
+
+  wind_.on('load', function () {
+    setTimeout(function () {
+      $('.navigation .navigation-menu-body ul li a').each(function () {
+        var $this = $(this);
+
+        if ($this.next('ul').length) {
+          $this.append('<i class="sub-menu-arrow ti-angle-up"></i>');
+        }
+      });
+      $('.navigation .navigation-menu-body ul li.open>a>.sub-menu-arrow').removeClass('ti-plus').addClass('ti-minus').addClass('rotate-in');
+      $('body.horizontal-navigation .horizontal-navigation ul li a').each(function () {
+        var $this = $(this);
+
+        if ($this.next('ul').length) {
+          $this.append('<i class="sub-menu-arrow ti-angle-right"></i>');
+        }
+      });
+    }, 200);
+  });
+  /*------------- side menu (sub menü arrow) -------------*/
+
+  $(document).on('click', '[data-action="navigation-toggler"]', function () {
+    if (body_.hasClass('horizontal-navigation')) {
+      $('.horizontal-navigation').toggleClass('open');
+    } else {
+      $('.navigation').toggleClass('open');
+    }
+
+    $.createOverlay();
+  });
+  $(document).on('click', '[data-nav-target]', function () {
+    var $this = $(this),
+        target = $this.data('nav-target');
+
+    if (body_.hasClass('navigation-toggle-one')) {
+      body_.addClass('navigation-show');
+    }
+
+    if (body_.hasClass('horizontal-navigation')) {
+      $('.navigation .navigation-menu-body').show();
+    }
+
+    $('.navigation .navigation-menu-body .navigation-menu-group > div').removeClass('open');
+    $('.navigation .navigation-menu-body .navigation-menu-group ' + target).addClass('open');
+    $('[data-nav-target]').removeClass('active');
+    $this.addClass('active');
+    $this.tooltip('hide');
+    return false;
+  });
+  var c = $('.header .header-left .header-logo').clone();
+  $('.navigation .navigation-header').append(c.addClass('navigation-logo').removeClass('header-logo'));
+  $(document).on('click', '.navigation-toggler a', function () {
+    if (wind_.width() < 1200) {
+      $.createOverlay();
+      body_.addClass('navigation-show');
+    } else {
+      if (!body_.hasClass('navigation-toggle-one') && !body_.hasClass('navigation-toggle-two')) {
+        body_.addClass('navigation-toggle-one');
+      } else if (body_.hasClass('navigation-toggle-one') && !body_.hasClass('navigation-toggle-two')) {
+        body_.addClass('navigation-toggle-two');
+        body_.removeClass('navigation-toggle-one');
+      } else if (!body_.hasClass('navigation-toggle-one') && body_.hasClass('navigation-toggle-two')) {
+        body_.removeClass('navigation-toggle-two');
+        body_.removeClass('navigation-toggle-one');
+      }
+    }
+
+    return false;
+  });
+  $(document).on('click', '.header-toggler a', function () {
+    $('.header ul.navbar-nav').toggleClass('open');
+    return false;
+  });
+  $(document).on('click', '*', function (e) {
+    if (!$(e.target).is($('.navigation, .navigation *, .navigation-toggler *')) && body_.hasClass('navigation-toggle-one')) {
+      body_.removeClass('navigation-show');
+    }
+  });
+  $(document).on('click', '*', function (e) {
+    if (!$(e.target).is('.header ul.navbar-nav, .header ul.navbar-nav *, .header-toggler, .header-toggler *')) {
+      $('.header ul.navbar-nav').removeClass('open');
+    }
+  });
+  /*------------- form validation -------------*/
+
+  window.addEventListener('load', function () {
+    // Fetch all the forms we want to apply custom Bootstrap validation styles to
+    var forms = document.getElementsByClassName('needs-validation'); // Loop over them and prevent submission
+
+    Array.prototype.filter.call(forms, function (form) {
+      form.addEventListener('submit', function (event) {
+        if (form.checkValidity() === false) {
+          event.preventDefault();
+          event.stopPropagation();
+        }
+
+        form.classList.add('was-validated');
+      }, false);
+    });
+  }, false);
+  /*------------- form validation -------------*/
+
+  /*------------- responsive html table -------------*/
+
+  var table_responsive_stack = $(".table-responsive-stack");
+  table_responsive_stack.find("th").each(function (i) {
+    $(".table-responsive-stack td:nth-child(" + (i + 1) + ")").prepend('<span class="table-responsive-stack-thead">' + $(this).text() + ":</span> ");
+    $(".table-responsive-stack-thead").hide();
+  });
+  table_responsive_stack.each(function () {
+    var thCount = $(this).find("th").length,
+        rowGrow = 100 / thCount + "%";
+    $(this).find("th, td").css("flex-basis", rowGrow);
+  });
+
+  function flexTable() {
+    if (wind_.width() < 768) {
+      $(".table-responsive-stack").each(function (i) {
+        $(this).find(".table-responsive-stack-thead").show();
+        $(this).find("thead").hide();
+      }); // window is less than 768px
+    } else {
+      $(".table-responsive-stack").each(function (i) {
+        $(this).find(".table-responsive-stack-thead").hide();
+        $(this).find("thead").show();
+      });
+    }
+  }
+
+  flexTable();
+
+  window.onresize = function (event) {
+    flexTable();
+  };
+  /*------------- responsive html table -------------*/
+
+  /*------------- header search -------------*/
+
+
+  $(document).on('click', '[data-toggle="search"], [data-toggle="search"] *', function () {
+    $('.header .header-body .header-search').show().find('.form-control').focus();
+    return false;
+  });
+  $(document).on('click', '.close-header-search, .close-header-search svg', function () {
+    $('.header .header-body .header-search').hide();
+    return false;
+  });
+  $(document).on('click', '*', function (e) {
+    if (!$(e.target).is($('.header, .header *, [data-toggle="search"], [data-toggle="search"] *'))) {
+      $('.header .header-body .header-search').hide();
+    }
+  });
+  /*------------- header search -------------*/
+
+  /*------------- custom accordion -------------*/
+
+  $(document).on('click', '.accordion.custom-accordion .accordion-row a.accordion-header', function () {
+    var $this = $(this);
+    $this.closest('.accordion.custom-accordion').find('.accordion-row').not($this.parent()).removeClass('open');
+    $this.parent('.accordion-row').toggleClass('open');
+    return false;
+  });
+  /*------------- custom accordion -------------*/
+
+  /*------------- responsive table dropdown -------------*/
+
+  var dropdownMenu,
+      table_responsive = $('.table-responsive');
+  table_responsive.on('show.bs.dropdown', function (e) {
+    dropdownMenu = $(e.target).find('.dropdown-menu');
+    body_.append(dropdownMenu.detach());
+    var eOffset = $(e.target).offset();
+    dropdownMenu.css({
+      'display': 'block',
+      'top': eOffset.top + $(e.target).outerHeight(),
+      'left': eOffset.left,
+      'width': '184px',
+      'font-size': '14px'
+    });
+    dropdownMenu.addClass("mobPosDropdown");
+  });
+  table_responsive.on('hide.bs.dropdown', function (e) {
+    $(e.target).append(dropdownMenu.detach());
+    dropdownMenu.hide();
+  });
+  /*------------- responsive table dropdown -------------*/
+
+  /*------------- chat -------------*/
+
+  $(document).on('click', '.chat-block .chat-sidebar .chat-sidebar-content .list-group .list-group-item', function () {
+    $('.chat-block .chat-content').addClass('chat-mobile-open');
+    return false;
+  });
+  $(document).on('click', '.chat-block .chat-content .mobile-chat-close-btn a', function () {
+    $('.chat-block .chat-content').removeClass('chat-mobile-open');
+    return false;
+  });
+  /*------------- chat -------------*/
+
+  /*------------- aside menu toggle -------------*/
+
+  $(document).on('click', '.navigation ul li a', function () {
+    var $this = $(this);
+
+    if ($this.next('ul').length) {
+      var sub_menu_arrow = $this.find('.sub-menu-arrow');
+      sub_menu_arrow.toggleClass('rotate-in');
+      $this.next('ul').toggle(200);
+      $this.parent('li').siblings().find('ul').not($this.parent('li').find('ul')).slideUp(200);
+      $this.next('ul').find('li ul').slideUp(200);
+      $this.next('ul').find('li>a').find('.sub-menu-arrow').removeClass('ti-minus').addClass('ti-plus');
+      $this.next('ul').find('li>a').find('.sub-menu-arrow').removeClass('rotate-in');
+      $this.parent('li').siblings().not($this.parent('li').find('ul')).find('>a').find('.sub-menu-arrow').removeClass('ti-minus').addClass('ti-plus');
+      $this.parent('li').siblings().not($this.parent('li').find('ul')).find('>a').find('.sub-menu-arrow').removeClass('rotate-in');
+
+      if (sub_menu_arrow.hasClass('rotate-in')) {
+        setTimeout(function () {
+          sub_menu_arrow.removeClass('ti-plus').addClass('ti-minus');
+        }, 200);
+      } else {
+        sub_menu_arrow.removeClass('ti-minus').addClass('ti-plus');
+      }
+
+      if (!body_.hasClass('horizontal-side-menu') && wind_.width() >= 1200) {
+        setTimeout(function (e) {
+          $('.navigation .navigation-menu-body').getNiceScroll().resize();
+        }, 300);
+      }
+
+      return false;
+    }
+  });
+  $(document).on('click', '.horizontal-navigation ul li a', function () {
+    var $this = $(this);
+
+    if ($this.next('ul').length) {
+      $this.next('ul').toggle(200);
+      $this.parent('li').siblings().find('ul').not($this.parent('li').find('ul')).slideUp(200);
+      $this.next('ul').find('li ul').slideUp(200);
+      return false;
+    }
+  });
+  /*------------- aside menu toggle -------------*/
+
+  /*------------- other -------------*/
+
+  $(document).on('click', '.dropdown-menu', function (e) {
+    e.stopPropagation();
+  });
+  $('#exampleModal').on('show.bs.modal', function (event) {
+    var button = $(event.relatedTarget),
+        recipient = button.data('whatever'),
+        modal = $(this);
+    modal.find('.modal-title').text('New message to ' + recipient);
+    modal.find('.modal-body input').val(recipient);
+  });
+  $('[data-toggle="tooltip"]').tooltip({
+    container: 'body'
+  });
+  $('[data-toggle="popover"]').popover();
+  $('.carousel').carousel();
+
+  if (wind_.width() >= 992) {
+    $('.card-scroll').niceScroll();
+    $('.table-responsive').niceScroll();
+    $('.sidebar-group .sidebar').niceScroll();
+    $('.app-block .app-content .app-lists').niceScroll();
+    $('.app-block .app-sidebar .app-sidebar-menu').niceScroll();
+    $('.chat-block .chat-sidebar .chat-sidebar-content').niceScroll();
+    var chat_messages = $('.chat-block .chat-content .messages');
+
+    if (chat_messages.length) {
+      chat_messages.niceScroll({
+        horizrailenabled: false
+      });
+      chat_messages.getNiceScroll(0).doScrollTop(chat_messages.get(0).scrollHeight, -1);
+    }
+  }
+
+  if (!body_.hasClass('small-navigation') && !body_.hasClass('horizontal-navigation') && wind_.width() >= 992) {
+    $('.navigation .navigation-menu-body').niceScroll();
+  }
+
+  $('.dropdown-menu ul.list-group').niceScroll();
+  /* Theme Switcher */
+
+  /* var path = window.location.pathname;
+  var page = path.split("/").pop();
+   var theme_switcher_html = '<div class="theme-switcher open"> \n\
+      <div class="theme-switcher-button"> \n\
+          <i class="fa fa-cog"></i> \n\
+      </div> \n\
+      <div class="theme-switcher-panel"> \n\
+          <div class="card"> \n\
+              <div class="card-body"> \n\
+                  <h6 class="card-title">Theme Switcher</h6> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="dark"> \n\
+                          <label class="custom-control-label" for="dark">Dark</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="semi-dark"> \n\
+                          <label class="custom-control-label" for="semi-dark">Semi dark</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="shadow-layout"> \n\
+                          <label class="custom-control-label" for="shadow-layout">Shadow layout</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="sticky-navigation"> \n\
+                          <label class="custom-control-label" for="sticky-navigation">Sticky navigation</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="small-navigation"> \n\
+                          <label class="custom-control-label" for="small-navigation">Small navigation</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="hidden-navigation"> \n\
+                          <label class="custom-control-label" for="hidden-navigation">Hidden navigation</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="sticky-header"> \n\
+                          <label class="custom-control-label" for="sticky-header">Sticky header</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" id="light-header"> \n\
+                          <label class="custom-control-label" for="light-header">Light header</label> \n\
+                      </div> \n\
+                  </div> \n\
+                  <div class="form-group mb-2"> \n\
+                      <div class="custom-control custom-switch"> \n\
+                          <input type="checkbox" class="custom-control-input" ' + (page === 'chat.html' || page === 'inbox.html' || page === 'app-todo.html' ? 'disabled' : '') + ' id="sticky-footer"> \n\
+                          <label class="custom-control-label" for="sticky-footer">Sticky footer</label> \n\
+                      </div> \n\
+                  </div> \n\
+              </div> \n\
+          </div> \n\
+      </div> \n\
+  </div>';
+   $('body').append(theme_switcher_html);
+   $(document).on('click', '.theme-switcher input[type="checkbox"]', function () {
+      var id = $(this).attr('id');
+      if (id === 'sticky-navigation') {
+          if ($(this).prop('checked')) {
+              $('.navigation').niceScroll().resize();
+          } else {
+              $('.navigation').niceScroll().remove();
+          }
+          if ($('body').hasClass('small-navigation')) {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('.dropdown-divider').remove();
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').tooltip('dispose');
+                  }
+              });
+              $('body').removeClass('small-navigation');
+              $('.theme-switcher input[type="checkbox"][id="small-navigation"]').prop('checked', false);
+          }
+          if ($('body').hasClass('hidden-navigation')) {CUSTOMİZABLE
+              $('body').removeClass('hidden-navigation');
+              $('.theme-switcher input[type="checkbox"][id="hidden-navigation"]').prop('checked', false);
+          }
+      }
+      if (id === 'small-navigation') {
+          if ($(this).prop('checked')) {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('> a').next('ul').prepend('<li class="dropdown-divider">' + $(this).find('> a > span:not(.badge)').text() + '</li>')
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').attr('title', $(this).find('> a > span:not(.badge)').text());
+                      $(this).find('> a').tooltip({
+                          placement: "right"
+                      });
+                  }
+              });
+          } else {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('.dropdown-divider').remove();
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').tooltip('dispose');
+                  }
+              });
+          }
+          if ($('body').hasClass('sticky-navigation')) {
+              $('body').removeClass('sticky-navigation');
+              $('.navigation').niceScroll().remove();
+              $('.theme-switcher input[type="checkbox"][id="sticky-navigation"]').prop('checked', false);
+          }
+          if ($('body').hasClass('hidden-navigation')) {
+              $('body').removeClass('hidden-navigation');
+              $('.theme-switcher input[type="checkbox"][id="hidden-navigation"]').prop('checked', false);
+          }
+      }
+      if (id === 'hidden-navigation') {
+          setTimeout(function () {
+              $('.navigation').niceScroll().resize();
+              $('.app-block .app-content .app-lists').niceScroll().resize();
+              $('.app-block .app-sidebar .app-sidebar-menu').niceScroll().resize();
+              $('.chat-block .chat-sidebar .chat-sidebar-content .tab-content .tab-pane').niceScroll().resize();
+          }, 200);
+          if (!$(this).prop('checked')) {
+              $.removeOverlay();
+              $('.navigation').removeClass('open');
+          }
+          if (page != 'chat.html' && page != 'inbox.html' && page != 'app-todo.html') {
+              if ($('body').hasClass('sticky-navigation')) {
+                  $('body').removeClass('sticky-navigation');
+                  $('.theme-switcher input[type="checkbox"][id="sticky-navigation"]').prop('checked', false);
+              }
+          }
+          if ($('body').hasClass('small-navigation')) {
+              $('.navigation .navigation-menu-body > ul > li').each(function () {
+                  if ($(this).find('> a').next('ul').length) {
+                      // Dropdown add header title
+                      $(this).find('.dropdown-divider').remove();
+                  } else {
+                      // Add tooltip
+                      $(this).find('> a').tooltip('dispose');
+                  }
+              });
+              $('body').removeClass('small-navigation');
+              $('.theme-switcher input[type="checkbox"][id="small-navigation"]').prop('checked', false);
+          }
+      }
+      if (id === 'dark') {
+          if ($('body').hasClass('semi-dark')) {
+              $('body').removeClass('semi-dark');
+              $('.theme-switcher input[type="checkbox"][id="semi-dark"]').prop('checked', false);
+          }
+      }
+      if (id === 'semi-dark') {
+          if ($('body').hasClass('dark')) {
+              $('body').removeClass('dark');
+              $('.theme-switcher input[type="checkbox"][id="dark"]').prop('checked', false);
+          }
+      }
+      $('body').toggleClass(id);
+  });
+   $(document).on('click', '.theme-switcher .theme-switcher-button', function () {
+      $('.theme-switcher').toggleClass('open');
+  }); */
+})(jQuery);
+
+/***/ }),
+
+/***/ 0:
+/*!*****************************************************************!*\
+  !*** multi ./resources/js/app.js ./public/assets/sass/app.scss ***!
+  \*****************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__(/**/"./resources/js/app.js");
+module.exports = __webpack_require__(/**/"./public/assets/sass/app.scss");
+
+
+/***/ })
+
+/******/ });
Index: resources/assets/js/custom.js
===================================================================
--- resources/assets/js/custom.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/custom.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,131 @@
+'use strict';
+
+(function ($) {
+
+    $(document).on('click', '.layout-builder .layout-builder-toggle', function () {
+        $('.layout-builder').toggleClass('show');
+    });
+
+    $(window).on('load', function () {
+        setTimeout(function () {
+            $('.layout-builder').removeClass('show');
+        }, 500);
+    });
+
+    $('.body').append(`
+    <div class="layout-builder show">
+        <div class="layout-builder-toggle shw">
+            <i class="ti-settings"></i>
+        </div>
+        <div class="layout-builder-toggle hdn">
+            <i class="ti-close"></i>
+        </div>
+        <div class="layout-builder-body">
+            <h5>Customizer</h5>
+            <div class="mb-3">
+                <p>Layout</p>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="horizontal-side-menu" data-layout="horizontal-side-menu">
+                  <label class="custom-control-label" for="horizontal-side-menu">Horizontal Menu</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="icon-side-menu" data-layout="icon-side-menu">
+                  <label class="custom-control-label" for="icon-side-menu">Icon Menu</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="hidden-side-menu" data-layout="hidden-side-menu">
+                  <label class="custom-control-label" for="hidden-side-menu">Hidden Menu</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="layout-container-1" data-layout="layout-container icon-side-menu">
+                  <label class="custom-control-label" for="layout-container-1">Container Layout 1</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="layout-container-2" data-layout="layout-container horizontal-side-menu">
+                  <label class="custom-control-label" for="layout-container-2">Container Layout 2</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="layout-container-3" data-layout="layout-container hidden-side-menu">
+                  <label class="custom-control-label" for="layout-container-3">Container Layout 3</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="dark-1" data-layout="dark">
+                  <label class="custom-control-label" for="dark-1">Dark Layout 1</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="dark-2" data-layout="layout-container dark icon-side-menu">
+                  <label class="custom-control-label" for="dark-2">Dark Layout 2</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="dark-3" data-layout="layout-container dark horizontal-side-menu">
+                  <label class="custom-control-label" for="dark-3">Dark Layout 3</label>
+                </div>
+                <div class="custom-control custom-radio">
+                  <input type="radio" class="custom-control-input" name="layout" id="dark-4" data-layout="layout-container dark hidden-side-menu">
+                  <label class="custom-control-label" for="dark-4">Dark Layout 4</label>
+                </div>
+            </div>
+            <button id="btn-layout-builder-reset" class="btn btn-danger btn-uppercase">Reset</button>
+            <div class="layout-alert mt-3">
+                <i class="fa fa-warning m-r-5 text-warning"></i>Some theme options can not be displayed in case of combined when they are not relevant each other. For that reason, you are adviced to try all theme options seperately.
+            </div>
+        </div>
+    </div>`);
+
+    var site_layout = localStorage.getItem('site_layout');
+    $('body').addClass(site_layout);
+
+    $('.layout-builder .layout-builder-body input[type="radio"][data-layout="' + $('body').attr('class') + '"]').prop('checked', true);
+
+    $('.layout-builder .layout-builder-body input[type="radio"]').click(function () {
+        var class_names = '';
+
+        $('.layout-builder .layout-builder-body input[type="radio"]:checked').each(function () {
+            class_names += ' ' + $(this).data('layout');
+        });
+
+        localStorage.setItem('site_layout', class_names);
+
+        window.location.href = (window.location.href).replace('#', '');
+    });
+
+    $(document).on('click', '#btn-layout-builder', function () {
+
+    });
+
+    $(document).on('click', '#btn-layout-builder-reset', function () {
+        localStorage.removeItem('site_layout');
+        localStorage.removeItem('site_layout_dark');
+
+        window.location.href = (window.location.href).replace('#', '');
+    });
+
+    $(window).on('load', function () {
+        if ($('body').hasClass('horizontal-side-menu') && $(window).width() > 768) {
+            if ($('body').hasClass('layout-container')) {
+                $('.side-menu .side-menu-body').wrap('<div class="container"></div>');
+            } else {
+                $('.side-menu .side-menu-body').wrap('<div class="container"></div>');
+            }
+            setTimeout(function () {
+                $('.side-menu .side-menu-body > ul').append('<li><a href="#"><span>Other</span></a><ul></ul></li>');
+            }, 100);
+            $('.side-menu .side-menu-body > ul > li').each(function () {
+                var index = $(this).index(),
+                    $this = $(this);
+                if (index > 7) {
+                    setTimeout(function () {
+                        $('.side-menu .side-menu-body > ul > li:last-child > ul').append($this.clone());
+                        $this.addClass('d-none');
+                    }, 100);
+                }
+            });
+        }
+    });
+
+    $(document).on('click', '[data-attr="layout-builder-toggle"]', function () {
+        $('.layout-builder').toggleClass('show');
+        return false;
+    });
+
+})(jQuery);
Index: resources/assets/js/examples/charts/apex.js
===================================================================
--- resources/assets/js/examples/charts/apex.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/charts/apex.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,614 @@
+'use strict';
+$(document).ready(function () {
+
+    apex_chart_one();
+
+    apex_chart_two();
+
+    apex_chart_three();
+
+    apex_chart_four();
+
+    apex_chart_five();
+
+    apex_chart_six();
+
+    apex_chart_seven();
+
+    apex_chart_eight();
+
+    apex_chart_nine();
+
+    function apex_chart_one() {
+        var lastDate = 0;
+        var data = []
+        var TICKINTERVAL = 86400000
+        let XAXISRANGE = 777600000
+
+        function getDayWiseTimeSeries(baseval, count, yrange) {
+            var i = 0;
+            while (i < count) {
+                var x = baseval;
+                var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
+
+                data.push({
+                    x, y
+                });
+                lastDate = baseval
+                baseval += TICKINTERVAL;
+                i++;
+            }
+        }
+
+        getDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 10, {
+            min: 10,
+            max: 90
+        });
+
+        function getNewSeries(baseval, yrange) {
+            var newDate = baseval + TICKINTERVAL;
+            lastDate = newDate;
+
+            for (var i = 0; i < data.length - 10; i++) {
+                // IMPORTANT
+                // we reset the x and y of the data which is out of drawing area
+                // to prevent memory leaks
+                data[i].x = newDate - XAXISRANGE - TICKINTERVAL
+                data[i].y = 0
+            }
+
+            data.push({
+                x: newDate,
+                y: Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min
+            })
+
+        }
+
+        var options = {
+            chart: {
+                height: 350,
+                type: 'line',
+                animations: {
+                    enabled: true,
+                    easing: 'linear',
+                    dynamicAnimation: {
+                        speed: 1000
+                    }
+                },
+                toolbar: {
+                    show: false
+                },
+                zoom: {
+                    enabled: false
+                }
+            },
+            dataLabels: {
+                enabled: false
+            },
+            stroke: {
+                curve: 'smooth'
+            },
+            series: [{
+                data: data
+            }],
+            title: {
+                text: 'Dynamic Updating Chart',
+                align: 'left'
+            },
+            markers: {
+                size: 0
+            },
+            xaxis: {
+                type: 'datetime',
+                range: XAXISRANGE,
+            },
+            yaxis: {
+                max: 100
+            },
+            legend: {
+                show: false
+            },
+        };
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_one"),
+            options
+        );
+
+        chart.render();
+
+        window.setInterval(function () {
+            getNewSeries(lastDate, {
+                min: 10,
+                max: 90
+            })
+            chart.updateSeries([{
+                data: data
+            }])
+        }, 1000)
+    }
+
+    function apex_chart_two() {
+        var ts2 = 1484418600000;
+        var dates = [];
+        var spikes = [5, -5, 3, -3, 8, -8]
+        for (var i = 0; i < 120; i++) {
+            ts2 = ts2 + 86400000;
+            var innerArr = [ts2, dataSeries[1][i].value];
+            dates.push(innerArr)
+        }
+
+        var options = {
+            chart: {
+                type: 'area',
+                stacked: false,
+                height: 350,
+                zoom: {
+                    type: 'x',
+                    enabled: true
+                },
+                toolbar: {
+                    autoSelected: 'zoom'
+                }
+            },
+            dataLabels: {
+                enabled: false
+            },
+            series: [{
+                name: 'XYZ MOTORS',
+                data: dates
+            }],
+            markers: {
+                size: 0,
+            },
+            title: {
+                text: 'Stock Price Movement',
+                align: 'left'
+            },
+            fill: {
+                type: 'gradient',
+                gradient: {
+                    shadeIntensity: 1,
+                    inverseColors: false,
+                    opacityFrom: 0.5,
+                    opacityTo: 0,
+                    stops: [0, 90, 100]
+                },
+            },
+            yaxis: {
+                min: 20000000,
+                max: 250000000,
+                labels: {
+                    formatter: function (val) {
+                        return (val / 1000000).toFixed(0);
+                    },
+                },
+                title: {
+                    text: 'Price'
+                },
+            },
+            xaxis: {
+                type: 'datetime',
+            },
+
+            tooltip: {
+                shared: false,
+                y: {
+                    formatter: function (val) {
+                        return (val / 1000000).toFixed(0)
+                    }
+                }
+            }
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_two"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_three() {
+        var options = {
+            chart: {
+                height: 350,
+                type: 'area',
+            },
+            dataLabels: {
+                enabled: false
+            },
+            stroke: {
+                curve: 'smooth'
+            },
+            series: [{
+                name: 'series1',
+                data: [31, 40, 28, 51, 42, 109, 100]
+            }, {
+                name: 'series2',
+                data: [11, 32, 45, 32, 34, 52, 41]
+            }],
+
+            xaxis: {
+                type: 'datetime',
+                categories: ["2018-09-19T00:00:00", "2018-09-19T01:30:00", "2018-09-19T02:30:00", "2018-09-19T03:30:00", "2018-09-19T04:30:00", "2018-09-19T05:30:00", "2018-09-19T06:30:00"],
+            },
+            tooltip: {
+                x: {
+                    format: 'dd/MM/yy HH:mm'
+                },
+            }
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_three"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_four() {
+        var options = {
+            chart: {
+                height: 350,
+                type: 'bar',
+            },
+            plotOptions: {
+                bar: {
+                    horizontal: false,
+                    columnWidth: '55%',
+                    endingShape: 'rounded'
+                },
+            },
+            dataLabels: {
+                enabled: false
+            },
+            stroke: {
+                show: true,
+                width: 2,
+                colors: ['transparent']
+            },
+            series: [{
+                name: 'Net Profit',
+                data: [44, 55, 57, 56, 61, 58, 63, 60, 66]
+            }, {
+                name: 'Revenue',
+                data: [76, 85, 101, 98, 87, 105, 91, 114, 94]
+            }, {
+                name: 'Free Cash Flow',
+                data: [35, 41, 36, 26, 45, 48, 52, 53, 41]
+            }],
+            xaxis: {
+                categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'],
+            },
+            yaxis: {
+                title: {
+                    text: '$ (thousands)'
+                }
+            },
+            fill: {
+                opacity: 1
+
+            },
+            tooltip: {
+                y: {
+                    formatter: function (val) {
+                        return "$ " + val + " thousands"
+                    }
+                }
+            }
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_four"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_five() {
+        var options = {
+            chart: {
+                height: 350,
+                type: 'bar',
+                stacked: true,
+                stackType: '100%'
+            },
+            responsive: [{
+                breakpoint: 480,
+                options: {
+                    legend: {
+                        position: 'bottom',
+                        offsetX: -10,
+                        offsetY: 0
+                    }
+                }
+            }],
+            series: [{
+                name: 'PRODUCT A',
+                data: [44, 55, 41, 67, 22, 43, 21, 49]
+            },{
+                name: 'PRODUCT B',
+                data: [13, 23, 20, 8, 13, 27, 33, 12]
+            },{
+                name: 'PRODUCT C',
+                data: [11, 17, 15, 15, 21, 14, 15, 13]
+            }],
+            xaxis: {
+                categories: ['2011 Q1', '2011 Q2', '2011 Q3', '2011 Q4', '2012 Q1', '2012 Q2', '2012 Q3', '2012 Q4'],
+            },
+            fill: {
+                opacity: 1
+            },
+
+            legend: {
+                position: 'right',
+                offsetX: 0,
+                offsetY: 50
+            },
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_five"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_six() {
+        var options = {
+            chart: {
+                height: 380,
+                type: 'bar'
+            },
+            plotOptions: {
+                bar: {
+                    barHeight: '100%',
+                    distributed: true,
+                    horizontal: true,
+                    dataLabels: {
+                        position: 'bottom'
+                    },
+                }
+            },
+            colors: ['#33b2df', '#546E7A', '#d4526e', '#13d8aa', '#A5978B', '#2b908f', '#f9a3a4', '#90ee7e', '#f48024', '#69d2e7'],
+            dataLabels: {
+                enabled: true,
+                textAnchor: 'start',
+                style: {
+                    colors: ['#fff']
+                },
+                formatter: function(val, opt) {
+                    return opt.w.globals.labels[opt.dataPointIndex] + ":  " + val
+                },
+                offsetX: 0,
+                dropShadow: {
+                    enabled: true
+                }
+            },
+            series: [{
+                data: [400, 430, 448, 470, 540, 580, 690, 1100, 1200, 1380]
+            }],
+            stroke: {
+                width: 1,
+                colors: ['#fff']
+            },
+            xaxis: {
+                categories: ['South Korea', 'Canada', 'United Kingdom', 'Netherlands', 'Italy', 'France', 'Japan', 'United States', 'China', 'India'],
+            },
+            yaxis: {
+                labels: {
+                    show: false
+                }
+            },
+            title: {
+                text: 'Custom DataLabels',
+                align: 'center',
+                floating: true
+            },
+            subtitle: {
+                text: 'Category Names as DataLabels inside bars',
+                align: 'center',
+            },
+            tooltip: {
+                theme: 'dark',
+                x: {
+                    show: false
+                },
+                y: {
+                    title: {
+                        formatter: function() {
+                            return ''
+                        }
+                    }
+                }
+            }
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_six"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_seven() {
+        var options = {
+            chart: {
+                width: 380,
+                type: 'pie',
+            },
+            labels: ['Team A', 'Team B', 'Team C', 'Team D', 'Team E'],
+            series: [44, 55, 13, 43, 22],
+            responsive: [{
+                breakpoint: 480,
+                options: {
+                    chart: {
+                        width: 200
+                    },
+                    legend: {
+                        position: 'bottom'
+                    }
+                }
+            }]
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_seven"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_eight() {
+        function generateData(baseval, count, yrange) {
+            var i = 0;
+            var series = [];
+            while (i < count) {
+                var x = Math.floor(Math.random() * (750 - 1 + 1)) + 1;;
+                var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
+                var z = Math.floor(Math.random() * (75 - 15 + 1)) + 15;
+
+                series.push([x, y, z]);
+                baseval += 86400000;
+                i++;
+            }
+            return series;
+        }
+
+
+        var options = {
+            chart: {
+                height: 350,
+                type: 'bubble',
+            },
+            dataLabels: {
+                enabled: false
+            },
+            series: [{
+                name: 'Bubble1',
+                data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
+                    min: 10,
+                    max: 60
+                })
+            },
+                {
+                    name: 'Bubble2',
+                    data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
+                        min: 10,
+                        max: 60
+                    })
+                },
+                {
+                    name: 'Bubble3',
+                    data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
+                        min: 10,
+                        max: 60
+                    })
+                },
+                {
+                    name: 'Bubble4',
+                    data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
+                        min: 10,
+                        max: 60
+                    })
+                }
+            ],
+            fill: {
+                opacity: 0.8
+            },
+            title: {
+                text: 'Simple Bubble Chart'
+            },
+            xaxis: {
+                tickAmount: 12,
+                type: 'category',
+            },
+            yaxis: {
+                max: 70
+            }
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_eight"),
+            options
+        );
+
+        chart.render();
+    }
+
+    function apex_chart_nine() {
+        var options = {
+            chart: {
+                height: 350,
+                type: 'radar',
+                dropShadow: {
+                    enabled: true,
+                    blur: 1,
+                    left: 1,
+                    top: 1
+                }
+            },
+            series: [{
+                name: 'Series 1',
+                data: [80, 50, 30, 40, 100, 20],
+            }, {
+                name: 'Series 2',
+                data: [20, 30, 40, 80, 20, 80],
+            }, {
+                name: 'Series 3',
+                data: [44, 76, 78, 13, 43, 10],
+            }],
+            title: {
+                text: 'Radar Chart - Multi Series'
+            },
+            stroke: {
+                width: 0
+            },
+            fill: {
+                opacity: 0.4
+            },
+            markers: {
+                size: 0
+            },
+            labels: ['2011', '2012', '2013', '2014', '2015', '2016']
+        }
+
+        var chart = new ApexCharts(
+            document.querySelector("#apex_chart_nine"),
+            options
+        );
+
+        chart.render();
+
+        function update() {
+
+            function randomSeries() {
+                var arr = []
+                for(var i = 0; i < 6; i++) {
+                    arr.push(Math.floor(Math.random() * 100))
+                }
+
+                return arr
+            }
+
+
+            chart.updateSeries([{
+                name: 'Series 1',
+                data: randomSeries(),
+            }, {
+                name: 'Series 2',
+                data: randomSeries(),
+            }, {
+                name: 'Series 3',
+                data: randomSeries(),
+            }])
+        }
+    }
+
+});
Index: resources/assets/js/examples/charts/chartjs.js
===================================================================
--- resources/assets/js/examples/charts/chartjs.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/charts/chartjs.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,228 @@
+'use strict';
+$(document).ready(function () {
+
+    var colors = {
+        primary: $('.colors .bg-primary').css('background-color'),
+        primaryLight: $('.colors .bg-primary-bright').css('background-color'),
+        secondary: $('.colors .bg-secondary').css('background-color'),
+        secondaryLight: $('.colors .bg-secondary-bright').css('background-color'),
+        info: $('.colors .bg-info').css('background-color'),
+        infoLight: $('.colors .bg-info-bright').css('background-color'),
+        success: $('.colors .bg-success').css('background-color'),
+        successLight: $('.colors .bg-success-bright').css('background-color'),
+        danger: $('.colors .bg-danger').css('background-color'),
+        dangerLight: $('.colors .bg-danger-bright').css('background-color'),
+        warning: $('.colors .bg-warning').css('background-color'),
+        warningLight: $('.colors .bg-warning-bright').css('background-color'),
+    };
+
+    chartjs_one();
+
+    chartjs_two();
+
+    chartjs_three();
+
+    chartjs_four();
+
+    chartjs_five();
+
+    chartjs_six();
+
+    function chartjs_one() {
+        var element = document.getElementById("chartjs_one");
+        element.height = 100;
+        new Chart(element, {
+            type: 'bar',
+            data: {
+                labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
+                datasets: [
+                    {
+                        label: "Population (millions)",
+                        backgroundColor: [
+                            colors.primary,
+                            colors.secondary,
+                            colors.success,
+                            colors.warning,
+                            colors.info
+                        ],
+                        data: [2478,3267,1734,2084,3000]
+                    }
+                ]
+            },
+            options: {
+                legend: { display: false },
+                title: {
+                    display: true,
+                    text: 'Predicted world population (millions) in 2050'
+                }
+            }
+        });
+    }
+
+    function chartjs_two() {
+        var element = document.getElementById("chartjs_two");
+        element.height = 100;
+        new Chart(element, {
+            type: 'line',
+            data: {
+                labels: ["January", "February", "March", "April", "May", "June", "July"],
+                datasets: [{
+                    data: [65, 0, 80, 81, 56, 85, 40],
+                    label: "Africa",
+                    borderColor: colors.primary,
+                    backgroundColor: colors.primaryLight,
+                }, {
+                    data: [25, 55, 20, 31, 96, 35, 80],
+                    label: "Asia",
+                    borderColor: colors.success,
+                    backgroundColor: colors.successLight,
+                }
+                ]
+            },
+            options: {
+                title: {
+                    display: true,
+                    text: 'World population per region (in millions)'
+                }
+            }
+        });
+    }
+
+    function chartjs_three() {
+        var element = document.getElementById("chartjs_three");
+        element.height = 100;
+        new Chart(element, {
+            type: 'pie',
+            data: {
+                labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
+                datasets: [{
+                    label: "Population (millions)",
+                    borderWidth: 5,
+                    backgroundColor: [
+                        colors.primary,
+                        colors.secondary,
+                        colors.success,
+                        colors.warning,
+                        colors.info
+                    ],
+                    data: [2478,3267,734,1784,933]
+                }]
+            },
+            options: {
+                title: {
+                    display: true,
+                    text: 'Predicted world population (millions) in 2050'
+                }
+            }
+        });
+    }
+
+    function chartjs_four() {
+        var element = document.getElementById("chartjs_four");
+        element.height = 100;
+        new Chart(element, {
+            type: 'radar',
+            data: {
+                labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
+                datasets: [
+                    {
+                        label: "1950",
+                        fill: true,
+                        backgroundColor: colors.primaryLight,
+                        borderColor: colors.primary,
+                        pointBorderColor: "#fff",
+                        data: [8.77,55.61,21.69,6.62,6.82]
+                    }, {
+                        label: "2050",
+                        fill: true,
+                        backgroundColor: colors.successLight,
+                        borderColor: colors.success,
+                        pointBorderColor: "#fff",
+                        data: [25.48,54.16,7.61,8.06,4.45]
+                    }
+                ]
+            },
+            options: {
+                title: {
+                    display: true,
+                    text: 'Distribution in % of world population'
+                }
+            }
+        });
+    }
+
+    function chartjs_five() {
+        var element = document.getElementById("chartjs_five");
+        element.height = 100;
+        new Chart(element, {
+            type: 'horizontalBar',
+            data: {
+                labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
+                datasets: [
+                    {
+                        label: "Population (millions)",
+                        backgroundColor: [
+                            colors.primary,
+                            colors.secondary,
+                            colors.success,
+                            colors.warning,
+                            colors.info
+                        ],
+                        data: [2478,5267,734,784,433]
+                    }
+                ]
+            },
+            options: {
+                legend: { display: false },
+                title: {
+                    display: true,
+                    text: 'Predicted world population (millions) in 2050'
+                }
+            }
+        });
+    }
+
+    function chartjs_six() {
+        var element = document.getElementById("chartjs_six");
+        element.height = 100;
+        new Chart(element, {
+            type: 'bar',
+            data: {
+                labels: ["1900", "1950", "1999", "2050"],
+                datasets: [{
+                    label: "Europe",
+                    type: "line",
+                    borderColor: colors.warning,
+                    data: [408,547,675,734],
+                    fill: false
+                }, {
+                    label: "Africa",
+                    type: "line",
+                    borderColor: colors.success,
+                    data: [133,221,783,2478],
+                    fill: false
+                }, {
+                    label: "Europe",
+                    type: "bar",
+                    backgroundColor: colors.secondary,
+                    data: [408,547,675,734],
+                }, {
+                    label: "Africa",
+                    type: "bar",
+                    backgroundColor: colors.primary,
+                    backgroundColorHover: "#3e95cd",
+                    data: [133,221,783,2478]
+                }
+                ]
+            },
+            options: {
+                title: {
+                    display: true,
+                    text: 'Population growth (millions): Europe & Africa'
+                },
+                legend: { display: false }
+            }
+        });
+    }
+
+});
Index: resources/assets/js/examples/charts/justgage.js
===================================================================
--- resources/assets/js/examples/charts/justgage.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/charts/justgage.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,243 @@
+'use strict';
+$(document).ready(function () {
+
+    var colors = {
+        primary: $('.colors .bg-primary').css('background-color'),
+        primaryLight: $('.colors .bg-primary-bright').css('background-color'),
+        secondary: $('.colors .bg-secondary').css('background-color'),
+        secondaryLight: $('.colors .bg-secondary-bright').css('background-color'),
+        info: $('.colors .bg-info').css('background-color'),
+        infoLight: $('.colors .bg-info-bright').css('background-color'),
+        success: $('.colors .bg-success').css('background-color'),
+        successLight: $('.colors .bg-success-bright').css('background-color'),
+        danger: $('.colors .bg-danger').css('background-color'),
+        dangerLight: $('.colors .bg-danger-bright').css('background-color'),
+        warning: $('.colors .bg-warning').css('background-color'),
+        warningLight: $('.colors .bg-warning-bright').css('background-color'),
+    };
+
+    var valueFontColor = "black";
+
+    if($('body').hasClass('dark')){
+        valueFontColor = "white";
+    }
+
+    function init() {
+        new JustGage({
+            id: "justgage_one",
+            value: 90,
+            min: 0,
+            max: 100,
+            counter: true,
+            donut: true,
+            gaugeWidthScale: 0.3,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.primary],
+            label: "Users",
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_one > svg + svg').remove();
+
+        new JustGage({
+            id: "justgage_two",
+            value: 46,
+            min: 0,
+            max: 100,
+            counter: true,
+            donut: true,
+            gaugeWidthScale: 0.3,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.success],
+            label: "Customers",
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_two > svg + svg').remove();
+
+        new JustGage({
+            id: "justgage_three",
+            value: 10,
+            min: 0,
+            max: 100,
+            counter: true,
+            donut: true,
+            gaugeWidthScale: 0.3,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.info],
+            label: "Visitor",
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_three > svg + svg').remove();
+
+        new JustGage({
+            id: 'justgage_four',
+            value: 155,
+            min: 0,
+            max: 250,
+            symbol: 'mph',
+            pointer: true,
+            gaugeWidthScale: 0.3,
+            pointerOptions: {
+                color: colors.primary,
+                stroke: colors.primary
+            },
+            counter: true,
+            relativeGaugeSize: true,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.warning],
+            donut: true
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_four > svg + svg').remove();
+
+        new JustGage({
+            id: 'justgage_five',
+            value: 25,
+            min: 0,
+            max: 100,
+            symbol: '%',
+            pointer: true,
+            pointerOptions: {
+                toplength: -15,
+                bottomlength: 10,
+                bottomwidth: 12,
+                color: colors.primary,
+                stroke: colors.primary,
+                stroke_width: 3,
+                stroke_linecap: 'round'
+            },
+            gaugeWidthScale: 0.3,
+            counter: true,
+            relativeGaugeSize: true,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.danger],
+            donut: true,
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_five > svg + svg').remove();
+
+        new JustGage({
+            id: 'justgage_six',
+            value: 86,
+            min: 0,
+            max: 100,
+            symbol: 'kWh',
+            pointer: true,
+            gaugeWidthScale: 0.3,
+            pointerOptions: {
+                toplength: 10,
+                bottomlength: 10,
+                bottomwidth: 8,
+                color: colors.primary
+            },
+            counter: true,
+            relativeGaugeSize: true,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.secondary],
+            donut: true
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_six > svg + svg').remove();
+
+        var justgage_seven = new JustGage({
+            id: "justgage_seven",
+            value: 275,
+            min: 0,
+            max: 500,
+            label: "Visitors On Site",
+            valueFontColor: valueFontColor,
+            levelColors: [colors.info],
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_seven > svg + svg').remove();
+
+        var justgage_eight = new JustGage({
+            id: "justgage_eight",
+            value: 120,
+            min: 0,
+            max: 500,
+            label: "Memory Usage",
+            pointer: true,
+            pointerOptions: {
+                toplength: -15,
+                bottomlength: 10,
+                bottomwidth: 12,
+                color: colors.primary,
+                stroke: colors.primary,
+                stroke_width: 3,
+                stroke_linecap: 'round'
+            },
+            valueFontColor: valueFontColor
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_eight > svg + svg').remove();
+
+        var justgage_nine = new JustGage({
+            id: 'justgage_nine',
+            value: 25,
+            min: 0,
+            max: 100,
+            symbol: '%',
+            pointer: true,
+            pointerOptions: {
+                toplength: -15,
+                bottomlength: 10,
+                bottomwidth: 12,
+                color: colors.primary,
+                stroke: colors.primary,
+                stroke_width: 3,
+                stroke_linecap: 'round'
+            },
+            gaugeWidthScale: 0.3,
+            counter: true,
+            relativeGaugeSize: true,
+            valueFontColor: valueFontColor
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_nine > svg + svg').remove();
+
+        var justgage_ten = new JustGage({
+            id: 'justgage_ten',
+            value: 70,
+            min: 0,
+            max: 100,
+            symbol: 'Kg',
+            pointerOptions: {
+                toplength: 8,
+                bottomlength: -20,
+                bottomwidth: 6,
+                color: '#8e8e93'
+            },
+            gaugeWidthScale: 0.3,
+            counter: true,
+            relativeGaugeSize: true,
+            valueFontColor: valueFontColor,
+            levelColors: [colors.success],
+        });
+
+        // Delete the extra added element when the page is resized.
+        $('#justgage_ten > svg + svg').remove();
+
+        setInterval(function () {
+            justgage_seven.refresh(getRandomInt(0, 500));
+            justgage_eight.refresh(getRandomInt(0, 500));
+            justgage_nine.refresh(getRandomInt(0, 100));
+            justgage_ten.refresh(getRandomInt(0, 100));
+        }, 2000);
+    }
+
+    init();
+
+    $(window).on('resize', function () {
+        init();
+    });
+
+});
Index: resources/assets/js/examples/charts/morsis.js
===================================================================
--- resources/assets/js/examples/charts/morsis.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/charts/morsis.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,49 @@
+'use strict';
+$(document).ready(function () {
+
+    var data = [
+            { y: '2014', a: 50, b: 90},
+            { y: '2015', a: 65,  b: 75},
+            { y: '2016', a: 50,  b: 50},
+            { y: '2017', a: 75,  b: 60},
+            { y: '2018', a: 80,  b: 65},
+            { y: '2019', a: 90,  b: 70},
+            { y: '2020', a: 100, b: 75},
+            { y: '2021', a: 115, b: 75},
+            { y: '2022', a: 120, b: 85},
+            { y: '2023', a: 145, b: 85},
+            { y: '2024', a: 160, b: 95}
+        ],
+        config = {
+            data: data,
+            xkey: 'y',
+            ykeys: ['a', 'b'],
+            labels: ['Total Income', 'Total Outcome'],
+            fillOpacity: 0.6,
+            hideHover: 'auto',
+            behaveLikeLine: true,
+            resize: true,
+            pointFillColors:['#ffffff'],
+            pointStrokeColors: ['black'],
+            lineColors:['gray','red']
+        };
+    config.element = 'area-chart';
+    Morris.Area(config);
+    config.element = 'line-chart';
+    Morris.Line(config);
+    config.element = 'bar-chart';
+    Morris.Bar(config);
+    config.element = 'stacked';
+    config.stacked = true;
+    Morris.Bar(config);
+    Morris.Donut({
+        element: 'pie-chart',
+        data: [
+            {label: "Friends", value: 30},
+            {label: "Allies", value: 15},
+            {label: "Enemies", value: 45},
+            {label: "Neutral", value: 10}
+        ]
+    });
+
+});
Index: resources/assets/js/examples/charts/peity.js
===================================================================
--- resources/assets/js/examples/charts/peity.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/charts/peity.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,151 @@
+'use strict';
+$(document).ready(function () {
+
+    var colors = {
+        primary: $('.colors .bg-primary').css('background-color'),
+        primaryLight: $('.colors .bg-primary-bright').css('background-color'),
+        secondary: $('.colors .bg-secondary').css('background-color'),
+        secondaryLight: $('.colors .bg-secondary-bright').css('background-color'),
+        info: $('.colors .bg-info').css('background-color'),
+        infoLight: $('.colors .bg-info-bright').css('background-color'),
+        success: $('.colors .bg-success').css('background-color'),
+        successLight: $('.colors .bg-success-bright').css('background-color'),
+        danger: $('.colors .bg-danger').css('background-color'),
+        dangerLight: $('.colors .bg-danger-bright').css('background-color'),
+        warning: $('.colors .bg-warning').css('background-color'),
+        warningLight: $('.colors .bg-warning-bright').css('background-color'),
+    };
+
+    $("span.pie").peity("pie");
+
+    $(".pie-1").peity("pie", {
+        "fill": [colors.primary, colors.primaryLight],
+        "radius": 30
+    });
+
+    $(".pie-2").peity("pie", {
+        "fill": [colors.secondary, colors.secondaryLight],
+        "radius": 30
+    });
+
+    $(".pie-3").peity("pie", {
+        "fill": [colors.success, colors.successLight],
+        "radius": 30
+    });
+
+    $(".pie-4").peity("pie", {
+        "fill": [colors.danger, colors.dangerLight],
+        "radius": 30
+    });
+
+    $(".pie-5").peity("pie", {
+        "fill": [colors.warning, colors.warningLight],
+        "radius": 30
+    });
+
+    $(".pie-6").peity("pie", {
+        "fill": [colors.primary, colors.primaryLight],
+        "radius": 30,
+        "innerRadius": 20
+    });
+
+    $(".pie-7").peity("pie", {
+        "fill": [colors.secondary, colors.secondaryLight],
+        "radius": 30,
+        "innerRadius": 20
+    });
+
+    $(".pie-8").peity("pie", {
+        "fill": [colors.success, colors.successLight],
+        "radius": 30,
+        "innerRadius": 20
+    });
+
+    $(".pie-9").peity("pie", {
+        "fill": [colors.danger, colors.dangerLight],
+        "radius": 30,
+        "innerRadius": 20
+    });
+
+    $(".pie-10").peity("pie", {
+        "fill": [colors.warning, colors.warningLight],
+        "radius": 30,
+        "innerRadius": 20
+    });
+
+    $(".line-1").peity("line", {
+        "fill": colors.primaryLight,
+        "stroke": colors.primary,
+        "height": 80,
+        "width": 100
+    });
+
+    $(".line-2").peity("line", {
+        "fill": colors.secondaryLight,
+        "stroke": colors.secondary,
+        "height": 80,
+        "width": 100
+    });
+
+    $(".line-3").peity("line", {
+        "fill": colors.secondaryLight,
+        "stroke": colors.success,
+        "height": 80,
+        "width": 100
+    });
+
+    $(".line-4").peity("line", {
+        "fill": colors.dangerLight,
+        "stroke": colors.danger,
+        "height": 80,
+        "width": 100
+    });
+
+    $(".line-5").peity("line", {
+        "fill": colors.warningLight,
+        "stroke": colors.warning,
+        "height": 80,
+        "width": 100
+    });
+
+    $(".bar-1").peity("bar", {
+        "fill": [colors.primary, colors.primaryLight],
+        "height": 50,
+        "width": 100
+    });
+
+    $(".bar-2").peity("bar", {
+        "fill": [colors.secondary, colors.secondaryLight],
+        "height": 50,
+        "width": 100
+    });
+
+    $(".bar-3").peity("bar", {
+        "fill": [colors.success, colors.successLight],
+        "height": 50,
+        "width": 100
+    });
+
+    $(".bar-4").peity("bar", {
+        "fill": [colors.danger, colors.dangerLight],
+        "height": 50,
+        "width": 100
+    });
+
+    $(".bar-5").peity("bar", {
+        "fill": [colors.warning, colors.warningLight],
+        "height": 50,
+        "width": 100
+    });
+
+    $('.peity [data-title]').mousemove(function (e) {
+        $('#peity-tooltip').html($(this).data('title')).css({left: e.pageX + 8, top: e.pageY + 8});
+    }).hover(
+        function () {
+            $('#peity-tooltip').addClass('show');
+        }, function () {
+            $('#peity-tooltip').removeClass('show');
+        }
+    );
+
+});
Index: resources/assets/js/examples/ckeditor.js
===================================================================
--- resources/assets/js/examples/ckeditor.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/ckeditor.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,77 @@
+'use strict';
+$(document).ready(function () {
+
+    if($('#editor-demo1').length) {
+        CKEDITOR.replace('editor-demo1');
+    }
+
+    if($('#editor-demo2').length) {
+        CKEDITOR.replace('editor-demo2', {
+            // Define the toolbar groups as it is a more accessible solution.
+            toolbarGroups: [{
+                "name": "basicstyles",
+                "groups": ["basicstyles"]
+            },
+                {
+                    "name": "links",
+                    "groups": ["links"]
+                },
+                {
+                    "name": "paragraph",
+                    "groups": ["list", "blocks"]
+                },
+                {
+                    "name": "insert",
+                    "groups": ["insert"]
+                }
+            ],
+            // Remove the redundant buttons from toolbar groups defined above.
+            removeButtons: 'Underline,Strike,Subscript,Superscript,Anchor,Styles,Specialchar'
+        });
+    }
+
+    if($('#editor-demo3').length) {
+        CKEDITOR.replace('editor-demo3', {
+            uiColor: '#CCEAEE'
+        });
+    }
+
+    if($('#email-compose-editor').length) {
+        CKEDITOR.replace('email-compose-editor', {
+            toolbarGroups: [{
+                "name": "basicstyles",
+                "groups": ["basicstyles"]
+            },
+                {
+                    "name": "links",
+                    "groups": ["links"]
+                },
+                {
+                    "name": "paragraph",
+                    "groups": ["list", "blocks"]
+                },
+                {
+                    "name": "insert",
+                    "groups": ["insert"]
+                }
+            ],
+            removeButtons: 'Underline,Strike,Subscript,Superscript,Anchor,Styles,Specialchar'
+        });
+    }
+
+});
+
+if($('#editor-demo4').length) {
+    CKEDITOR.disableAutoInline = true;
+    CKEDITOR.inline('editor-demo4');
+}
+
+if($('#editor-demo5').length) {
+    CKEDITOR.disableAutoInline = true;
+    CKEDITOR.inline('editor-demo5');
+}
+
+if($('#editor-demo6').length) {
+    CKEDITOR.disableAutoInline = true;
+    CKEDITOR.inline('editor-demo6');
+}
Index: resources/assets/js/examples/clockpicker.js
===================================================================
--- resources/assets/js/examples/clockpicker.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/clockpicker.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,30 @@
+'use strict';
+$(document).ready(function () {
+
+    $('.clockpicker-demo').clockpicker({
+        donetext: 'Done'
+    });
+
+    $('.clockpicker-autoclose-demo').clockpicker({
+        autoclose: true
+    });
+
+    var input = $('.clockpicker-minutes-demo').clockpicker({
+        placement: 'bottom',
+        align: 'left',
+        autoclose: true,
+        'default': 'now'
+    });
+
+    $(document).on('click', '#check-minutes', function (e) {
+        e.stopPropagation();
+        input.clockpicker('show')
+            .clockpicker('toggleView', 'minutes');
+    });
+
+    $('.create-event-demo').clockpicker({
+        donetext: 'Done',
+        autoclose: true
+    });
+
+});
Index: resources/assets/js/examples/colorpicker.js
===================================================================
--- resources/assets/js/examples/colorpicker.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/colorpicker.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,45 @@
+'use strict';
+$(document).ready(function () {
+
+    $('.sample-selector').colorpicker();
+
+    $('.sample-selector-2').colorpicker().on('changeColor', function (e) {
+        $('.main-content')[0].style.backgroundColor = e.color.toString('rgba');
+    });
+
+    $('.sample-selector-3').colorpicker({
+        color: "transparent",
+        format: "hex"
+    });
+
+    $('.sample-selector-4').colorpicker({
+        horizontal: true
+    });
+
+    $('.sample-selector-5').colorpicker({
+        colorSelectors: {
+            'black': '#000000',
+            'white': '#ffffff',
+            'red': '#FF0000',
+            'default': '#777777',
+            'primary': '#337ab7',
+            'success': '#5cb85c',
+            'info': '#5bc0de',
+            'warning': '#f0ad4e',
+            'danger': '#d9534f'
+        }
+    });
+
+    $('.sample-selector-rgb').colorpicker({
+        format: 'rgb'
+    });
+
+    $('.sample-selector-hex').colorpicker({
+        format: 'hex'
+    });
+
+    $('.sample-selector-rgba').colorpicker({
+        format: 'rgba'
+    });
+
+});
Index: resources/assets/js/examples/dashboard.js
===================================================================
--- resources/assets/js/examples/dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,1841 @@
+'use strict';
+$(document).ready(function () {
+
+    var colors = {
+        primary: $('.colors .bg-primary').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        primaryLight: $('.colors .bg-primary-bright').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        secondary: $('.colors .bg-secondary').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        secondaryLight: $('.colors .bg-secondary-bright').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        info: $('.colors .bg-info').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        infoLight: $('.colors .bg-info-bright').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        success: $('.colors .bg-success').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        successLight: $('.colors .bg-success-bright').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        danger: $('.colors .bg-danger').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        dangerLight: $('.colors .bg-danger-bright').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        warning: $('.colors .bg-warning').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(','),
+        warningLight: $('.colors .bg-warning-bright').css('background-color').replace('rgb', '').replace(')', '').replace('(', '').split(',')
+    };
+
+    var rgbToHex = function (rgb) {
+        var hex = Number(rgb).toString(16);
+        if (hex.length < 2) {
+            hex = "0" + hex;
+        }
+        return hex;
+    };
+
+    var fullColorHex = function (r, g, b) {
+        var red = rgbToHex(r);
+        var green = rgbToHex(g);
+        var blue = rgbToHex(b);
+        return red + green + blue;
+    };
+
+    colors.primary = '#' + fullColorHex(colors.primary[0], colors.primary[1], colors.primary[2]);
+    colors.secondary = '#' + fullColorHex(colors.secondary[0], colors.secondary[1], colors.secondary[2]);
+    colors.info = '#' + fullColorHex(colors.info[0], colors.info[1], colors.info[2]);
+    colors.success = '#' + fullColorHex(colors.success[0], colors.success[1], colors.success[2]);
+    colors.danger = '#' + fullColorHex(colors.danger[0], colors.danger[1], colors.danger[2]);
+    colors.warning = '#' + fullColorHex(colors.warning[0], colors.warning[1], colors.warning[2]);
+
+    /**
+     *  Slick slide example
+     **/
+
+    if ($('.slick-single-item').length) {
+        $('.slick-single-item').slick({
+            autoplay: true,
+            autoplaySpeed: 3000,
+            infinite: true,
+            slidesToShow: 4,
+            slidesToScroll: 4,
+            prevArrow: '.slick-single-arrows a:eq(0)',
+            nextArrow: '.slick-single-arrows a:eq(1)',
+            responsive: [
+                {
+                    breakpoint: 1300,
+                    settings: {
+                        slidesToShow: 3,
+                        slidesToScroll: 3,
+                    }
+                },
+                {
+                    breakpoint: 992,
+                    settings: {
+                        slidesToShow: 3,
+                        slidesToScroll: 3,
+                    }
+                },
+                {
+                    breakpoint: 768,
+                    settings: {
+                        slidesToShow: 2,
+                        slidesToScroll: 2
+                    }
+                },
+                {
+                    breakpoint: 540,
+                    settings: {
+                        slidesToShow: 1,
+                        slidesToScroll: 1
+                    }
+                }
+            ]
+        });
+    }
+
+    if ($('.reportrange').length > 0) {
+        var start = moment().subtract(29, 'days');
+        var end = moment();
+
+        function cb(start, end) {
+            $('.reportrange .text').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
+        }
+
+        $('.reportrange').daterangepicker({
+            startDate: start,
+            endDate: end,
+            ranges: {
+                'Today': [moment(), moment()],
+                'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
+                'Last 7 Days': [moment().subtract(6, 'days'), moment()],
+                'Last 30 Days': [moment().subtract(29, 'days'), moment()],
+                'This Month': [moment().startOf('month'), moment().endOf('month')],
+                'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
+            }
+        }, cb);
+
+        cb(start, end);
+    }
+
+    var chartColors = {
+        primary: {
+            base: '#3f51b5',
+            light: '#c0c5e4'
+        },
+        danger: {
+            base: '#f2125e',
+            light: '#fcd0df'
+        },
+        success: {
+            base: '#0acf97',
+            light: '#cef5ea'
+        },
+        warning: {
+            base: '#ff8300',
+            light: '#ffe6cc'
+        },
+        info: {
+            base: '#00bcd4',
+            light: '#e1efff'
+        },
+        dark: '#37474f',
+        facebook: '#3b5998',
+        twitter: '#55acee',
+        linkedin: '#0077b5',
+        instagram: '#517fa4',
+        whatsapp: '#25D366',
+        dribbble: '#ea4c89',
+        google: '#DB4437',
+        borderColor: '#e8e8e8',
+        fontColor: '#999'
+    };
+
+    if ($('body').hasClass('dark')) {
+        chartColors.borderColor = 'rgba(255, 255, 255, .1)';
+        chartColors.fontColor = 'rgba(255, 255, 255, .4)';
+    }
+
+    /// Chartssssss
+
+    chart_demo_1();
+
+    chart_demo_2();
+
+    chart_demo_3();
+
+    chart_demo_4();
+
+    chart_demo_5();
+
+    chart_demo_6();
+
+    chart_demo_7();
+
+    chart_demo_8();
+
+    chart_demo_9();
+
+    chart_demo_10();
+
+    function chart_demo_1() {
+        if ($('#chart_demo_1').length) {
+            var element = document.getElementById("chart_demo_1");
+            element.height = 146;
+            new Chart(element, {
+                type: 'bar',
+                data: {
+                    labels: ["2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019"],
+                    datasets: [
+                        {
+                            label: "Total Sales",
+                            backgroundColor: colors.primary,
+                            data: [133, 221, 783, 978, 214, 421, 211, 577]
+                        }, {
+                            label: "Average",
+                            backgroundColor: colors.info,
+                            data: [408, 947, 675, 734, 325, 672, 632, 213]
+                        }
+                    ]
+                },
+                options: {
+                    legend: {
+                        display: false
+                    },
+                    scales: {
+                        xAxes: [{
+                            ticks: {
+                                fontSize: 11,
+                                fontColor: chartColors.fontColor
+                            },
+                            gridLines: {
+                                display: false,
+                            }
+                        }],
+                        yAxes: [{
+                            ticks: {
+                                fontSize: 11,
+                                fontColor: chartColors.fontColor
+                            },
+                            gridLines: {
+                                color: chartColors.borderColor
+                            }
+                        }],
+                    }
+                }
+            })
+        }
+    }
+
+    function chart_demo_2() {
+        if ($('#chart_demo_2').length) {
+            var ctx = document.getElementById('chart_demo_2').getContext('2d');
+            new Chart(ctx, {
+                type: 'line',
+                data: {
+                    labels: ["Jun 2016", "Jul 2016", "Aug 2016", "Sep 2016", "Oct 2016", "Nov 2016", "Dec 2016", "Jan 2017", "Feb 2017", "Mar 2017", "Apr 2017", "May 2017"],
+                    datasets: [{
+                        label: "Rainfall",
+                        backgroundColor: chartColors.primary.light,
+                        borderColor: chartColors.primary.base,
+                        data: [26.4, 39.8, 66.8, 66.4, 40.6, 55.2, 77.4, 69.8, 57.8, 76, 110.8, 142.6],
+                    }]
+                },
+                options: {
+                    legend: {
+                        display: false,
+                        labels: {
+                            fontColor: chartColors.fontColor
+                        }
+                    },
+                    title: {
+                        display: true,
+                        text: 'Precipitation in Toronto',
+                        fontColor: chartColors.fontColor,
+                    },
+                    scales: {
+                        yAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor,
+                                beginAtZero: true
+                            },
+                            scaleLabel: {
+                                display: true,
+                                labelString: 'Precipitation in mm',
+                                fontColor: chartColors.fontColor,
+                            }
+                        }],
+                        xAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor,
+                                beginAtZero: true
+                            }
+                        }]
+                    }
+                }
+            });
+        }
+    }
+
+    function chart_demo_3() {
+        if ($('#chart_demo_3').length) {
+            var element = document.getElementById("chart_demo_3"),
+                ctx = element.getContext("2d");
+
+
+            new Chart(ctx, {
+                type: 'line',
+                data: {
+                    labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+                    datasets: [{
+                        label: 'Success',
+                        borderColor: colors.success,
+                        data: [-10, 30, -20, 0, 25, 44, 30, 15, 20, 10, 5, -5],
+                        pointRadius: 5,
+                        pointHoverRadius: 7,
+                        borderDash: [2, 2],
+                        fill: false
+                    }, {
+                        label: 'Return',
+                        fill: false,
+                        borderDash: [2, 2],
+                        borderColor: colors.danger,
+                        data: [20, 0, 22, 39, -10, 19, -7, 0, 15, 0, -10, 5],
+                        pointRadius: 5,
+                        pointHoverRadius: 7
+                    }]
+                },
+                options: {
+                    responsive: true,
+                    legend: {
+                        display: false,
+                        labels: {
+                            fontColor: chartColors.fontColor
+                        }
+                    },
+                    title: {
+                        display: false,
+                        fontColor: chartColors.fontColor
+                    },
+                    scales: {
+                        xAxes: [{
+                            gridLines: {
+                                display: false,
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor,
+                                display: false
+                            }
+                        }],
+                        yAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor,
+                                min: -50,
+                                max: 50
+                            }
+                        }],
+                    }
+                }
+            });
+
+        }
+    }
+
+    function chart_demo_4() {
+        if ($('#chart_demo_4').length) {
+            var ctx = document.getElementById("chart_demo_4").getContext("2d");
+            var densityData = {
+                backgroundColor: chartColors.primary.light,
+                data: [10, 20, 40, 60, 80, 40, 60, 80, 40, 80, 20, 59]
+            };
+            new Chart(ctx, {
+                type: 'bar',
+                data: {
+                    labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+                    datasets: [densityData]
+                },
+                options: {
+                    scaleFontColor: "#FFFFFF",
+                    legend: {
+                        display: false,
+                        labels: {
+                            fontColor: chartColors.fontColor
+                        }
+                    },
+                    scales: {
+                        xAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor
+                            }
+                        }],
+                        yAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor,
+                                min: 0,
+                                max: 100,
+                                beginAtZero: true
+                            }
+                        }]
+                    }
+                }
+            });
+        }
+    }
+
+    function chart_demo_5() {
+        if ($('#chart_demo_5').length) {
+            var ctx = document.getElementById('chart_demo_5').getContext('2d');
+            window.myBar = new Chart(ctx, {
+                type: 'bar',
+                data: {
+                    labels: ['January', 'February', 'March', 'April', 'May'],
+                    datasets: [
+                        {
+                            label: 'Dataset 1',
+                            backgroundColor: [
+                                chartColors.info.base,
+                                chartColors.success.base,
+                                chartColors.danger.base,
+                                chartColors.dark,
+                                chartColors.warning.base,
+                            ],
+                            yAxisID: 'y-axis-1',
+                            data: [33, 56, -40, 25, 45]
+                        },
+                        {
+                            label: 'Dataset 2',
+                            backgroundColor: chartColors.info.base,
+                            yAxisID: 'y-axis-2',
+                            data: [23, 86, -40, 5, 45]
+                        }
+                    ]
+                },
+                options: {
+                    legend: {
+                        labels: {
+                            fontColor: chartColors.fontColor
+                        }
+                    },
+                    responsive: true,
+                    title: {
+                        display: true,
+                        text: 'Chart.js Bar Chart - Multi Axis',
+                        fontColor: chartColors.fontColor
+                    },
+                    tooltips: {
+                        mode: 'index',
+                        intersect: true
+                    },
+                    scales: {
+                        xAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor
+                            }
+                        }],
+                        yAxes: [
+                            {
+                                type: 'linear',
+                                display: true,
+                                position: 'left',
+                                id: 'y-axis-1',
+                            },
+                            {
+                                gridLines: {
+                                    color: chartColors.borderColor
+                                },
+                                ticks: {
+                                    fontColor: chartColors.fontColor
+                                }
+                            },
+                            {
+                                type: 'linear',
+                                display: true,
+                                position: 'right',
+                                id: 'y-axis-2',
+                                gridLines: {
+                                    drawOnChartArea: false
+                                },
+                                ticks: {
+                                    fontColor: chartColors.fontColor
+                                }
+                            }
+                        ],
+                    }
+                }
+            });
+        }
+    }
+
+    function chart_demo_6() {
+        if ($('#chart_demo_6').length) {
+            var ctx = document.getElementById("chart_demo_6").getContext("2d");
+            var speedData = {
+                labels: ["0s", "10s", "20s", "30s", "40s", "50s", "60s"],
+                datasets: [{
+                    label: "Car Speed (mph)",
+                    borderColor: chartColors.primary.base,
+                    backgroundColor: 'rgba(0, 0, 0, 0',
+                    data: [0, 59, 75, 20, 20, 55, 40]
+                }]
+            };
+            var chartOptions = {
+                legend: {
+                    scaleFontColor: "#FFFFFF",
+                    position: 'top',
+                    labels: {
+                        fontColor: chartColors.fontColor
+                    }
+                },
+                scales: {
+                    xAxes: [{
+                        gridLines: {
+                            color: chartColors.borderColor
+                        },
+                        ticks: {
+                            fontColor: chartColors.fontColor
+                        }
+                    }],
+                    yAxes: [{
+                        gridLines: {
+                            color: chartColors.borderColor
+                        },
+                        ticks: {
+                            fontColor: chartColors.fontColor
+                        }
+                    }]
+                }
+            };
+            new Chart(ctx, {
+                type: 'line',
+                data: speedData,
+                options: chartOptions
+            });
+        }
+    }
+
+    function chart_demo_7() {
+        if ($('#chart_demo_7').length) {
+            var config = {
+                type: 'pie',
+                data: {
+                    datasets: [{
+                        borderWidth: 3,
+                        borderColor: $('body').hasClass('dark') ? "#313852" : "rgba(255, 255, 255, 1)",
+                        data: [
+                            1242,
+                            742,
+                            442,
+                            1742
+                        ],
+                        backgroundColor: [
+                            colors.danger,
+                            colors.info,
+                            colors.warning,
+                            colors.success
+                        ],
+                        label: 'Dataset 1'
+                    }],
+                    labels: [
+                        'Organic Search',
+                        'Email',
+                        'Refferal',
+                        'Social Media',
+                    ]
+                },
+                options: {
+                    responsive: true,
+                    legend: {
+                        display: false
+                    }
+                }
+            };
+
+            var ctx = document.getElementById('chart_demo_7').getContext('2d');
+            new Chart(ctx, config);
+        }
+    }
+
+    function chart_demo_8() {
+        if ($('#chart_demo_8').length) {
+            new Chart(document.getElementById("chart_demo_8"), {
+                type: 'radar',
+                data: {
+                    labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
+                    datasets: [
+                        {
+                            label: "1950",
+                            fill: true,
+                            backgroundColor: "rgba(179,181,198,0.2)",
+                            borderColor: "rgba(179,181,198,1)",
+                            pointBorderColor: "#fff",
+                            pointBackgroundColor: "rgba(179,181,198,1)",
+                            data: [-8.77, -55.61, 21.69, 6.62, 6.82]
+                        }, {
+                            label: "2050",
+                            fill: true,
+                            backgroundColor: "rgba(255,99,132,0.2)",
+                            borderColor: "rgba(255,99,132,1)",
+                            pointBorderColor: "#fff",
+                            pointBackgroundColor: "rgba(255,99,132,1)",
+                            data: [-25.48, 54.16, 7.61, 8.06, 4.45]
+                        }
+                    ]
+                },
+                options: {
+                    legend: {
+                        labels: {
+                            fontColor: chartColors.fontColor
+                        }
+                    },
+                    scale: {
+                        gridLines: {
+                            color: chartColors.borderColor
+                        }
+                    },
+                    title: {
+                        display: true,
+                        text: 'Distribution in % of world population',
+                        fontColor: chartColors.fontColor
+                    }
+                }
+            });
+        }
+    }
+
+    function chart_demo_9() {
+        if ($('#chart_demo_9').length) {
+            new Chart(document.getElementById("chart_demo_9"), {
+                type: 'horizontalBar',
+                data: {
+                    labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
+                    datasets: [
+                        {
+                            label: "Population (millions)",
+                            backgroundColor: colors.primary,
+                            data: [2478, 2267, 734, 1284, 1933]
+                        }
+                    ]
+                },
+                options: {
+                    legend: {
+                        display: false
+                    },
+                    scales: {
+                        xAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor,
+                                display: false
+                            }
+                        }],
+                        yAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor,
+                                display: false
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor
+                            },
+                            barPercentage: 0.5
+                        }]
+                    }
+                }
+            });
+        }
+    }
+
+    function chart_demo_10() {
+        if ($('#chart_demo_10').length) {
+            var element = document.getElementById("chart_demo_10");
+            new Chart(element, {
+                type: 'bar',
+                data: {
+                    labels: ["1900", "1950", "1999", "2050"],
+                    datasets: [
+                        {
+                            label: "Europe",
+                            type: "line",
+                            borderColor: "#8e5ea2",
+                            data: [408, 547, 675, 734],
+                            fill: false
+                        },
+                        {
+                            label: "Africa",
+                            type: "line",
+                            borderColor: "#3e95cd",
+                            data: [133, 221, 783, 2478],
+                            fill: false
+                        },
+                        {
+                            label: "Europe",
+                            type: "bar",
+                            backgroundColor: chartColors.primary.base,
+                            data: [408, 547, 675, 734],
+                        },
+                        {
+                            label: "Africa",
+                            type: "bar",
+                            backgroundColor: chartColors.primary.light,
+                            data: [133, 221, 783, 2478]
+                        }
+                    ]
+                },
+                options: {
+                    title: {
+                        display: true,
+                        text: 'Population growth (millions): Europe & Africa',
+                        fontColor: chartColors.fontColor
+                    },
+                    legend: {
+                        display: true,
+                        labels: {
+                            fontColor: chartColors.fontColor
+                        }
+                    },
+                    scales: {
+                        xAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor
+                            }
+                        }],
+                        yAxes: [{
+                            gridLines: {
+                                color: chartColors.borderColor
+                            },
+                            ticks: {
+                                fontColor: chartColors.fontColor
+                            }
+                        }]
+                    }
+                }
+            });
+        }
+    }
+
+    if ($('#circle-1').length) {
+        $('#circle-1').circleProgress({
+            startAngle: 1.55,
+            value: 0.65,
+            size: 90,
+            thickness: 10,
+            fill: {
+                color: colors.primary
+            }
+        });
+    }
+
+    if ($('#sales-circle-graphic').length) {
+        $('#sales-circle-graphic').circleProgress({
+            startAngle: 1.55,
+            value: 0.65,
+            size: 180,
+            thickness: 30,
+            fill: {
+                color: colors.primary
+            }
+        });
+    }
+
+    if ($('#circle-2').length) {
+        $('#circle-2').circleProgress({
+            startAngle: 1.55,
+            value: 0.35,
+            size: 90,
+            thickness: 10,
+            fill: {
+                color: colors.warning
+            }
+        });
+    }
+
+    ////////////////////////////////////////////
+
+    if ($(".dashboard-pie-1").length) {
+        $(".dashboard-pie-1").peity("pie", {
+            fill: [colors.primaryLight, colors.primary],
+            radius: 30
+        });
+    }
+
+    if ($(".dashboard-pie-2").length) {
+        $(".dashboard-pie-2").peity("pie", {
+            fill: [colors.successLight, colors.success],
+            radius: 30
+        });
+    }
+
+    if ($(".dashboard-pie-3").length) {
+        $(".dashboard-pie-3").peity("pie", {
+            fill: [colors.warningLight, colors.warning],
+            radius: 30
+        });
+    }
+
+    if ($(".dashboard-pie-4").length) {
+        $(".dashboard-pie-4").peity("pie", {
+            fill: [colors.infoLight, colors.info],
+            radius: 30
+        });
+    }
+
+    ////////////////////////////////////////////
+
+    function bar_chart() {
+        if ($('#chart-ticket-status').length > 0) {
+            var dataSource = [
+                {country: "USA", hydro: 59.8, oil: 937.6, gas: 582, coal: 564.3, nuclear: 187.9},
+                {country: "China", hydro: 74.2, oil: 308.6, gas: 35.1, coal: 956.9, nuclear: 11.3},
+                {country: "Russia", hydro: 40, oil: 128.5, gas: 361.8, coal: 105, nuclear: 32.4},
+                {country: "Japan", hydro: 22.6, oil: 241.5, gas: 64.9, coal: 120.8, nuclear: 64.8},
+                {country: "India", hydro: 19, oil: 119.3, gas: 28.9, coal: 204.8, nuclear: 3.8},
+                {country: "Germany", hydro: 6.1, oil: 123.6, gas: 77.3, coal: 85.7, nuclear: 37.8}
+            ];
+
+            // Return with commas in between
+            var numberWithCommas = function (x) {
+                return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+            };
+
+            var dataPack1 = [40, 47, 44, 38, 27, 40, 47, 44, 38, 27, 40, 27];
+            var dataPack2 = [10, 12, 7, 5, 4, 10, 12, 7, 5, 4, 10, 12];
+            var dataPack3 = [17, 11, 22, 18, 12, 17, 11, 22, 18, 12, 17, 11];
+            var dates = ["Jan", "Jan", "Jan", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
+
+            var bar_ctx = document.getElementById('chart-ticket-status');
+
+            bar_ctx.height = 115;
+
+            new Chart(bar_ctx, {
+                    type: 'bar',
+                    data: {
+                        labels: dates,
+                        datasets: [
+                            {
+                                label: 'New Tickets',
+                                data: dataPack1,
+                                backgroundColor: colors.primary,
+                                hoverBorderWidth: 0
+                            },
+                            {
+                                label: 'Solved Tickets',
+                                data: dataPack2,
+                                backgroundColor: colors.success,
+                                hoverBorderWidth: 0
+                            },
+                            {
+                                label: 'Pending Tickets',
+                                data: dataPack3,
+                                backgroundColor: colors.info,
+                                hoverBorderWidth: 0
+                            },
+                        ]
+                    },
+                    options: {
+                        legend: {
+                            display: false
+                        },
+                        animation: {
+                            duration: 10,
+                        },
+                        tooltips: {
+                            mode: 'label',
+                            callbacks: {
+                                label: function (tooltipItem, data) {
+                                    return data.datasets[tooltipItem.datasetIndex].label + ": " + numberWithCommas(tooltipItem.yLabel);
+                                }
+                            }
+                        },
+                        scales: {
+                            xAxes: [{
+                                stacked: true,
+                                gridLines: {display: false},
+                                ticks: {
+                                    fontSize: 11,
+                                    fontColor: chartColors.fontColor
+                                }
+                            }],
+                            yAxes: [{
+                                stacked: true,
+                                ticks: {
+                                    callback: function (value) {
+                                        return numberWithCommas(value);
+                                    },
+                                    fontSize: 11,
+                                    fontColor: chartColors.fontColor
+                                },
+                            }],
+                        }
+                    },
+                    plugins: [{
+                        beforeInit: function (chart) {
+                            chart.data.labels.forEach(function (value, index, array) {
+                                var a = [];
+                                a.push(value.slice(0, 5));
+                                var i = 1;
+                                while (value.length > (i * 5)) {
+                                    a.push(value.slice(i * 5, (i + 1) * 5));
+                                    i++;
+                                }
+                                array[index] = a;
+                            })
+                        }
+                    }]
+                }
+            );
+        }
+    }
+
+    bar_chart();
+
+    function online_users() {
+        if ($('#online-users').length > 0) {
+            var lastDate = 0;
+            var data = []
+            var TICKINTERVAL = 86400000
+            let XAXISRANGE = 777600000
+
+            function getDayWiseTimeSeries(baseval, count, yrange) {
+                var i = 0;
+                while (i < count) {
+                    var x = baseval;
+                    var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
+
+                    data.push({
+                        x, y
+                    });
+                    lastDate = baseval
+                    baseval += TICKINTERVAL;
+                    i++;
+                }
+            }
+
+            getDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 10, {
+                min: 10,
+                max: 90
+            })
+
+            function getNewSeries(baseval, yrange) {
+                var newDate = baseval + TICKINTERVAL;
+                lastDate = newDate
+
+                for (var i = 0; i < data.length - 10; i++) {
+                    // IMPORTANT
+                    // we reset the x and y of the data which is out of drawing area
+                    // to prevent memory leaks
+                    data[i].x = newDate - XAXISRANGE - TICKINTERVAL
+                    data[i].y = 0
+                }
+
+                data.push({
+                    x: newDate,
+                    y: Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min
+                })
+            }
+
+            function resetData() {
+                // Alternatively, you can also reset the data at certain intervals to prevent creating a huge series
+                data = data.slice(data.length - 10, data.length);
+            }
+
+            var options = {
+                series: [{
+                    data: data.slice()
+                }],
+                chart: {
+                    id: 'realtime',
+                    height: 330,
+                    type: 'line',
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false
+                    },
+                    zoom: {
+                        enabled: false
+                    }
+                },
+                dataLabels: {
+                    enabled: false
+                },
+                stroke: {
+                    curve: 'smooth',
+                    width: 3,
+                    colors: ['#ffffff'],
+                },
+                xaxis: {
+                    labels: {
+                        show: false,
+                    },
+                    type: 'datetime',
+                    range: XAXISRANGE,
+                    axisBorder: {
+                        show: false,
+                    }
+                },
+                yaxis: {
+                    show: false,
+                    max: 100
+                },
+                grid: {
+                    show: false,
+                }
+            };
+
+            var chart = new ApexCharts(document.querySelector("#online-users"), options);
+            chart.render();
+
+            window.setInterval(function () {
+                getNewSeries(lastDate, {
+                    min: 10,
+                    max: 90
+                });
+
+                chart.updateSeries([{
+                    data: data
+                }])
+            }, 1000)
+        }
+    }
+
+    online_users();
+
+    function customerGrowth() {
+        if ($('#customer-growth').length > 0) {
+            var options = {
+                chart: {
+                    height: 350,
+                    type: 'area',
+                    offsetX: -20,
+                    offsetY: -10,
+                    width: '103%',
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false,
+                    }
+                },
+                dataLabels: {
+                    enabled: false
+                },
+                colors: [colors.primary],
+                stroke: {
+                    curve: 'smooth',
+                    width: 2,
+                },
+                series: [{
+                    name: 'Sales',
+                    data: [80, 40, 60, 90, 50, 100, 90, 80, 45, 75, 50, 100]
+                }],
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        opacityFrom: 0.6,
+                        opacityTo: 0,
+                    }
+                },
+                xaxis: {
+                    categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+                }
+            };
+
+            var chart = new ApexCharts(
+                document.querySelector("#customer-growth"),
+                options
+            );
+
+            chart.render();
+        }
+    }
+
+    customerGrowth();
+
+    function device_session_chart() {
+        if ($('#device_session_chart').length) {
+
+            var data = [
+                {
+                    name: "Mobile",
+                    data: [90, 152, 138, 145, 120, 123, 140]
+                },
+                {
+                    name: "Tablet",
+                    data: [125, 90, 128, 135, 150, 123, 180]
+                },
+                {
+                    name: "Desktop",
+                    data: [50, 200, 138, 135, 100, 123, 90]
+                }
+            ];
+
+            var options = {
+                chart: {
+                    type: 'area',
+                    fontFamily: 'Inter',
+                    height: 300,
+                    offsetX: -18,
+                    width: '103%',
+                    stacked: true,
+                    events: {
+                        selection: function (chart, e) {
+                            // console.log(new Date(e.xaxis.min))
+                        }
+                    },
+                    toolbar: {
+                        show: false,
+                    }
+
+                },
+                colors: [colors.primary, colors.secondary, colors.success],
+                dataLabels: {
+                    enabled: false
+                },
+                stroke: {
+                    curve: 'smooth',
+                    width: 1
+                },
+                series: data,
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        opacityFrom: .6,
+                        opacityTo: 0,
+                    }
+                },
+                legend: {
+                    show: false
+                },
+                xaxis: {
+                    categories: [
+                        "01 Jan",
+                        "02 Jan",
+                        "03 Jan",
+                        "04 Jan",
+                        "05 Jan",
+                        "06 Jan",
+                        "07 Jan"
+                    ]
+                }
+            };
+
+            var chart = new ApexCharts(
+                document.querySelector("#device_session_chart"),
+                options
+            );
+
+            chart.render();
+
+            /*
+              // this function will generate output in this format
+              // data = [
+                  [timestamp, 23],
+                  [timestamp, 33],
+                  [timestamp, 12]
+                  ...
+              ]
+              */
+            function generateDayWiseTimeSeries(baseval, count, yrange) {
+                var i = 0;
+                var series = [];
+                while (i < count) {
+                    var x = baseval;
+                    var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
+
+                    series.push([x, y]);
+                    baseval += 86400000;
+                    i++;
+                }
+                return series;
+            }
+        }
+    }
+
+    device_session_chart();
+
+    function analytics_tab1() {
+        if ($('#analytics-tab-1').length) {
+            var options = {
+                series: [{
+                    name: 'Users',
+                    data: [20, 25, 15, 12, 25, 20, 22]
+                }],
+                chart: {
+                    height: 280,
+                    type: 'line',
+                    offsetX: -20,
+                    offsetY: 20,
+                    width: '102%',
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false,
+                    }
+                },
+                stroke: {
+                    width: 3,
+                    curve: 'smooth'
+                },
+                xaxis: {
+                    type: 'datetime',
+                    categories: [
+                        "01 Jan",
+                        "02 Jan",
+                        "03 Jan",
+                        "04 Jan",
+                        "05 Jan",
+                        "06 Jan",
+                        "07 Jan"
+                    ]
+                },
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        shade: 'dark',
+                        gradientToColors: [colors.secondary],
+                        shadeIntensity: 1,
+                        type: 'horizontal',
+                        opacityFrom: 1,
+                        opacityTo: 1,
+                        stops: [0, 100, 100, 100]
+                    },
+                }
+            };
+
+            var chart = new ApexCharts(document.querySelector("#analytics-tab-1"), options);
+            chart.render();
+        }
+    }
+
+    analytics_tab1();
+
+    function analytics_tab2() {
+        if ($('#analytics-tab-2').length) {
+            var options = {
+                series: [{
+                    name: 'Conversations',
+                    data: [10, 35, 10, 22, 25, 10, 30]
+                }],
+                chart: {
+                    height: 280,
+                    type: 'line',
+                    offsetX: -20,
+                    offsetY: 20,
+                    width: '102%',
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false,
+                    }
+                },
+                stroke: {
+                    width: 3,
+                    curve: 'smooth'
+                },
+                xaxis: {
+                    type: 'datetime',
+                    categories: [
+                        "01 Jan",
+                        "02 Jan",
+                        "03 Jan",
+                        "04 Jan",
+                        "05 Jan",
+                        "06 Jan",
+                        "07 Jan"
+                    ]
+                },
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        shade: 'dark',
+                        gradientToColors: [colors.secondary],
+                        shadeIntensity: 1,
+                        type: 'horizontal',
+                        opacityFrom: 1,
+                        opacityTo: 1,
+                        stops: [0, 100, 100, 100]
+                    },
+                }
+            };
+
+            var chart = new ApexCharts(document.querySelector("#analytics-tab-2"), options);
+            chart.render();
+        }
+    }
+
+    analytics_tab2();
+
+    function analytics_tab3() {
+        if ($('#analytics-tab-3').length) {
+            var options = {
+                series: [{
+                    name: 'Bounce Rate',
+                    data: [20.5, 30.6, 25.6, 22.6, 25.1, 15.5, 18.0]
+                }],
+                chart: {
+                    height: 280,
+                    type: 'line',
+                    offsetX: -20,
+                    offsetY: 20,
+                    width: '102%',
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false,
+                    }
+                },
+                stroke: {
+                    width: 3,
+                    curve: 'smooth'
+                },
+                xaxis: {
+                    type: 'datetime',
+                    categories: [
+                        "01 Jan",
+                        "02 Jan",
+                        "03 Jan",
+                        "04 Jan",
+                        "05 Jan",
+                        "06 Jan",
+                        "07 Jan"
+                    ]
+                },
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        shade: 'dark',
+                        gradientToColors: [colors.secondary],
+                        shadeIntensity: 1,
+                        type: 'horizontal',
+                        opacityFrom: 1,
+                        opacityTo: 1,
+                        stops: [0, 100, 100, 100]
+                    },
+                },
+                tooltip: {
+                    y: {
+                        formatter: function (val) {
+                            return "%" + val
+                        }
+                    }
+                }
+            };
+
+            var chart = new ApexCharts(document.querySelector("#analytics-tab-3"), options);
+            chart.render();
+        }
+    }
+
+    analytics_tab3();
+
+    function analytics_tab4() {
+        if ($('#analytics-tab-4').length) {
+            var options = {
+                series: [{
+                    name: 'Session Duration',
+                    data: [25, 30, 25, 32, 25, 30, 18]
+                }],
+                chart: {
+                    height: 280,
+                    type: 'line',
+                    offsetX: -20,
+                    offsetY: 20,
+                    width: '102%',
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false,
+                    }
+                },
+                stroke: {
+                    width: 3,
+                    curve: 'smooth'
+                },
+                xaxis: {
+                    type: 'datetime',
+                    categories: [
+                        "01 Jan 2020 18:50",
+                        "02 Jan 2020 18:50",
+                        "03 Jan 2020 18:50",
+                        "04 Jan 2020 18:50",
+                        "05 Jan 2020 18:50",
+                        "06 Jan 2020 18:50",
+                        "07 Jan 2020 18:50"
+                    ]
+                },
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        shade: 'dark',
+                        gradientToColors: [colors.secondary],
+                        shadeIntensity: 1,
+                        type: 'horizontal',
+                        opacityFrom: 1,
+                        opacityTo: 1,
+                        stops: [0, 100, 100, 100]
+                    },
+                }
+            };
+
+            var chart = new ApexCharts(document.querySelector("#analytics-tab-4"), options);
+            chart.render();
+        }
+    }
+
+    analytics_tab4();
+
+    function chart1() {
+        if ($('#chart1').length) {
+            var options = {
+                chart: {
+                    type: 'bar',
+                    toolbar: {
+                        show: false
+                    }
+                },
+                plotOptions: {
+                    bar: {
+                        horizontal: false,
+                        columnWidth: '55%',
+                        backgroundBarColors: ['red']
+                    },
+                },
+                dataLabels: {
+                    enabled: false
+                },
+                stroke: {
+                    show: true,
+                    width: 1,
+                    colors: ['transparent']
+                },
+                colors: [colors.secondary, colors.info, colors.warning],
+                series: [{
+                    name: 'Net Profit',
+                    data: [44, 55, 57, 56, 61, 58, 63, 60, 66]
+                }, {
+                    name: 'Revenue',
+                    data: [76, 85, 101, 98, 87, 105, 91, 114, 94]
+                }, {
+                    name: 'Free Cash Flow',
+                    data: [35, 41, 36, 26, 45, 48, 52, 53, 41]
+                }],
+                xaxis: {
+                    categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'],
+                },
+                legend: {
+                    position: 'bottom',
+                    offsetY: -10
+                },
+                tooltip: {
+                    y: {
+                        formatter: function (val) {
+                            return "$ " + val + " thousands"
+                        }
+                    }
+                }
+            };
+
+            var chart = new ApexCharts(
+                document.querySelector("#chart1"),
+                options
+            );
+
+            chart.render();
+        }
+    }
+
+    chart1();
+
+    function widget_chart1() {
+        if ($('#widget-chart1').length) {
+            var ctx = document.getElementById("widget-chart1");
+            ctx.height = 50;
+            new Chart(ctx.getContext('2d'), {
+                type: 'line',
+                data: {
+                    labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sst", "Sun"],
+                    datasets: [{
+                        label: 'data-2',
+                        data: [5, 15, 5, 20, 5, 15, 5],
+                        backgroundColor: "rgba(0,0,255,0)",
+                        borderWidth: 1,
+                        borderColor: colors.success,
+                        pointBorder: false,
+                    }]
+                },
+                options: {
+                    elements: {
+                        point: {
+                            radius: 0
+                        }
+                    },
+                    tooltips: {
+                        enabled: false
+                    },
+                    legend: {
+                        display: false
+                    },
+                    scales: {
+                        yAxes: [{
+                            display: false,
+                        }],
+                        xAxes: [{
+                            display: false
+                        }]
+                    },
+                }
+            });
+        }
+    }
+
+    widget_chart1();
+
+    function widget_chart2() {
+        if ($('#widget-chart2').length) {
+            var ctx = document.getElementById("widget-chart2");
+            ctx.height = 50;
+            var barChart = new Chart(ctx.getContext('2d'), {
+                type: 'line',
+                data: {
+                    labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sst", "Sun"],
+                    datasets: [{
+                        label: 'data-2',
+                        data: [5, 10, 10, 10, 5, 15, 10],
+                        backgroundColor: "rgba(0,0,255,0)",
+                        borderColor: colors.warning,
+                        borderWidth: 1,
+                        pointBorder: false,
+                    }]
+                },
+                options: {
+                    elements: {
+                        point: {
+                            radius: 0
+                        }
+                    },
+                    tooltips: {
+                        enabled: false
+                    },
+                    legend: {
+                        display: false
+                    },
+                    scales: {
+                        yAxes: [{
+                            display: false
+                        }],
+                        xAxes: [{
+                            display: false
+                        }]
+                    },
+                }
+            });
+        }
+    }
+
+    widget_chart2();
+
+    function widget_chart3() {
+        if ($('#widget-chart3').length) {
+            var ctx = document.getElementById("widget-chart3");
+            ctx.height = 50;
+            var barChart = new Chart(ctx.getContext('2d'), {
+                type: 'line',
+                data: {
+                    labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sst", "Sun"],
+                    datasets: [{
+                        label: 'data-2',
+                        data: [10, 5, 15, 5, 15, 5, 15],
+                        backgroundColor: "rgba(0,0,255,0)",
+                        borderColor: colors.danger,
+                        borderWidth: 1,
+                        pointBorder: false,
+                    }]
+                },
+                options: {
+                    elements: {
+                        point: {
+                            radius: 0
+                        }
+                    },
+                    tooltips: {
+                        enabled: false
+                    },
+                    legend: {
+                        display: false
+                    },
+                    scales: {
+                        yAxes: [{
+                            display: false
+                        }],
+                        xAxes: [{
+                            display: false
+                        }]
+                    },
+                }
+            });
+        }
+    }
+
+    widget_chart3();
+
+    function contactsStatuses() {
+        if ($('#contacts-statuses').length) {
+            var chart = new ApexCharts(
+                document.querySelector("#contacts-statuses"), {
+                    chart: {
+                        width: "100%",
+                        type: 'donut',
+                    },
+                    dataLabels: {
+                        enabled: false
+                    },
+                    stroke: {
+                        width: 3,
+                        colors: $('body').hasClass('dark') ? "#313852" : "rgba(255, 255, 255, 1)",
+                    },
+                    series: [44, 55, 13, 33],
+                    labels: ['New Contact', 'NR1', 'NR2', 'NR3'],
+                    colors: [colors.warning, colors.info, colors.success, colors.danger],
+                    legend: {
+                        position: 'bottom',
+                    }
+                }
+            );
+
+            chart.render();
+        }
+    }
+
+    contactsStatuses();
+
+    function revenue() {
+        if ($('#revenue').length) {
+            var ts2 = 1484418600000;
+            var dates = [];
+            for (var i = 0; i < 120; i++) {
+                ts2 = ts2 + 86400000;
+                var innerArr = [ts2, dataSeries[1][i].value];
+                dates.push(innerArr)
+            }
+
+            var options = {
+                chart: {
+                    type: 'area',
+                    fontFamily: "Inter",
+                    offsetX: -18,
+                    stacked: false,
+                    height: 390,
+                    width: '103%',
+                    toolbar: {
+                        show: false
+                    }
+                },
+                dataLabels: {
+                    enabled: false
+                },
+                series: [{
+                    name: 'Number of orders',
+                    data: dates
+                }],
+                stroke: {
+                    colors: [colors.primary],
+                    width: 2
+                },
+                fill: {
+                    type: 'gradient',
+                    gradient: {
+                        opacityFrom: 0.6,
+                        opacityTo: 0,
+                    }
+                },
+                yaxis: {
+                    labels: {
+                        formatter: function (val) {
+                            return (val / 1000000).toFixed(0);
+                        },
+                    }
+                },
+                xaxis: {
+                    type: 'datetime',
+                },
+
+                tooltip: {
+                    shared: false,
+                    y: {
+                        formatter: function (val) {
+                            return (val / 1000000).toFixed(0)
+                        }
+                    }
+                }
+            };
+
+            var chart = new ApexCharts(
+                document.querySelector("#revenue"),
+                options
+            );
+
+            chart.render();
+        }
+    }
+
+    revenue();
+
+    function hotProducts() {
+        if ($('#hot-products').length) {
+            var options = {
+                series: [44, 55, 13, 36, 30],
+                chart: {
+                    type: 'donut',
+                    fontFamily: "Inter",
+                    offsetY: 30,
+                    height: 250,
+                },
+                colors: [colors.primary, colors.secondary, colors.success, colors.warning, colors.danger],
+                labels: ['Iphone', 'Samsung', 'Huawei', 'General Mobile', 'Xiaomi'],
+                dataLabels: {
+                    enabled: false,
+
+                },
+                stroke: {
+                    colors: $('body').hasClass('dark') ? "#313852" : "#ffffff",
+                },
+                legend: {
+                    show: false
+                }
+            };
+
+            var chart = new ApexCharts(document.querySelector("#hot-products"), options);
+            chart.render();
+        }
+    }
+
+    hotProducts();
+
+    function activityChart() {
+        if ($('#ecommerce-activity-chart').length) {
+            var options = {
+                chart: {
+                    type: 'bar',
+                    fontFamily: "Inter",
+                    offsetX: -18,
+                    height: 312,
+                    width: '103%',
+                    toolbar: {
+                        show: false
+                    }
+                },
+                series: [{
+                    name: 'Comments',
+                    data: [44, 55, 57, 56, 61, 58, 63, 60, 66]
+                }, {
+                    name: 'Product View',
+                    data: [76, 85, 101, 98, 87, 105, 91, 114, 94]
+                }],
+                colors: [colors.secondary, colors.info],
+                plotOptions: {
+                    bar: {
+                        horizontal: false,
+                        columnWidth: '50%',
+                        endingShape: 'rounded'
+                    },
+                },
+                dataLabels: {
+                    enabled: false
+                },
+                stroke: {
+                    show: true,
+                    width: 8,
+                    colors: ['transparent']
+                },
+                xaxis: {
+                    categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'],
+                },
+                fill: {
+                    opacity: 1
+                },
+                legend: {
+                    position: "top",
+                }
+            };
+
+            var chart = new ApexCharts(
+                document.querySelector("#ecommerce-activity-chart"),
+                options
+            );
+
+            chart.render();
+        }
+    }
+
+    activityChart();
+
+    function projectTasks() {
+        if ($('#project-tasks').length) {
+            var options = {
+                colors: [colors.primary, colors.success, colors.info, colors.warning],
+                chart: {
+                    height: 350,
+                    type: 'bar',
+                    stacked: true,
+                    offsetY: -30,
+                    fontFamily: 'Inter',
+                    toolbar: {
+                        show: false
+                    },
+                    zoom: {
+                        enabled: false
+                    }
+                },
+                plotOptions: {
+                    bar: {
+                        horizontal: false,
+                    },
+                },
+                series: [{
+                    name: 'Project A',
+                    data: [44, 55, 41, 67, 22, 43]
+                }, {
+                    name: 'Project B',
+                    data: [13, 23, 20, 8, 13, 27]
+                }, {
+                    name: 'Project C',
+                    data: [11, 17, 15, 15, 21, 14]
+                }, {
+                    name: 'Project D',
+                    data: [21, 7, 25, 13, 22, 8]
+                }],
+                xaxis: {
+                    type: 'datetime',
+                    categories: ['01/01/2011 GMT', '01/02/2011 GMT', '01/03/2011 GMT', '01/04/2011 GMT', '01/05/2011 GMT', '01/06/2011 GMT'],
+                },
+                legend: {
+                    position: 'bottom',
+                    offsetY: -10
+                },
+                fill: {
+                    opacity: 1
+                },
+            };
+
+            var chart = new ApexCharts(
+                document.querySelector("#project-tasks"),
+                options
+            );
+
+            chart.render();
+        }
+    }
+
+    setInterval(function () {
+        $('#online-users-text').text(Math.round(Math.random() * 100));
+    }, 2000);
+
+    projectTasks();
+
+});
Index: resources/assets/js/examples/datatable.js
===================================================================
--- resources/assets/js/examples/datatable.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/datatable.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,13 @@
+'use strict';
+$(document).ready(function () {
+
+    $('#example1').DataTable({
+        responsive: true
+    });
+
+    $('#example2').DataTable({
+        "scrollY": "400px",
+        "scrollCollapse": true
+    });
+
+});
Index: resources/assets/js/examples/datepicker.js
===================================================================
--- resources/assets/js/examples/datepicker.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/datepicker.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,49 @@
+'use strict';
+$(document).ready(function () {
+
+    $('input[name="single-date-picker"]').daterangepicker({
+        singleDatePicker: true,
+        showDropdowns: true
+    });
+
+    $('input[name="simple-date-range-picker"]').daterangepicker();
+
+    $('input[name="simple-date-range-picker-callback"]').daterangepicker({
+        opens: 'left'
+    }, function (start, end, label) {
+        swal("A new date selection was made", start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'), "success")
+    });
+
+    $('input[name="datetimes"]').daterangepicker({
+        timePicker: true,
+        startDate: moment().startOf('hour'),
+        endDate: moment().startOf('hour').add(32, 'hour'),
+        locale: {
+            format: 'M/DD hh:mm A'
+        }
+    });
+
+    /**
+     * datefilter
+     */
+    var datefilter = $('input[name="datefilter"]');
+    datefilter.daterangepicker({
+        autoUpdateInput: false,
+        locale: {
+            cancelLabel: 'Clear'
+        }
+    });
+
+    datefilter.on('apply.daterangepicker', function(ev, picker) {
+        $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
+    });
+
+    $('input.create-event-datepicker').daterangepicker({
+        singleDatePicker: true,
+        showDropdowns: true,
+        autoUpdateInput: false
+    }).on('apply.daterangepicker', function(ev, picker) {
+        $(this).val(picker.startDate.format('MM/DD/YYYY'));
+    });
+
+});
Index: resources/assets/js/examples/dropzone.js
===================================================================
--- resources/assets/js/examples/dropzone.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/dropzone.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,6 @@
+'use strict';
+$(document).ready(function () {
+
+    new Dropzone("#my-awesome-dropzone", {});
+
+});
Index: resources/assets/js/examples/form-validator.js
===================================================================
--- resources/assets/js/examples/form-validator.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/form-validator.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,17 @@
+(function () {
+    'use strict';
+    window.addEventListener('load', function () {
+        // Fetch all the forms we want to apply custom Bootstrap validation styles to
+        var forms = document.getElementsByClassName('needs-validation');
+        // Loop over them and prevent submission
+        var validation = Array.prototype.filter.call(forms, function (form) {
+            form.addEventListener('submit', function (event) {
+                if (form.checkValidity() === false) {
+                    event.preventDefault();
+                    event.stopPropagation();
+                }
+                form.classList.add('was-validated');
+            }, false);
+        });
+    }, false);
+})();
Index: resources/assets/js/examples/form-wizard.js
===================================================================
--- resources/assets/js/examples/form-wizard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/form-wizard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,46 @@
+'use strict';
+$(document).ready(function () {
+
+    $('#wizard1').steps({
+        headerTag: 'h3',
+        bodyTag: 'section',
+        autoFocus: true,
+        titleTemplate: '<span class="wizard-index">#index#</span> #title#'
+    });
+
+    $('#wizard2').steps({
+        headerTag: 'h3',
+        bodyTag: 'section',
+        autoFocus: true,
+        titleTemplate: '<span class="wizard-index">#index#</span> #title#',
+        onStepChanging: function (event, currentIndex, newIndex) {
+            if (currentIndex < newIndex) {
+                var form = document.getElementById('form1'),
+                    form2 = document.getElementById('form2');
+
+                if (currentIndex === 0) {
+                    if (form.checkValidity() === false) {
+                        event.preventDefault();
+                        event.stopPropagation();
+                        form.classList.add('was-validated');
+                    } else {
+                        return true;
+                    }
+                } else if (currentIndex === 1) {
+                    if (form2.checkValidity() === false) {
+                        event.preventDefault();
+                        event.stopPropagation();
+                        form2.classList.add('was-validated');
+                    } else {
+                        return true;
+                    }
+                } else {
+                    return true;
+                }
+            } else {
+                return true;
+            }
+        }
+    });
+
+});
Index: resources/assets/js/examples/fullcalendar.js
===================================================================
--- resources/assets/js/examples/fullcalendar.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/fullcalendar.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,120 @@
+'use strict';
+$(document).ready(function () {
+
+    var events = [
+        {
+            title: 'Travel',
+            start: '2019-10-30:00:00',
+            constraint: 'businessHours',
+            className: 'bg-danger',
+            icon: "camera",
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            title: 'Team Assing',
+            start: '2019-10-15:00:00',
+            constraint: 'availableForMeeting',
+            className: 'bg-primary',
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            title: 'Friend',
+            start: '2019-10-10:00:00',
+            end: '2019-10-11:00:00',
+            className: 'bg-info',
+            icon: "user-o",
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            title: 'Holidays',
+            start: '2019-10-10:00:00',
+            end: '2019-10-12:00:00',
+            className: 'bg-success',
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            title: 'Company',
+            start: '2019-10-03:00:00',
+            className: 'bg-warning',
+            icon: "building-o",
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            id: 'availableForMeeting',
+            start: '2019-03-13T10:00:00',
+            end: '2019-03-13T16:00:00',
+            rendering: 'background',
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            start: '2019-03-24',
+            end: '2019-03-29',
+            overlap: false,
+            rendering: 'background',
+            color: '#ff9f89',
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        },
+        {
+            start: '2019-03-06',
+            end: '2019-03-29',
+            overlap: false,
+            rendering: 'background',
+            color: '#ff9f89',
+            description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu pellentesque nibh. In nisl nulla, convallis ac nulla eget, pellentesque pellentesque magna.',
+        }
+    ];
+
+    $('#external-events .fc-event').each(function () {
+
+        // store data so the calendar knows to render an event upon drop
+        $(this).data('event', {
+            title: $.trim($(this).text()), // use the element's text as the event title
+            stick: true, // maintain when user navigates (see docs on the renderEvent method),
+            color: $(this).find('i').css("color"),
+            icon: $(this).find('i').data('icon')
+        });
+
+        // make the event draggable using jQuery UI
+        $(this).draggable({
+            zIndex: 999,
+            revert: true,      // will cause the event to go back to its
+            revertDuration: 0  //  original position after the drag
+        });
+
+    });
+
+    $('#calendar-demo').fullCalendar({
+        header: {
+            left: 'prev,next today',
+            center: 'title',
+            right: 'month,agendaWeek,agendaDay,listMonth'
+        },
+        editable: true,
+        droppable: true,
+        drop: function () {
+            // is the "remove after drop" checkbox checked?
+            if ($('#drop-remove').is(':checked')) {
+                // if so, remove the element from the "Draggable Events" list
+                $(this).remove();
+            }
+        },
+        weekNumbers: true,
+        eventLimit: true, // allow "more" link when too many events
+        events: events,
+        eventRender: function (event, element) {
+            if (event.icon) {
+                element.find(".fc-title").prepend("<i class='mr-1 fa fa-" + event.icon + "'></i>");
+            }
+        },
+        dayClick: function () {
+            $('#createEventModal').modal();
+        },
+        eventClick: function (event, jsEvent, view) {
+            var modal = $('#viewEventModal');
+            modal.find('.event-icon').html("<i class='fa fa-" + event.icon + "'></i>");
+            modal.find('.event-title').html(event.title);
+            modal.find('.event-body').html(event.description);
+            modal.modal();
+        },
+    });
+});
Index: resources/assets/js/examples/input-mask.js
===================================================================
--- resources/assets/js/examples/input-mask.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/input-mask.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,14 @@
+'use strict';
+$(document).ready(function () {
+
+    $('[data-input-mask="phone"]').mask('(000) 000-0000');
+
+    $('[data-input-mask="money"]').mask('#.##0,00', {reverse: true});
+
+    $('[data-input-mask="date"]').mask('0000/00/00');
+
+    $('[data-input-mask="time"]').mask('00:00:00');
+
+    $('[data-input-mask="ip_address"]').mask('099.099.099.099');
+
+});
Index: resources/assets/js/examples/lightbox.js
===================================================================
--- resources/assets/js/examples/lightbox.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/lightbox.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,37 @@
+'use strict';
+$(document).ready(function () {
+
+    $('.image-popup').magnificPopup({
+        type: 'image',
+        zoom: {
+            enabled: true,
+            duration: 300,
+            easing: 'ease-in-out',
+            opener: function(openerElement) {
+                return openerElement.is('img') ? openerElement : openerElement.find('img');
+            }
+        }
+    });
+
+    var magnificPopupGalleryConfig = {
+        type: 'image',
+        gallery: {
+            enabled: true
+        },
+        zoom: {
+            enabled: true,
+            duration: 300,
+            easing: 'ease-in-out',
+            opener: function(openerElement) {
+                return openerElement.is('img') ? openerElement : openerElement.find('img');
+            }
+        }
+    };
+
+    $('.image-popup-gallery-item').magnificPopup(magnificPopupGalleryConfig);
+
+    $('.chat-app-wrapper .chat-app .chat-body .chat-body-messages .message-items .message-item:not(.outgoing-message).message-item-media ul a').magnificPopup(magnificPopupGalleryConfig);
+
+    $('.chat-app-wrapper .chat-app .chat-body .chat-body-messages .message-items .message-item.outgoing-message.message-item-media ul a').magnificPopup(magnificPopupGalleryConfig);
+
+});
Index: resources/assets/js/examples/pages/analytics-dashboard.js
===================================================================
--- resources/assets/js/examples/pages/analytics-dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/analytics-dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,23 @@
+$(function () {
+    var start = moment().subtract(29, 'days');
+    var end = moment();
+
+    function cb(start, end) {
+        $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
+    }
+
+    $('#reportrange').daterangepicker({
+        startDate: start,
+        endDate: end,
+        ranges: {
+            'Today': [moment(), moment()],
+            'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
+            'Last 7 Days': [moment().subtract(6, 'days'), moment()],
+            'Last 30 Days': [moment().subtract(29, 'days'), moment()],
+            'This Month': [moment().startOf('month'), moment().endOf('month')],
+            'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
+        }
+    }, cb);
+
+    cb(start, end);
+});
Index: resources/assets/js/examples/pages/calendar.js
===================================================================
--- resources/assets/js/examples/pages/calendar.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/calendar.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,42 @@
+$(function () {
+    $(document).on('click', '.app-block .app-content .app-action .action-left input[type="checkbox"]', function () {
+        $('.app-lists ul li input[type="checkbox"]').prop('checked', $(this).prop('checked'));
+        if ($(this).prop('checked')) {
+            $('.app-lists ul li input[type="checkbox"]').closest('li').addClass('active');
+        } else {
+            $('.app-lists ul li input[type="checkbox"]').closest('li').removeClass('active');
+        }
+    });
+
+    $(document).on('click', '.app-lists ul li input[type="checkbox"]', function () {
+        if ($(this).prop('checked')) {
+            $(this).closest('li').addClass('active');
+        } else {
+            $(this).closest('li').removeClass('active');
+        }
+    });
+
+    $(document).on('click', '.app-block .app-content .app-content-body .app-lists ul.list-group li.list-group-item', function (e) {
+        if (!$(e.target).is('.custom-control, .custom-control *, a, a *')) {
+            $('.app-detail').addClass('show').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () {
+                $('.app-block .app-content .app-content-body .app-detail .app-detail-article').niceScroll().resize();
+            });
+        }
+    });
+
+    $(document).on('click', 'a.app-detail-close-button', function () {
+        $('.app-detail').removeClass('show');
+        return false;
+    });
+
+    $(document).on('click', '.app-sidebar-menu-button', function () {
+        $('.app-block .app-sidebar, .app-content-overlay').addClass('show');
+        // $('.app-block .app-sidebar .app-sidebar-menu').niceScroll().resize();
+        return false;
+    });
+
+    $(document).on('click', '.app-content-overlay', function () {
+        $('.app-block .app-sidebar, .app-content-overlay').removeClass('show');
+        return false;
+    });
+});
Index: resources/assets/js/examples/pages/customers.js
===================================================================
--- resources/assets/js/examples/pages/customers.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/customers.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,12 @@
+$(function () {
+    $(document).ready(function () {
+        $('#myTable').DataTable({
+            'columnDefs': [
+                {
+                    "orderable": false,
+                    "targets": 5
+                }
+            ]
+        });
+    });
+});
Index: resources/assets/js/examples/pages/ecommerce-dashboard.js
===================================================================
--- resources/assets/js/examples/pages/ecommerce-dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/ecommerce-dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,32 @@
+$(function () {
+    $('#recent-orders').DataTable({
+        lengthMenu: [5, 10],
+        "columnDefs": [{
+            "targets": 6,
+            "orderable": false
+        }]
+    });
+
+    var start = moment().subtract(29, 'days');
+    var end = moment();
+
+    function cb(start, end) {
+        $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
+    }
+
+    $('#reportrange').daterangepicker({
+        startDate: start,
+        endDate: end,
+        opens: 'left',
+        ranges: {
+            'Today': [moment(), moment()],
+            'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
+            'Last 7 Days': [moment().subtract(6, 'days'), moment()],
+            'Last 30 Days': [moment().subtract(29, 'days'), moment()],
+            'This Month': [moment().startOf('month'), moment().endOf('month')],
+            'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
+        }
+    }, cb);
+
+    cb(start, end);
+});
Index: resources/assets/js/examples/pages/gallery.js
===================================================================
--- resources/assets/js/examples/pages/gallery.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/gallery.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,49 @@
+$(function () {
+
+    $(window).on('load', function () {
+        var $container = $('.gallery-container');
+
+        $container.isotope({
+            filter: '*',
+            animationOptions: {
+                duration: 750,
+                easing: 'linear',
+                queue: false
+            }
+        });
+
+        $('.gallery-filter a').click(function () {
+            var $this = $(this);
+
+            $('.gallery-filter .active').removeClass('active');
+            $this.addClass('active');
+
+            var selector = $this.attr('data-filter');
+            $container.isotope({
+                filter: selector,
+                animationOptions: {
+                    duration: 300,
+                    easing: 'linear',
+                    queue: false
+                }
+            });
+            return false;
+        });
+    });
+
+    $('.image-popup-gallery-item').magnificPopup({
+        type: 'image',
+        gallery: {
+            enabled: true
+        },
+        zoom: {
+            enabled: true,
+            duration: 300,
+            easing: 'ease-in-out',
+            opener: function (openerElement) {
+                return openerElement.is('img') ? openerElement : openerElement.find('img');
+            }
+        }
+    });
+
+});
Index: resources/assets/js/examples/pages/orders.js
===================================================================
--- resources/assets/js/examples/pages/orders.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/orders.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,55 @@
+$(function () {
+    var table = $('#orders').DataTable({
+        'columnDefs': [
+            {
+                'targets': 0,
+                'className': 'dt-body-center',
+                'render': function (data, type, full, meta) {
+                    return '<div class="custom-control custom-checkbox">' +
+                        '<input type="checkbox" class="custom-control-input" id="customCheck' + meta.row + '">' +
+                        '<label class="custom-control-label" for="customCheck' + meta.row + '"></label>' +
+                        '</div>';
+                }
+            },
+            {
+                "orderable": false,
+                "targets": [0, 7]
+            }
+        ],
+        'order': [1, 'asc']
+    });
+
+    $('#orders-select-all').on('click', function () {
+        // Check/uncheck all checkboxes in the table
+        var rows = table.rows({'search': 'applied'}).nodes();
+        $('input[type="checkbox"]', rows)
+            .prop('checked', this.checked);
+        if (this.checked) {
+            $('input[type="checkbox"]', rows).closest('tr').addClass('tr-selected');
+        } else {
+            $('input[type="checkbox"]', rows).closest('tr').removeClass('tr-selected');
+        }
+    });
+
+    // Handle click on checkbox to set state of "Select all" control
+    $('#orders tbody').on('change', 'input[type="checkbox"]', function () {
+        // If checkbox is not checked
+        if (!this.checked) {
+            var el = $('#orders-select-all').get(0);
+            // If "Select all" control is checked and has 'indeterminate' property
+            if (el && el.checked && ('indeterminate' in el)) {
+                // Set visual state of "Select all" control
+                // as 'indeterminate'
+                el.indeterminate = true;
+            }
+        }
+    });
+
+    $('.custom-control-input').click(function () {
+        if ($(this).prop('checked')) {
+            $(this).closest('td').closest('tr').addClass('tr-selected');
+        } else {
+            $(this).closest('td').closest('tr').removeClass('tr-selected');
+        }
+    });
+});
Index: resources/assets/js/examples/pages/product-detail.js
===================================================================
--- resources/assets/js/examples/pages/product-detail.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/product-detail.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,17 @@
+$(document).ready(function () {
+    $('.slider-for').slick({
+        slidesToShow: 1,
+        slidesToScroll: 1,
+        arrows: false,
+        fade: true,
+        asNavFor: '.slider-nav'
+    });
+
+    $('.slider-nav').slick({
+        slidesToShow: 4,
+        slidesToScroll: 1,
+        asNavFor: '.slider-for',
+        centerMode: true,
+        focusOnSelect: true
+    });
+});
Index: resources/assets/js/examples/pages/product-grid.js
===================================================================
--- resources/assets/js/examples/pages/product-grid.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/product-grid.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,20 @@
+$(function () {
+    // Add to cart example
+    $(document).on('click', '.add-to-card', function () {
+        $(this)
+            .removeClass('btn-primary')
+            .addClass('btn-success')
+            .text('View Cart');
+    });
+
+    // Range slider example
+    $("#rangeSlider-example").ionRangeSlider({
+        type: "double",
+        min: 10,
+        max: 5000,
+        from: 2000,
+        to: 4000,
+        skin: "round",
+        prefix: '$'
+    });
+});
Index: resources/assets/js/examples/pages/product-list.js
===================================================================
--- resources/assets/js/examples/pages/product-list.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/product-list.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,20 @@
+$(function () {
+    // Add to cart example
+    $(document).on('click', '.add-to-card', function () {
+        $(this)
+            .removeClass('btn-primary')
+            .addClass('btn-success')
+            .text('View Cart');
+    });
+
+    // Range slider example
+    $("#rangeSlider-example").ionRangeSlider({
+        type: "double",
+        min: 10,
+        max: 5000,
+        from: 2000,
+        to: 4000,
+        skin: "round",
+        prefix: '$'
+    });
+})
Index: resources/assets/js/examples/pages/project-grid.js
===================================================================
--- resources/assets/js/examples/pages/project-grid.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/project-grid.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,9 @@
+$(function () {
+    $('.single-datepicker').daterangepicker({
+        opens: 'left'
+    });
+
+    $('.select2').select2({
+        placeholder: 'Select'
+    });
+});
Index: resources/assets/js/examples/pages/project-list.js
===================================================================
--- resources/assets/js/examples/pages/project-list.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/project-list.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,55 @@
+$(document).ready(function () {
+    var table = $('#project-list').DataTable({
+        'columnDefs': [
+            {
+                'targets': 0,
+                'className': 'dt-body-center',
+                'render': function (data, type, full, meta) {
+                    return '<div class="custom-control custom-checkbox">' +
+                        '<input type="checkbox" class="custom-control-input" id="customCheck' + meta.row + '">' +
+                        '<label class="custom-control-label" for="customCheck' + meta.row + '"></label>' +
+                        '</div>';
+                }
+            },
+            {
+                "orderable": false,
+                "targets": [0, 7]
+            }
+        ],
+        'order': [1, 'asc']
+    });
+
+    $(document).on('click', '#projects-select-all', function () {
+        // Check/uncheck all checkboxes in the table
+        var rows = table.rows({'search': 'applied'}).nodes();
+        $('input[type="checkbox"]', rows)
+            .prop('checked', this.checked);
+        if (this.checked) {
+            $('input[type="checkbox"]', rows).closest('tr').addClass('tr-selected');
+        } else {
+            $('input[type="checkbox"]', rows).closest('tr').removeClass('tr-selected');
+        }
+    });
+
+    // Handle click on checkbox to set state of "Select all" control
+    $('#projects tbody').on('change', 'input[type="checkbox"]', function () {
+        // If checkbox is not checked
+        if (!this.checked) {
+            var el = $('#projects-select-all').get(0);
+            // If "Select all" control is checked and has 'indeterminate' property
+            if (el && el.checked && ('indeterminate' in el)) {
+                // Set visual state of "Select all" control
+                // as 'indeterminate'
+                el.indeterminate = true;
+            }
+        }
+    });
+
+    $(document).on('click', '.custom-control-input', function () {
+        if ($(this).prop('checked')) {
+            $(this).closest('td').closest('tr').addClass('tr-selected');
+        } else {
+            $(this).closest('td').closest('tr').removeClass('tr-selected');
+        }
+    });
+});
Index: resources/assets/js/examples/pages/projects-dashboard.js
===================================================================
--- resources/assets/js/examples/pages/projects-dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/projects-dashboard.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,10 @@
+$(function () {
+    $('.slick-js').slick({
+        speed: 500,
+        arrows: false,
+        slidesToShow: 1,
+        slidesToScroll: 1,
+        autoplay: true,
+        autoplaySpeed: 2000
+    });
+});
Index: resources/assets/js/examples/pages/user-list.js
===================================================================
--- resources/assets/js/examples/pages/user-list.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/pages/user-list.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,55 @@
+$(document).ready(function () {
+    var table = $('#user-list').DataTable({
+        'columnDefs': [
+            {
+                'targets': 0,
+                'className': 'dt-body-center',
+                'render': function (data, type, full, meta) {
+                    return '<div class="custom-control custom-checkbox">' +
+                        '<input type="checkbox" class="custom-control-input" id="customCheck' + meta.row + '">' +
+                        '<label class="custom-control-label" for="customCheck' + meta.row + '"></label>' +
+                        '</div>';
+                }
+            },
+            {
+                "orderable": false,
+                "targets": [0, 8]
+            }
+        ],
+        'order': [1, 'asc']
+    });
+
+    $(document).on('click', '#user-list-select-all', function () {
+        // Check/uncheck all checkboxes in the table
+        var rows = table.rows({'search': 'applied'}).nodes();
+        $('input[type="checkbox"]', rows)
+            .prop('checked', this.checked);
+        if (this.checked) {
+            $('input[type="checkbox"]', rows).closest('tr').addClass('tr-selected');
+        } else {
+            $('input[type="checkbox"]', rows).closest('tr').removeClass('tr-selected');
+        }
+    });
+
+    // Handle click on checkbox to set state of "Select all" control
+    $('#user-list tbody').on('change', 'input[type="checkbox"]', function () {
+        // If checkbox is not checked
+        if (!this.checked) {
+            var el = $('#user-list-select-all').get(0);
+            // If "Select all" control is checked and has 'indeterminate' property
+            if (el && el.checked && ('indeterminate' in el)) {
+                // Set visual state of "Select all" control
+                // as 'indeterminate'
+                el.indeterminate = true;
+            }
+        }
+    });
+
+    $(document).on('click', '.custom-control-input', function () {
+        if ($(this).prop('checked')) {
+            $(this).closest('td').closest('tr').addClass('tr-selected');
+        } else {
+            $(this).closest('td').closest('tr').removeClass('tr-selected');
+        }
+    });
+});
Index: resources/assets/js/examples/range-slider.js
===================================================================
--- resources/assets/js/examples/range-slider.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/range-slider.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,66 @@
+'use strict';
+$(document).ready(function () {
+
+    $("#demo_1").ionRangeSlider({
+        min: 100,
+        max: 1000,
+        from: 550,
+        skin: "round"
+    });
+
+    $("#demo_2").ionRangeSlider({
+        type: "double",
+        grid: true,
+        min: 0,
+        max: 1000,
+        from: 200,
+        to: 800,
+        prefix: "$",
+        skin: "round"
+    });
+
+    $("#demo_3").ionRangeSlider({
+        type: "double",
+        grid: true,
+        min: -1000,
+        max: 1000,
+        from: -500,
+        to: 500,
+        step: 250,
+        skin: "round"
+    });
+
+    $("#demo_4").ionRangeSlider({
+        type: "double",
+        grid: true,
+        min: -12.8,
+        max: 12.8,
+        from: -3.2,
+        to: 3.2,
+        step: 0.1,
+        skin: "round"
+    });
+
+    $("#demo_5").ionRangeSlider({
+        grid: true,
+        from: new Date().getMonth(),
+        values: [
+            "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
+        ],
+        skin: "round"
+    });
+
+    $("#demo_6").ionRangeSlider({
+        min: 0,
+        max: 10000,
+        from: 777,
+        step: 1,            // default 1 (set step)
+        grid: true,         // default false (enable grid)
+        grid_num: 4,        // default 4 (set number of grid cells)
+        grid_snap: false,    // default false (snap grid to step)
+        skin: "round"
+    });
+
+
+});
Index: resources/assets/js/examples/select2.js
===================================================================
--- resources/assets/js/examples/select2.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/select2.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,8 @@
+'use strict';
+$(document).ready(function () {
+
+    $('.js-example-basic-single').select2({
+        placeholder: 'Select'
+    });
+
+});
Index: resources/assets/js/examples/slick.js
===================================================================
--- resources/assets/js/examples/slick.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/slick.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,70 @@
+'use strict';
+$(document).ready(function () {
+
+    $('.slick-single').slick();
+
+    $('.slick-multiple').slick({
+        infinite: true,
+        slidesToShow: 4,
+        slidesToScroll: 4
+    });
+
+    $('.slick-autoplay').slick({
+        slidesToShow: 3,
+        slidesToScroll: 1,
+        autoplay: true,
+        autoplaySpeed: 2000,
+    });
+
+    $('.slick-center-mode').slick({
+        centerMode: true,
+        centerPadding: '60px',
+        slidesToShow: 3,
+        responsive: [
+            {
+                breakpoint: 768,
+                settings: {
+                    arrows: false,
+                    centerMode: true,
+                    centerPadding: '40px',
+                    slidesToShow: 3
+                }
+            },
+            {
+                breakpoint: 480,
+                settings: {
+                    arrows: false,
+                    centerMode: true,
+                    centerPadding: '40px',
+                    slidesToShow: 1
+                }
+            }
+        ]
+    });
+
+    $('.slick-fade-effect').slick({
+        dots: true,
+        infinite: true,
+        speed: 500,
+        fade: true,
+        cssEase: 'linear'
+    });
+
+    $('.slider-for').slick({
+        slidesToShow: 1,
+        slidesToScroll: 1,
+        arrows: false,
+        fade: true,
+        asNavFor: '.slider-nav'
+    });
+
+    $('.slider-nav').slick({
+        slidesToShow: 4,
+        slidesToScroll: 1,
+        asNavFor: '.slider-for',
+        centerMode: true,
+        focusOnSelect: true
+    });
+
+
+});
Index: resources/assets/js/examples/sweet-alert.js
===================================================================
--- resources/assets/js/examples/sweet-alert.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/sweet-alert.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,85 @@
+'use strict';
+$(document).ready(function () {
+    $('.sweet-basic').on('click', function () {
+        swal('Hello world!');
+    });
+    $('.sweet-success').on('click', function () {
+        swal("Good job!", "You clicked the button!", "success");
+    });
+    $('.sweet-warning').on('click', function () {
+        swal("Good job!", "You clicked the button!", "warning");
+    });
+    $('.sweet-error').on('click', function () {
+        swal("Good job!", "You clicked the button!", "error");
+    });
+    $('.sweet-info').on('click', function () {
+        swal("Good job!", "You clicked the button!", "info");
+    });
+
+    $('.sweet-multiple').on('click', function () {
+        swal({
+            title: "Are you sure?",
+            text: "Once deleted, you will not be able to recover this imaginary file!",
+            icon: "warning",
+            buttons: true,
+            dangerMode: true,
+        })
+            .then((willDelete) => {
+                if (willDelete) {
+                    swal("Poof! Your imaginary file has been deleted!", {
+                        icon: "success",
+                    });
+                } else {
+                    swal("Your imaginary file is safe!", {
+                        icon: "error",
+                    });
+                }
+            });
+    });
+    $('.sweet-prompt').on('click', function () {
+        swal("Write something here:", {
+            content: "input",
+        })
+            .then((value) => {
+                swal(`You typed: ${value}`);
+            });
+    });
+    $('.sweet-ajax').on('click', function () {
+        swal({
+            text: 'Search for a movie. e.g. "La La Land".',
+            content: "input",
+            button: {
+                text: "Search!",
+                closeModal: false,
+            },
+        })
+            .then(name => {
+                if (!name) throw null;
+                return fetch(`https://itunes.apple.com/search?term=${name}&entity=movie`);
+            })
+            .then(results => {
+                return results.json();
+            })
+            .then(json => {
+                const movie = json.results[0];
+                if (!movie) {
+                    return swal("No movie was found!");
+                }
+                const name = movie.trackName;
+                const imageURL = movie.artworkUrl100;
+                swal({
+                    title: "Top result:",
+                    text: name,
+                    icon: imageURL,
+                });
+            })
+            .catch(err => {
+                if (err) {
+                    swal("Oh noes!", "The AJAX request failed!", "error");
+                } else {
+                    swal.stopLoading();
+                    swal.close();
+                }
+            });
+    });
+});
Index: resources/assets/js/examples/tagsinput.js
===================================================================
--- resources/assets/js/examples/tagsinput.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/tagsinput.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,6 @@
+'use strict';
+$(document).ready(function () {
+
+    $("input.tagsinput").tagsinput('items');
+
+});
Index: resources/assets/js/examples/toast.js
===================================================================
--- resources/assets/js/examples/toast.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/toast.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,35 @@
+'use strict';
+$(document).ready(function () {
+
+    var doc = $(document);
+
+    toastr.options = {
+        timeOut: 3000,
+        progressBar: true,
+        showMethod: "slideDown",
+        hideMethod: "slideUp",
+        showDuration: 200,
+        hideDuration: 200
+    };
+
+    doc.on('click', '.toastr-examples a.btn-success', function () {
+        toastr.success('Successfully completed');
+        return false;
+    });
+
+    doc.on('click', '.toastr-examples a.btn-danger', function () {
+        toastr.error('Something went wrong');
+        return false;
+    });
+
+    doc.on('click', '.toastr-examples a.btn-info', function () {
+        toastr.info('This is an informational message');
+        return false;
+    });
+
+    doc.on('click', '.toastr-examples a.btn-warning', function () {
+        toastr.warning('You are currently not authorized');
+        return false;
+    });
+
+});
Index: resources/assets/js/examples/tour.js
===================================================================
--- resources/assets/js/examples/tour.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/tour.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,18 @@
+'use strict';
+$(document).ready(function () {
+
+    $(document).on('click', 'a.tour', function () {
+        var enjoyhint_instance = new EnjoyHint({});
+
+        enjoyhint_instance.set([
+            {
+                'next .header': 'Quick toolbar.',
+            },
+            {
+                'next .navigation': 'Navigation to navigate the page.',
+            }
+        ]);
+        enjoyhint_instance.run();
+    });
+
+});
Index: resources/assets/js/examples/treeview.js
===================================================================
--- resources/assets/js/examples/treeview.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/treeview.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,49 @@
+'use strict';
+$(document).ready(function () {
+
+    $('#jstree_demo1').jstree({'core' : {
+            'data' : [
+                {
+                    "text" : "Same but with checkboxes",
+                    "children" : [
+                        { "text" : "initially selected", "state" : { "selected" : true } },
+                        { "text" : "custom icon URL", "icon" : "//jstree.com/tree-icon.png" },
+                        { "text" : "initially open", "state" : { "opened" : true }, "children" : [ "Another node" ] },
+                        { "text" : "custom icon class", "icon" : "glyphicon glyphicon-leaf" }
+                    ]
+                },
+                "And wholerow selection"
+            ]
+        }});
+
+    $('#jstree_demo2').jstree({'plugins':["wholerow"], 'core' : {
+            'data' : [
+                {
+                    "text" : "Same but with checkboxes",
+                    "children" : [
+                        { "text" : "initially selected", "state" : { "selected" : true } },
+                        { "text" : "custom icon URL", "icon" : "//jstree.com/tree-icon.png" },
+                        { "text" : "initially open", "state" : { "opened" : true }, "children" : [ "Another node" ] },
+                        { "text" : "custom icon class", "icon" : "glyphicon glyphicon-leaf" }
+                    ]
+                },
+                "And wholerow selection"
+            ]
+        }});
+
+    $('#jstree_demo3').jstree({'plugins':["wholerow", "checkbox"], 'core' : {
+            'data' : [
+                {
+                    "text" : "Same but with checkboxes",
+                    "children" : [
+                        { "text" : "initially selected", "state" : { "selected" : true } },
+                        { "text" : "custom icon URL", "icon" : "//jstree.com/tree-icon.png" },
+                        { "text" : "initially open", "state" : { "opened" : true }, "children" : [ "Another node" ] },
+                        { "text" : "custom icon class", "icon" : "glyphicon glyphicon-leaf" }
+                    ]
+                },
+                "And wholerow selection"
+            ]
+        }});
+
+});
Index: resources/assets/js/examples/vmap.js
===================================================================
--- resources/assets/js/examples/vmap.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
+++ resources/assets/js/examples/vmap.js	(revision 7304c7f4e9d471fa8974c193daec4fdd86dabe58)
@@ -0,0 +1,35 @@
+'use strict';
+$(document).ready(function () {
+
+    function vmap_init(item) {
+        if ($('#vmap_' + item).length > 0) {
+            $('#vmap_' + item).vectorMap({
+                map: item,
+                backgroundColor: '#fff',
+                color: '#ffffff',
+                hoverOpacity: 0.7,
+                borderColor: '#fff',
+                selectedColor: '#666666',
+                enableZoom: false,
+                showTooltip: true,
+                scaleColors: ['#C8EEFF', '#006491'],
+                normalizeFunction: 'polynomial',
+                onRegionClick: function (element, code, region) {
+                    var message = 'You clicked "'
+                        + region
+                        + '" which has the code: '
+                        + code.toUpperCase();
+
+                    alert(message);
+                }
+            });
+        }
+    }
+
+    vmap_init('world_en');
+
+    vmap_init('canada_en');
+
+    vmap_init('usa_en');
+
+});
