@import "absolutelayout";
@import "accordion";
@import "button";
@import "calendar";
@import "checkbox";
@import "colorpicker";
@import "combobox";
@import "csslayout";
@import "customcomponent";
@import "customlayout";
@import "datefield";
@import "dragwrapper";
@import "form";
@import "formlayout";
@import "grid";
@import "gridlayout";
@import "label";
@import "link";
@import "loginform";
@import "menubar";
@import "nativebutton";
@import "nativeselect";
@import "notification";
@import "optiongroup";
@import "orderedlayout";
@import "panel";
@import "popupview";
@import "progressbar";
@import "richtextarea";
@import "slider";
@import "splitpanel";
@import "table";
@import "tabsheet";
@import "textfield";
@import "textarea";
@import "tree";
@import "treegrid";
@import "tree8";
@import "treetable";
@import "twincolselect";
@import "upload";
@import "widget";
@import "window";
@import "valo-menu";


/**
 * Outputs all the selectors and properties for all individual components to produce 
 * the variation specified by global variables.
 * 
 * This mixin can be called multiple times for a theme, if you for instance wish to 
 * generate alternative color versions of the components.
 * 
 * @example scss
 * .my-theme {
 *   // The default color variation
 *   @include valo;
 *   
 *   .sidebar {
 *     // For the sidebar context, we generate a darker variant of all components
 *      $v-background-color: #696969;
 *      background-color: $v-background-color;
 *      @include valo-components;
 *   }
 * }
 */
@mixin valo-components {

  @if v-is-included(absolutelayout) {
    @include valo-absolutelayout;
  }

  @if v-is-included(orderedlayout) or v-is-included(verticallayout) or v-is-included(horizontallayout) {
    @include valo-orderedlayout;
  }

  @if v-is-included(button) {
    @include valo-button;
  }

  @if v-is-included(checkbox) or v-is-included(optiongroup) {
    @include valo-checkbox;
  }

  @if v-is-included(combobox) {
    @include valo-combobox;
  }

  @if v-is-included(csslayout) {
    @include valo-csslayout;
  }

  @if v-is-included(customcomponent) {
    @include valo-customcomponent;
  }

  @if v-is-included(customlayout) {
    @include valo-customlayout;
  }

  @if v-is-included(form) {
    @include valo-form;
  }

  @if v-is-included(formlayout) {
    @include valo-formlayout;
  }

  @if v-is-included(grid) {
    @include valo-grid;
  }

  @if v-is-included(textfield) {
    @include valo-textfield;
  }

  @if v-is-included(textarea) {
    @include valo-textarea;
  }

  @if v-is-included(datefield) {
    @include valo-datefield;
    @include valo-inline-datefield;
  }

  @if v-is-included(gridlayout) {
    @include valo-gridlayout;
  }

  @if v-is-included(menubar) {
    @include valo-menubar;
  }

  @if v-is-included(optiongroup) {
    @include valo-optiongroup;
  }

  @if v-is-included(link) {
    @include valo-link;
  }

  @if v-is-included(window) {
    @include valo-window;
  }

  @if v-is-included(tree) {
    @include valo-tree;
  }

  @if v-is-included(tree8) {
    @include valo-tree8;
  }

  @if v-is-included(treegrid) {
    @include valo-treegrid;
  }

  @if v-is-included(table) or v-is-included(treetable) {
    @include valo-table;
  }

  @if v-is-included(treetable) {
    @include valo-treetable;
  }

  @if v-is-included(splitpanel) {
    @include valo-splitpanel;
  }

  @if v-is-included(progressbar) {
    @include valo-progressbar;
  }

  @if v-is-included(progressindicator) {
    @include valo-progressbar($primary-stylename: v-progressindicator);
  }

  @if v-is-included(slider) {
    @include valo-slider;
  }

  @if v-is-included(tabsheet) {
    @include valo-tabsheet;
  }

  @if v-is-included(colorpicker) {
    @include valo-colorpicker;
  }

  @if v-is-included(panel) {
    @include valo-panel;
  }

  @if v-is-included(accordion) {
    @include valo-accordion;
  }

  @if v-is-included(twincolselect) {
    @include valo-twincolselect;
  }

  @if v-is-included(nativeselect) {
    @include valo-nativeselect;
  }

  @if v-is-included(calendar) {
    @include valo-calendar;
  }

  @if v-is-included(label) {
    @include valo-label;
  }

  @if v-is-included(dragwrapper) {
    @include valo-dragwrapper;
  }

  @if v-is-included(loginform) {
    @include valo-loginform;
  }

  @if v-is-included(nativebutton) {
    @include valo-nativebutton;
  }

  @if v-is-included(nativeselect) {
    @include valo-nativeselect;
  }

  @if v-is-included(popupview) {
    @include valo-popupview;
  }

  @if v-is-included(richtextarea) {
    @include valo-richtextarea;
  }

  @if v-is-included(upload) {
    @include valo-upload;
  }

  @if v-is-included(notification) {
    @include valo-notification;
  }

  @if v-is-included(valo-menu) {
    @include valo-menu;
  }

}
