If you want to make a custom theme for ionic, and are using scss, this is a base to get you started
//Custom Theme test
// Colors
// -------------------------------
$custom: #057b6c !default;
// Buttons
// -------------------------------
$button-custom-bg: $custom !default;
$button-custom-text: #fff !default;
$button-custom-border: $custom !default;
$button-custom-active-bg: #fafafa !default;
$button-custom-active-border: #ccc !default;
// Bars
// -------------------------------
$bar-custom-bg: rgba($button-custom-bg, $bar-transparency) !default;
$bar-custom-text: $button-custom-text !default;
$bar-custom-border: $button-custom-border !default;
$bar-custom-active-bg: $button-custom-active-bg !default;
$bar-custom-active-border: $button-custom-active-border !default;
// Tabs
// -------------------------------
$tabs-custom-bg: $button-custom-bg !default;
$tabs-custom-border: $button-custom-border !default;
$tabs-custom-text: $button-custom-text !default;
$tabs-striped-off-color: #000;
$tabs-striped-off-opacity: .4;
$tabs-striped-border-width: 4px;
// Items
// -------------------------------
$item-custom-bg: $button-custom-bg !default;
$item-custom-border: $button-custom-border !default;
$item-custom-text: $button-custom-text !default;
$item-custom-active-bg: $button-custom-active-bg !default;
$item-custom-active-border: $button-custom-active-border !default;
// Toggle
// -------------------------------
$toggle-on-custom-bg: $button-custom-border !default;
$toggle-on-custom-border: $toggle-on-custom-bg !default;
$toggle-on-stable-bg: $button-stable-border !default;
// Checkbox
// -------------------------------
$checkbox-off-border-custom: $button-custom-border !default;
$checkbox-on-bg-custom: $button-custom-border !default;
// Range
// -------------------------------
$range-custom-track-bg: $button-custom-border !default;
// Badges
// -------------------------------
$badge-custom-bg: $button-custom-bg !default;
$badge-custom-text: $button-custom-text !default;
//Util
// Allow parent element of tabs to define color, or just the tab itself */
.tabs-custom > .tabs,
.tabs.tabs-custom {
  @include tab-style($tabs-custom-bg, $tabs-custom-border, $tabs-custom-text);
  @include tab-badge-style($tabs-custom-text, $tabs-custom-bg);
}
@mixin tabs-striped($style, $color) {
  &.#{$style} {
    .tab-item.tab-item-active,
    .tab-item.active,
    .tab-item.activated {
      margin-top: -4px;
      color: $color;
      border-style: solid;
      border-width: $tabs-striped-border-width 0 0 0;
      border-color: $color;
    }
  }
}
.tabs-striped {
  .tabs {
    background-color: #fff;
    background-image: none;
    border: 0;
  }
  @include tabs-striped('tabs-custom', $custom);
  .tab-item {
    color: $tabs-striped-off-color;
    opacity: $tabs-striped-off-opacity;
  }
}
// Navigational tab */
// Active state for tab
.tab-item.tab-item-active,
.tab-item.active,
.tab-item.activated {
  opacity: 1;
  &.tab-item-custom {
    color: $custom;
  }
}
.custom,
a.custom {
  color: $custom;
}
.custom-bg {
  background-color: $custom;
}
.custom-border {
  border-color: $button-custom-border;
}
.tabs .tab-item .badge,
.badge {
  &.badge-custom {
    @include badge-style($badge-custom-bg, $badge-custom-text);
  }
}
.bar {
  &.bar-custom {
    @include bar-style($bar-custom-bg, $bar-custom-border, $bar-custom-text);
  }
}
.bar-custom {
  .button {
    @include button-style($bar-custom-bg, $bar-custom-border, $bar-custom-active-bg, $bar-custom-active-border, $bar-custom-text);
    @include button-clear($bar-custom-text, $bar-title-font-size);
  }
}
.button {
  &.button-custom {
    @include button-style($button-custom-bg, $button-custom-border, $button-custom-active-bg, $button-custom-active-border, $button-custom-text);
    @include button-clear($button-custom-border);
    @include button-outline($button-custom-border);
  }
}
//This will be here
&.button-outline {
  @include button-outline($button-custom-border);
  @include transition(opacity .1s);
  background: none;
  box-shadow: none;
}
.button-clear {
  @include button-clear($button-custom-border);
  @include transition(opacity .1s);
  padding: 0 $button-clear-padding;
  max-height: $button-height;
  border-color: transparent;
  background: none;
  box-shadow: none;
  &.active,
  &.activated {
    opacity: 0.3;
  }
}
.item {
  &.item-custom {
    @include item-style($item-custom-bg, $item-custom-border, $item-custom-text);
  }
}
.item.active,
.item.activated,
.item-complex.active .item-content,
.item-complex.activated .item-content,
.item .item-content.active,
.item .item-content.activated {
  &.item-custom {
    @include item-active-style($item-custom-active-bg, $item-custom-active-border);
  }
}
.item-complex {
  &.item-custom > .item-content {
    @include item-style($item-custom-bg, $item-custom-border, $item-custom-text);
    &.active,
    &:active {
      @include item-active-style($item-custom-active-bg, $item-custom-active-border);
    }
  }
}
.checkbox {
  &.checkbox-custom {
    @include checkbox-style($checkbox-off-border-custom, $checkbox-on-bg-custom);
  }
}
.toggle {
  &.toggle-custom {
    @include toggle-style($toggle-on-custom-border, $toggle-on-custom-bg);
  }
}
.range {
  &.range-custom {
    input {
      @include range-style($range-custom-track-bg);
    }
  }
}