$indexbar-width: dynamic(15px);
$indexbar-width-big: dynamic(null);
$indexbar-color: dynamic($base-dark-color);
$indexbar-pressed-color: dynamic(null);
$indexbar-background-color: dynamic(null);
$indexbar-pressed-background-color: dynamic($neutral-color);
$indexbar-border-radius: dynamic($indexbar-width);
$indexbar-border-radius-big: dynamic(null);
$indexbar-opacity: dynamic(null);
$indexbar-pressed-opacity: dynamic(null);
$indexbar-font-weight: dynamic($font-weight-bold);
$indexbar-font-size: dynamic(10px);
$indexbar-font-size-big: dynamic(12px);
$indexbar-font-family: dynamic($font-family);
$indexbar-padding: dynamic(5px 0);
$indexbar-padding-big: dynamic(7px 0);
$indexbar-margin: dynamic(0 8px 0 0);
$indexbar-margin-big: dynamic(null);
$indexbar-horizontal-width: dynamic(312px);
$indexbar-horizontal-width-big: dynamic($indexbar-horizontal-width);
$indexbar-horizontal-padding: dynamic(rotate90($indexbar-padding));
$indexbar-horizontal-padding-big: dynamic(rotate90($indexbar-padding-big));
$indexbar-horizontal-margin: dynamic(rotate90($indexbar-margin));
$indexbar-horizontal-margin-big: dynamic(rotate90($indexbar-margin-big));
$indexbar-justify-items: dynamic(center);
$indexbar-indicator-width: dynamic(32px);
$indexbar-indicator-width-big: dynamic(32px);
$indexbar-indicator-height: dynamic($indexbar-indicator-width);
$indexbar-indicator-height-big: dynamic($indexbar-indicator-width-big);
$indexbar-indicator-margin: dynamic(null);
$indexbar-indicator-spacing: dynamic(4px);
$indexbar-indicator-background-color: dynamic($indexbar-pressed-background-color);
$indexbar-indicator-border-radius: dynamic(3px);
$indexbar-indicator-color: dynamic(null);
$indexbar-indicator-font-size: dynamic(12px);
$indexbar-indicator-font-size-big: dynamic(14px);
$indexbar-indicator-line-height: dynamic(null);
$indexbar-indicator-line-height-big: dynamic(null);
$indexbar-indicator-font-weight: dynamic(bold);
$indexbar-indicator-font-weight-big: dynamic(null);
$indexbar-indicator-enable-arrow: dynamic(true);
@mixin indexbar-ui(
$ui: null,
$width: null,
$width-big: null,
$color: null,
$pressed-color: null,
$background-color: null,
$pressed-background-color: null,
$border-radius: null,
$border-radius-big: null,
$opacity: null,
$pressed-opacity: null,
$font-weight: null,
$font-size: null,
$font-size-big: null,
$font-family: null,
$padding: null,
$padding-big: null,
$margin: null,
$margin-big: null,
$horizontal-width: null,
$horizontal-width-big: null,
$horizontal-padding: null,
$horizontal-padding-big: null,
$horizontal-margin: null,
$horizontal-margin-big: null,
$justify-items: null,
$indicator-width: null,
$indicator-width-big: null,
$indicator-height: null,
$indicator-height-big: null,
$indicator-margin: null,
$indicator-spacing: null,
$indicator-background-color: null,
$indicator-border-radius: null,
$indicator-color: null,
$indicator-font-size: null,
$indicator-font-size-big: null,
$indicator-line-height: null,
$indicator-line-height-big: null,
$indicator-font-weight: null,
$indicator-font-weight-big: null,
$indicator-enable-arrow: null
) {
$ui-suffix: ui-suffix($ui);
.#{$prefix}indexbar#{$ui-suffix} .#{$prefix}body-el {
color: $color;
justify-content: $justify-items;
border-radius: $border-radius;
opacity: $opacity;
@if $justify-items == space-between or $justify-items == space-around {
background-color: $background-color;
&.#{$prefix}pressed {
background-color: $pressed-background-color;
}
} @else {
.#{$prefix}indexbar-item {
background-color: $background-color;
}
&.#{$prefix}pressed .#{$prefix}indexbar-item{
background-color: $pressed-background-color;
}
}
@if $enable-big {
.#{$prefix}big & {
border-radius: $border-radius-big;
font-size: $font-size-big;
}
}
&.#{$prefix}pressed {
opacity: $pressed-opacity;
}
&.#{$prefix}vertical {
width: $width;
padding: $padding;
margin: top($margin) right($margin) bottom($margin) $indicator-spacing;
@if $enable-big {
.#{$prefix}big & {
width: $width-big;
padding: $padding-big;
margin: $margin-big;
}
}
}
.#{$prefix}indexbar-item {
@include font($font-weight: $font-weight, $font-size: $font-size, $font-family: $font-family);
}
&.#{$prefix}horizontal {
width: $horizontal-width;
padding: $horizontal-padding;
margin: $indicator-spacing right($margin) bottom($margin) left($margin);
@if $enable-big {
.#{$prefix}big & {
width: $horizontal-width-big;
padding: $horizontal-padding-big;
margin: $horizontal-margin-big;
}
}
}
}
.#{$prefix}list.#{$prefix}indexed-vertical.#{$prefix}indexed-no-autohide.#{$prefix}indexed#{$ui-suffix} {
$item-spacing: calc-sum($width, horizontal($margin));
$item-spacing-big: calc-sum($width-big, horizontal($margin-big));
.#{$prefix}itemheader-body-el > :last-child,
.#{$prefix}listitem-inner-el > :last-child,
.#{$prefix}listswiperitem-body-el {
margin-right: $item-spacing;
@if $enable-big {
.#{$prefix}big & {
margin-right: $item-spacing-big;
}
}
}
.#{$prefix}listitem-tool-dock {
> .#{$prefix}listitem-inner-el > :last-child {
@if $item-spacing != null {
margin-right: 0;
}
@if $enable-big and ($item-spacing-big != null) {
.#{$prefix}big & {
margin-right: 0;
}
}
}
> :last-child {
margin-right: $item-spacing;
@if $enable-big {
.#{$prefix}big & {
margin-right: $item-spacing-big;
}
}
}
}
},
.#{$prefix}indexbar-indicator {
width: $indicator-width;
height: $indicator-height;
margin: $indicator-margin;
color: $indicator-color;
font-size: $indicator-font-size;
line-height: $indicator-line-height;
font-weight: $indicator-font-weight;
background-color: $indicator-background-color;
border-radius: $indicator-border-radius;
.#{$prefix}big & {
width: $indicator-width-big;
height: $indicator-height-big;
font-size: $indicator-font-size-big;
line-height: $indicator-line-height-big;
font-weight: $indicator-font-weight-big;
}
}
@if $indicator-enable-arrow {
$indicator-arrow-size: floor($indexbar-indicator-width * .4);
.#{$prefix}indexbar-indicator::before {
content: "";
width: $indicator-arrow-size;
height: $indicator-arrow-size;
transform: rotate(45deg);
position: absolute;
background-color: $indicator-background-color;
}
.#{$prefix}horizontal > .#{$prefix}indexbar-indicator::before {
bottom: floor($indicator-arrow-size * -.25);
}
.#{$prefix}vertical > .#{$prefix}indexbar-indicator::before {
right: floor($indicator-arrow-size * -.25);
}
}
}