// Variables //------------------------------------------------------ $selecter-primary: $aqua-dark !default; $selecter-border-color: $mediumgray-dark !default; $selecter-background-color: $white !default; $selecter-disabled-color: $mediumgray-dark !default; $selecter-disabled-background-color: $lightgray-dark !default; $selecter-radius-value: 4px !default; $selecter-arrow-width: 20px !default; $selecter-group-color: $mediumgray-dark !default; $selecter-group-background-color: $lightgray-light !default; $selecter-item-border-color: $lightgray-dark !default; $selecter-item-hover: $lightgray-dark !default; $selecter-item-selected: $aqua-dark !default; $selecter-item-selected-border-color: $aqua-light !default; // Exports //------------------------------------------------------ @include exports("selecter") { .selecter { display: block; position: relative; max-width: 100%; z-index: 1; outline: none; & .selecter-element { display: none; *left: -999999px; height: 100%; left: 0; position: absolute; @include opacity($opacity: 0, $filter: true); width: 100%; z-index: 0; } & .selecter-element, & .selecter-element:focus { outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-tap-highlight-color: transparent; } & .selecter-selected { background-color: $selecter-background-color; border: 1px solid $selecter-border-color; @include radius($value: $selecter-radius-value); cursor: pointer; display: block; overflow: hidden; padding: 6px 10px; position: relative; text-overflow: clip; z-index: 2; &:after { position: absolute; top: 14px; right: 10px; content: ""; width: 0; height: 0; border-top: 4px solid $black; border-left: 4px solid transparent; border-right: 4px solid transparent; } } & .selecter-options { border: 1px solid $selecter-border-color; border-width: 0 1px 1px; @include radius($value: 0 0 $selecter-radius-value $selecter-radius-value); @include box-shadow($value: 0 6px 12px rgba(0,0,0,.175)); background-color: $selecter-background-color; display: none; left: 0; max-height: 260px; overflow: auto; overflow-x: hidden; position: absolute; top: 100%; width: 100%; *width: auto; z-index: 50; } & .selecter-group { border-bottom: 1px solid $selecter-item-border-color; color: $selecter-group-color; background-color: $selecter-group-background-color; display: block; font-size: 11px; padding: 5px 10px 4px; text-transform: uppercase; } & .selecter-item { background-color: $selecter-background-color; border-bottom: 1px solid $selecter-item-border-color; cursor: pointer; display: block; margin: 0; overflow: hidden; padding: 6px 10px; text-overflow: ellipsis; width: 100%; &.selected { color: $white; border-bottom-color: $selecter-item-selected-border-color; background-color: $selecter-item-selected; } &.disabled { color: $selecter-disabled-color; cursor: default; } &:first-child { @include radius($value: 0); } &:last-child { @include radius($value: 0 0 $selecter-radius-value $selecter-radius-value); border-bottom: 0; } } & .selecter-item:hover { background-color: $selecter-item-hover; } & .selecter-item.selected:hover { background-color: $selecter-item-selected; } & .selecter-item.disabled:hover, &:hover .selecter-selected, &.disabled .selecter-item:hover { background-color: $selecter-background-color; } /* Open */ &.open { outline: 0; z-index: 3; & .selecter-selected { border: 1px solid $selecter-primary; @include radius($value: $selecter-radius-value $selecter-radius-value 0 0); z-index: 51; } } &.open .selecter-selected, &.focus .selecter-selected { background-color: $selecter-background-color; } /* 'Cover' Positioning */ &.cover { & .selecter-options { @include radius($value: $selecter-radius-value); border-width: 1px; top: 0; & .selecter-item.first { @include radius($value: $selecter-radius-value $selecter-radius-value 0 0); } } &.open .selecter-selected { @include radius($value: $selecter-radius-value $selecter-radius-value 0 0); z-index: 49; } } /* 'Bottom' Positioning */ &.bottom { & .selecter-options { border-width: 1px 1px 0; bottom: 100%; top: auto; } & .selecter-item:last-child { @include radius($value: 0); border: none; } &.open .selecter-selected { @include radius($value: 0 0 $selecter-radius-value $selecter-radius-value); } &.open .selecter-options { @include radius($value: $selecter-radius-value $selecter-radius-value 0 0); } } /* 'Bottom' + 'Cover' Positioning */ &.bottom.cover { & .selecter-options { bottom: 0; top: auto; } &.open .selecter-selected, &.open .selecter-options { @include radius($value: $selecter-radius-value); } } /* Multiple Select */ &.multiple .selecter-options { @include radius($value: $selecter-radius-value); border-width: 1px; box-shadow: none; display: block; position: static; width: 100%; } /* 'Disabled' State */ &.disabled { & .selecter-selected { background-color: $selecter-disabled-background-color; border-color: $selecter-disabled-background-color; color: $selecter-disabled-color; cursor: default; } & .selecter-options { background-color: $selecter-disabled-background-color; border-color: $selecter-disabled-background-color; } & .selecter-group, & .selecter-item { background-color: $selecter-disabled-background-color; border-color: $selecter-item-border-color; color: $selecter-disabled-color; cursor: default; } & .selecter-item.selected { background-color: $selecter-primary; @include opacity($opacity: 45, $filter: true); color: $white; } } /* Scroller Support */ & .selecter-options.scroller { overflow: hidden; & .scroller-content { max-height: 260px; padding: 0; } } } }