From 6f68907968a1c008722c095a2edc643c57c88f9b Mon Sep 17 00:00:00 2001 From: bravo-kernel Date: Mon, 26 Nov 2018 11:31:01 +0100 Subject: [PATCH] Allow direct imports from node_modules (#1182) --- app/styles/ember-power-select.less | 280 +----------------- app/styles/ember-power-select.scss | 287 +------------------ app/styles/ember-power-select/base.less | 276 ++++++++++++++++++ app/styles/ember-power-select/base.scss | 283 ++++++++++++++++++ app/styles/ember-power-select/variables.less | 3 + app/styles/ember-power-select/variables.scss | 3 + 6 files changed, 567 insertions(+), 565 deletions(-) create mode 100644 app/styles/ember-power-select/base.less create mode 100644 app/styles/ember-power-select/base.scss diff --git a/app/styles/ember-power-select.less b/app/styles/ember-power-select.less index 63dc13471..7732c274a 100644 --- a/app/styles/ember-power-select.less +++ b/app/styles/ember-power-select.less @@ -1,283 +1,5 @@ @import 'ember-power-select/variables'; -// Configure ember-basic-dropdown -@ember-basic-dropdown-content-background-color: @ember-power-select-background-color; - @import 'ember-basic-dropdown'; -.ember-power-select-dropdown * { - box-sizing: border-box; -} - -// Trigger -.ember-power-select-trigger { - position: relative; - border-top: @ember-power-select-trigger-border-top; - border-bottom: @ember-power-select-trigger-border-bottom; - border-right: @ember-power-select-trigger-border-right; - border-left: @ember-power-select-trigger-border-left; - border-radius: @ember-power-select-trigger-default-border-radius; - background-color: @ember-power-select-background-color; - line-height: @ember-power-select-line-height; - overflow-x: hidden; - text-overflow: ellipsis; - min-height: @ember-power-select-line-height * 1em; - user-select: none; - -webkit-user-select: none; - color: @ember-power-select-text-color; - /* Minimum clearfix for modern browsers */ - &:after { - content:""; - display:table; - clear:both; - } -} -.ember-power-select-trigger:focus, -.ember-power-select-trigger--active { - border-top: @ember-power-select-active-trigger-border-top; - border-bottom: @ember-power-select-active-trigger-border-bottom; - border-right: @ember-power-select-active-trigger-border-right; - border-left: @ember-power-select-active-trigger-border-left; - box-shadow: @ember-power-select-focus-box-shadow; - - & when not (@ember-power-select-focus-outline = null) { - outline: @ember-power-select-focus-outline; - } -} -.ember-basic-dropdown-trigger--below.ember-power-select-trigger[aria-expanded="true"], -.ember-basic-dropdown-trigger--in-place.ember-power-select-trigger[aria-expanded="true"] { - border-bottom-left-radius: @ember-power-select-opened-border-radius; - border-bottom-right-radius: @ember-power-select-opened-border-radius; -} -.ember-basic-dropdown-trigger--above.ember-power-select-trigger[aria-expanded="true"] { - border-top-left-radius: @ember-power-select-opened-border-radius; - border-top-right-radius: @ember-power-select-opened-border-radius; -} -.ember-power-select-placeholder { - color: @ember-power-select-placeholder-color; - display: block; - overflow-x: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ember-power-select-status-icon { - position: absolute; - display: inline-block; - width: 0; height: 0; top: 0; bottom: 0; margin: auto; // Vertical center trick! - border-style: solid; - border-width: 7px 4px 0 4px; - border-color: @ember-power-select-trigger-icon-color transparent transparent transparent; - .ember-basic-dropdown-trigger[aria-expanded="true"] & { - transform: rotate(180deg); - } -} -.ember-power-select-clear-btn { - position: absolute; - cursor: pointer; -} - -// Multiple select -.ember-power-select-trigger-multiple-input { - font-family: inherit; - font-size: inherit; - border: none; - display: inline-block; - line-height: inherit; - -webkit-appearance: none; - outline: none; - padding: 0; - float: left; - background-color: transparent; - text-indent: 2px; - &:disabled { - background-color: @ember-power-select-disabled-background-color; - } - /* There's a browser bug where this selectos cannot be chained with commas */ - &::placeholder { - opacity: 1; - color: @ember-power-select-placeholder-color; - } - &::-webkit-input-placeholder { - opacity: 1; - color: @ember-power-select-placeholder-color; - } - &::-moz-placeholder { - opacity: 1; - color: @ember-power-select-placeholder-color; - } - &::-ms-input-placeholder { - opacity: 1; - color: @ember-power-select-placeholder-color; - } -} - -.ember-power-select-multiple-options { - padding: 0; margin: 0; -} -.ember-power-select-multiple-option { - border: @ember-power-select-multiple-option-border; - border-radius: @ember-power-select-multiple-option-border-radius; - color: @ember-power-select-multiple-selection-color; - background-color: @ember-power-select-multiple-selection-background-color; - padding: @ember-power-select-multiple-option-padding; - display: inline-block; - line-height: @ember-power-select-multiple-option-line-height; - float: left; - margin: 2px 0 2px 3px; -} -.ember-power-select-multiple-remove-btn { - cursor: pointer; - &:not(:hover) { opacity: 0.5; } -} -// Search bar -.ember-power-select-search { - padding: 4px; -} -.ember-power-select-search-input { - border: @ember-power-select-search-field-border; - border-radius: @ember-power-select-search-input-border-radius; - width: 100%; - font-size: inherit; - line-height: inherit; - padding: 0 5px; - &:focus { - border: @ember-power-select-search-field-focus-border; - box-shadow: @ember-power-select-focus-box-shadow; - & when not (@ember-power-select-focus-outline = null) { - outline: @ember-power-select-focus-outline; - } - } -} - -// Dropdown -.ember-power-select-dropdown { - border-left: @ember-power-select-dropdown-left-border; - border-right: @ember-power-select-dropdown-right-border; - line-height: @ember-power-select-line-height; - border-radius: @ember-power-select-dropdown-default-border-radius; - box-shadow: @ember-power-select-dropdown-box-shadow; - overflow: hidden; - color: @ember-power-select-text-color; -} -.ember-power-select-dropdown.ember-basic-dropdown-content--above { - & when (not (@ember-power-select-dropdown-margin = 0)) { - transform: translateY(calc(-1 * @ember-power-select-dropdown-margin)); - } - border-top: @ember-power-select-dropdown-top-border; - border-bottom: @ember-power-select-dropdown-contiguous-border; - border-bottom-left-radius: @ember-power-select-opened-border-radius; - border-bottom-right-radius: @ember-power-select-opened-border-radius; -} -.ember-power-select-dropdown.ember-basic-dropdown-content--below, .ember-power-select-dropdown.ember-basic-dropdown-content--in-place { - & when (not (@ember-power-select-dropdown-margin = 0)) { - transform: translateY(@ember-power-select-dropdown-margin); - } - border-top: @ember-power-select-dropdown-contiguous-border; - border-bottom: @ember-power-select-dropdown-bottom-border; - border-top-left-radius: @ember-power-select-opened-border-radius; - border-top-right-radius: @ember-power-select-opened-border-radius; -} -.ember-power-select-dropdown.ember-basic-dropdown-content--in-place { // Dropdown when rendered in place - width: 100%; -} -// Options -.ember-power-select-options { - list-style: none; - margin: 0; - padding: 0; - user-select: none; - -webkit-user-select: none; - &[role="listbox"] { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - max-height: (@ember-power-select-number-of-visible-options * @ember-power-select-line-height) * 1em; - } -} - -.ember-power-select-option { - cursor: pointer; - padding: 0 @ember-power-select-option-padding; -} -.ember-power-select-group[aria-disabled="true"] { - color: @ember-power-select-disabled-option-color; - cursor: not-allowed; -} -.ember-power-select-group[aria-disabled="true"] .ember-power-select-option, -.ember-power-select-option[aria-disabled="true"] { - color: @ember-power-select-disabled-option-color; - pointer-events: none; - cursor: not-allowed; -} -.ember-power-select-option[aria-selected="true"] { background-color: @ember-power-select-selected-background; } -.ember-power-select-option[aria-current="true"] { - background-color: @ember-power-select-highlighted-background; - color: @ember-power-select-highlighted-color; -} - -// Groups -.ember-power-select-group-name { - cursor: default; - font-weight: bold; -} - -// Disabled styles -.ember-power-select-trigger[aria-disabled=true] { - background-color: @ember-power-select-disabled-background-color; -} - -// LTR styles -.ember-power-select-trigger { - padding: @ember-power-select-trigger-ltr-padding; -} -.ember-power-select-selected-item, .ember-power-select-placeholder { - margin-left: 8px; -} -.ember-power-select-status-icon { - right: 5px; -} -.ember-power-select-clear-btn { - right: @ember-power-select-clear-btn-margin; -} - -.ember-power-select-group { - .ember-power-select-group { - .ember-power-select-group-name { padding-left: 3 * @ember-power-select-option-padding; } - .ember-power-select-option { padding-left: 5 * @ember-power-select-option-padding; } - } - .ember-power-select-option { padding-left: 3 * @ember-power-select-option-padding; } - .ember-power-select-group-name { padding-left: @ember-power-select-option-padding; } -} - -// RTL styles -.ember-power-select-trigger[dir=rtl] { - padding: @ember-power-select-trigger-rtl-padding; - .ember-power-select-selected-item, .ember-power-select-placeholder { - margin-right: 8px; - } - .ember-power-select-multiple-option { - float: right; - } - .ember-power-select-trigger-multiple-input { - float: right; - } - .ember-power-select-status-icon { - left: 5px; - right: initial; - } - .ember-power-select-clear-btn { - left: @ember-power-select-clear-btn-margin; - right: initial; - } -} - - -.ember-power-select-dropdown[dir=rtl] { - .ember-power-select-group { - .ember-power-select-group { - .ember-power-select-group-name { padding-right: 3 * @ember-power-select-option-padding; } - .ember-power-select-option { padding-right: 5 * @ember-power-select-option-padding; } - } - .ember-power-select-option { padding-right: 3 * @ember-power-select-option-padding; } - .ember-power-select-group-name { padding-right: @ember-power-select-option-padding; } - } -} +@import 'ember-power-select/base'; diff --git a/app/styles/ember-power-select.scss b/app/styles/ember-power-select.scss index e10e0d2fb..7732c274a 100644 --- a/app/styles/ember-power-select.scss +++ b/app/styles/ember-power-select.scss @@ -1,290 +1,5 @@ @import 'ember-power-select/variables'; -// Configure ember-basic-dropdown -$ember-basic-dropdown-content-background-color: $ember-power-select-background-color; - @import 'ember-basic-dropdown'; -.ember-power-select-dropdown * { - box-sizing: border-box; -} - -// Trigger -.ember-power-select-trigger { - position: relative; - border-top: $ember-power-select-trigger-border-top; - border-bottom: $ember-power-select-trigger-border-bottom; - border-right: $ember-power-select-trigger-border-right; - border-left: $ember-power-select-trigger-border-left; - border-radius: $ember-power-select-trigger-default-border-radius; - background-color: $ember-power-select-background-color; - line-height: $ember-power-select-line-height; - overflow-x: hidden; - text-overflow: ellipsis; - @if unitless($ember-power-select-line-height) { - min-height: #{$ember-power-select-line-height}em; - } @else { - min-height: $ember-power-select-line-height; - } - user-select: none; - -webkit-user-select: none; - color: $ember-power-select-text-color; - /* Minimum clearfix for modern browsers */ - &:after { - content:""; - display:table; - clear:both; - } -} -.ember-power-select-trigger:focus, -.ember-power-select-trigger--active { - border-top: $ember-power-select-active-trigger-border-top; - border-bottom: $ember-power-select-active-trigger-border-bottom; - border-right: $ember-power-select-active-trigger-border-right; - border-left: $ember-power-select-active-trigger-border-left; - box-shadow: $ember-power-select-focus-box-shadow; - @if $ember-power-select-focus-outline { - outline: $ember-power-select-focus-outline; - } -} -.ember-basic-dropdown-trigger--below.ember-power-select-trigger[aria-expanded="true"], -.ember-basic-dropdown-trigger--in-place.ember-power-select-trigger[aria-expanded="true"] { - border-bottom-left-radius: $ember-power-select-opened-border-radius; - border-bottom-right-radius: $ember-power-select-opened-border-radius; -} -.ember-basic-dropdown-trigger--above.ember-power-select-trigger[aria-expanded="true"] { - border-top-left-radius: $ember-power-select-opened-border-radius; - border-top-right-radius: $ember-power-select-opened-border-radius; -} -.ember-power-select-placeholder { - color: $ember-power-select-placeholder-color; - display: block; - overflow-x: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ember-power-select-status-icon { - position: absolute; - display: inline-block; - width: 0; height: 0; top: 0; bottom: 0; margin: auto; // Vertical center trick! - border-style: solid; - border-width: 7px 4px 0 4px; - border-color: $ember-power-select-trigger-icon-color transparent transparent transparent; - .ember-basic-dropdown-trigger[aria-expanded="true"] & { - transform: rotate(180deg); - } -} -.ember-power-select-clear-btn { - position: absolute; - cursor: pointer; -} - -// Multiple select -.ember-power-select-trigger-multiple-input { - font-family: inherit; - font-size: inherit; - border: none; - display: inline-block; - line-height: inherit; - -webkit-appearance: none; - outline: none; - padding: 0; - float: left; - background-color: transparent; - text-indent: 2px; - &:disabled { - background-color: $ember-power-select-disabled-background-color; - } - /* There's a browser bug where this selectos cannot be chained with commas */ - &::placeholder { - opacity: 1; - color: $ember-power-select-placeholder-color; - } - &::-webkit-input-placeholder { - opacity: 1; - color: $ember-power-select-placeholder-color; - } - &::-moz-placeholder { - opacity: 1; - color: $ember-power-select-placeholder-color; - } - &::-ms-input-placeholder { - opacity: 1; - color: $ember-power-select-placeholder-color; - } -} - -.ember-power-select-multiple-options { - padding: 0; margin: 0; -} -.ember-power-select-multiple-option { - border: $ember-power-select-multiple-option-border; - border-radius: $ember-power-select-multiple-option-border-radius; - color: $ember-power-select-multiple-selection-color; - background-color: $ember-power-select-multiple-selection-background-color; - padding: $ember-power-select-multiple-option-padding; - display: inline-block; - line-height: $ember-power-select-multiple-option-line-height; - float: left; - margin: 2px 0 2px 3px; -} -.ember-power-select-multiple-remove-btn { - cursor: pointer; - &:not(:hover) { opacity: 0.5; } -} -// Search bar -.ember-power-select-search { - padding: 4px; -} -.ember-power-select-search-input { - border: $ember-power-select-search-field-border; - border-radius: $ember-power-select-search-input-border-radius; - width: 100%; - font-size: inherit; - line-height: inherit; - padding: 0 5px; - &:focus { - border: $ember-power-select-search-field-focus-border; - box-shadow: $ember-power-select-focus-box-shadow; - @if $ember-power-select-focus-outline { - outline: $ember-power-select-focus-outline; - } - } -} - -// Dropdown -.ember-power-select-dropdown { - border-left: $ember-power-select-dropdown-left-border; - border-right: $ember-power-select-dropdown-right-border; - line-height: $ember-power-select-line-height; - border-radius: $ember-power-select-dropdown-default-border-radius; - box-shadow: $ember-power-select-dropdown-box-shadow; - overflow: hidden; - color: $ember-power-select-text-color; -} -.ember-power-select-dropdown.ember-basic-dropdown-content--above { - @if ($ember-power-select-dropdown-margin != 0) { - transform: translateY(calc(-1 * #{$ember-power-select-dropdown-margin})); - } - border-top: $ember-power-select-dropdown-top-border; - border-bottom: $ember-power-select-dropdown-contiguous-border; - border-bottom-left-radius: $ember-power-select-opened-border-radius; - border-bottom-right-radius: $ember-power-select-opened-border-radius; -} -.ember-power-select-dropdown.ember-basic-dropdown-content--below, .ember-power-select-dropdown.ember-basic-dropdown-content--in-place { - @if ($ember-power-select-dropdown-margin != 0) { - transform: translateY(#{$ember-power-select-dropdown-margin}); - } - border-top: $ember-power-select-dropdown-contiguous-border; - border-bottom: $ember-power-select-dropdown-bottom-border; - border-top-left-radius: $ember-power-select-opened-border-radius; - border-top-right-radius: $ember-power-select-opened-border-radius; -} -.ember-power-select-dropdown.ember-basic-dropdown-content--in-place { // Dropdown when rendered in place - width: 100%; -} -// Options -.ember-power-select-options { - list-style: none; - margin: 0; - padding: 0; - user-select: none; - -webkit-user-select: none; - &[role="listbox"] { - overflow-y: auto; /* in firefox in windows this can cause a word-break issue. Try `overflow-y: scroll` if that happens */ - -webkit-overflow-scrolling: touch; - @if unitless($ember-power-select-line-height) { - max-height: #{$ember-power-select-number-of-visible-options * $ember-power-select-line-height}em; - } @else { - max-height: $ember-power-select-number-of-visible-options * $ember-power-select-line-height; - } - } -} - -.ember-power-select-option { - cursor: pointer; - padding: 0 $ember-power-select-option-padding; -} -.ember-power-select-group[aria-disabled="true"] { - color: $ember-power-select-disabled-option-color; - cursor: not-allowed; -} -.ember-power-select-group[aria-disabled="true"] .ember-power-select-option, -.ember-power-select-option[aria-disabled="true"] { - color: $ember-power-select-disabled-option-color; - pointer-events: none; - cursor: not-allowed; -} -.ember-power-select-option[aria-selected="true"] { background-color: $ember-power-select-selected-background; } -.ember-power-select-option[aria-current="true"] { - background-color: $ember-power-select-highlighted-background; - color: $ember-power-select-highlighted-color; -} - -// Groups -.ember-power-select-group-name { - cursor: default; - font-weight: bold; -} - -// Disabled styles -.ember-power-select-trigger[aria-disabled=true] { - background-color: $ember-power-select-disabled-background-color; -} - -// LTR styles -.ember-power-select-trigger { - padding: $ember-power-select-trigger-ltr-padding; -} -.ember-power-select-selected-item, .ember-power-select-placeholder { - margin-left: 8px; -} -.ember-power-select-status-icon { - right: 5px; -} -.ember-power-select-clear-btn { - right: $ember-power-select-clear-btn-margin; -} - -.ember-power-select-group { - .ember-power-select-group { - .ember-power-select-group-name { padding-left: 3 * $ember-power-select-option-padding; } - .ember-power-select-option { padding-left: 5 * $ember-power-select-option-padding; } - } - .ember-power-select-option { padding-left: 3 * $ember-power-select-option-padding; } - .ember-power-select-group-name { padding-left: $ember-power-select-option-padding; } -} - -// RTL styles -.ember-power-select-trigger[dir=rtl] { - padding: $ember-power-select-trigger-rtl-padding; - .ember-power-select-selected-item, .ember-power-select-placeholder { - margin-right: 8px; - } - .ember-power-select-multiple-option { - float: right; - } - .ember-power-select-trigger-multiple-input { - float: right; - } - .ember-power-select-status-icon { - left: 5px; - right: initial; - } - .ember-power-select-clear-btn { - left: $ember-power-select-clear-btn-margin; - right: initial; - } -} - - -.ember-power-select-dropdown[dir=rtl] { - .ember-power-select-group { - .ember-power-select-group { - .ember-power-select-group-name { padding-right: 3 * $ember-power-select-option-padding; } - .ember-power-select-option { padding-right: 5 * $ember-power-select-option-padding; } - } - .ember-power-select-option { padding-right: 3 * $ember-power-select-option-padding; } - .ember-power-select-group-name { padding-right: $ember-power-select-option-padding; } - } -} +@import 'ember-power-select/base'; diff --git a/app/styles/ember-power-select/base.less b/app/styles/ember-power-select/base.less new file mode 100644 index 000000000..56fb89454 --- /dev/null +++ b/app/styles/ember-power-select/base.less @@ -0,0 +1,276 @@ +.ember-power-select-dropdown * { + box-sizing: border-box; +} + +// Trigger +.ember-power-select-trigger { + position: relative; + border-top: @ember-power-select-trigger-border-top; + border-bottom: @ember-power-select-trigger-border-bottom; + border-right: @ember-power-select-trigger-border-right; + border-left: @ember-power-select-trigger-border-left; + border-radius: @ember-power-select-trigger-default-border-radius; + background-color: @ember-power-select-background-color; + line-height: @ember-power-select-line-height; + overflow-x: hidden; + text-overflow: ellipsis; + min-height: @ember-power-select-line-height * 1em; + user-select: none; + -webkit-user-select: none; + color: @ember-power-select-text-color; + /* Minimum clearfix for modern browsers */ + &:after { + content:""; + display:table; + clear:both; + } +} +.ember-power-select-trigger:focus, +.ember-power-select-trigger--active { + border-top: @ember-power-select-active-trigger-border-top; + border-bottom: @ember-power-select-active-trigger-border-bottom; + border-right: @ember-power-select-active-trigger-border-right; + border-left: @ember-power-select-active-trigger-border-left; + box-shadow: @ember-power-select-focus-box-shadow; + + & when not (@ember-power-select-focus-outline = null) { + outline: @ember-power-select-focus-outline; + } +} +.ember-basic-dropdown-trigger--below.ember-power-select-trigger[aria-expanded="true"], +.ember-basic-dropdown-trigger--in-place.ember-power-select-trigger[aria-expanded="true"] { + border-bottom-left-radius: @ember-power-select-opened-border-radius; + border-bottom-right-radius: @ember-power-select-opened-border-radius; +} +.ember-basic-dropdown-trigger--above.ember-power-select-trigger[aria-expanded="true"] { + border-top-left-radius: @ember-power-select-opened-border-radius; + border-top-right-radius: @ember-power-select-opened-border-radius; +} +.ember-power-select-placeholder { + color: @ember-power-select-placeholder-color; + display: block; + overflow-x: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.ember-power-select-status-icon { + position: absolute; + display: inline-block; + width: 0; height: 0; top: 0; bottom: 0; margin: auto; // Vertical center trick! + border-style: solid; + border-width: 7px 4px 0 4px; + border-color: @ember-power-select-trigger-icon-color transparent transparent transparent; + .ember-basic-dropdown-trigger[aria-expanded="true"] & { + transform: rotate(180deg); + } +} +.ember-power-select-clear-btn { + position: absolute; + cursor: pointer; +} + +// Multiple select +.ember-power-select-trigger-multiple-input { + font-family: inherit; + font-size: inherit; + border: none; + display: inline-block; + line-height: inherit; + -webkit-appearance: none; + outline: none; + padding: 0; + float: left; + background-color: transparent; + text-indent: 2px; + &:disabled { + background-color: @ember-power-select-disabled-background-color; + } + /* There's a browser bug where this selectos cannot be chained with commas */ + &::placeholder { + opacity: 1; + color: @ember-power-select-placeholder-color; + } + &::-webkit-input-placeholder { + opacity: 1; + color: @ember-power-select-placeholder-color; + } + &::-moz-placeholder { + opacity: 1; + color: @ember-power-select-placeholder-color; + } + &::-ms-input-placeholder { + opacity: 1; + color: @ember-power-select-placeholder-color; + } +} + +.ember-power-select-multiple-options { + padding: 0; margin: 0; +} +.ember-power-select-multiple-option { + border: @ember-power-select-multiple-option-border; + border-radius: @ember-power-select-multiple-option-border-radius; + color: @ember-power-select-multiple-selection-color; + background-color: @ember-power-select-multiple-selection-background-color; + padding: @ember-power-select-multiple-option-padding; + display: inline-block; + line-height: @ember-power-select-multiple-option-line-height; + float: left; + margin: 2px 0 2px 3px; +} +.ember-power-select-multiple-remove-btn { + cursor: pointer; + &:not(:hover) { opacity: 0.5; } +} +// Search bar +.ember-power-select-search { + padding: 4px; +} +.ember-power-select-search-input { + border: @ember-power-select-search-field-border; + border-radius: @ember-power-select-search-input-border-radius; + width: 100%; + font-size: inherit; + line-height: inherit; + padding: 0 5px; + &:focus { + border: @ember-power-select-search-field-focus-border; + box-shadow: @ember-power-select-focus-box-shadow; + & when not (@ember-power-select-focus-outline = null) { + outline: @ember-power-select-focus-outline; + } + } +} + +// Dropdown +.ember-power-select-dropdown { + border-left: @ember-power-select-dropdown-left-border; + border-right: @ember-power-select-dropdown-right-border; + line-height: @ember-power-select-line-height; + border-radius: @ember-power-select-dropdown-default-border-radius; + box-shadow: @ember-power-select-dropdown-box-shadow; + overflow: hidden; + color: @ember-power-select-text-color; +} +.ember-power-select-dropdown.ember-basic-dropdown-content--above { + & when (not (@ember-power-select-dropdown-margin = 0)) { + transform: translateY(calc(-1 * @ember-power-select-dropdown-margin)); + } + border-top: @ember-power-select-dropdown-top-border; + border-bottom: @ember-power-select-dropdown-contiguous-border; + border-bottom-left-radius: @ember-power-select-opened-border-radius; + border-bottom-right-radius: @ember-power-select-opened-border-radius; +} +.ember-power-select-dropdown.ember-basic-dropdown-content--below, .ember-power-select-dropdown.ember-basic-dropdown-content--in-place { + & when (not (@ember-power-select-dropdown-margin = 0)) { + transform: translateY(@ember-power-select-dropdown-margin); + } + border-top: @ember-power-select-dropdown-contiguous-border; + border-bottom: @ember-power-select-dropdown-bottom-border; + border-top-left-radius: @ember-power-select-opened-border-radius; + border-top-right-radius: @ember-power-select-opened-border-radius; +} +.ember-power-select-dropdown.ember-basic-dropdown-content--in-place { // Dropdown when rendered in place + width: 100%; +} +// Options +.ember-power-select-options { + list-style: none; + margin: 0; + padding: 0; + user-select: none; + -webkit-user-select: none; + &[role="listbox"] { + overflow-y: auto; + -webkit-overflow-scrolling: touch; + max-height: (@ember-power-select-number-of-visible-options * @ember-power-select-line-height) * 1em; + } +} + +.ember-power-select-option { + cursor: pointer; + padding: 0 @ember-power-select-option-padding; +} +.ember-power-select-group[aria-disabled="true"] { + color: @ember-power-select-disabled-option-color; + cursor: not-allowed; +} +.ember-power-select-group[aria-disabled="true"] .ember-power-select-option, +.ember-power-select-option[aria-disabled="true"] { + color: @ember-power-select-disabled-option-color; + pointer-events: none; + cursor: not-allowed; +} +.ember-power-select-option[aria-selected="true"] { background-color: @ember-power-select-selected-background; } +.ember-power-select-option[aria-current="true"] { + background-color: @ember-power-select-highlighted-background; + color: @ember-power-select-highlighted-color; +} + +// Groups +.ember-power-select-group-name { + cursor: default; + font-weight: bold; +} + +// Disabled styles +.ember-power-select-trigger[aria-disabled=true] { + background-color: @ember-power-select-disabled-background-color; +} + +// LTR styles +.ember-power-select-trigger { + padding: @ember-power-select-trigger-ltr-padding; +} +.ember-power-select-selected-item, .ember-power-select-placeholder { + margin-left: 8px; +} +.ember-power-select-status-icon { + right: 5px; +} +.ember-power-select-clear-btn { + right: @ember-power-select-clear-btn-margin; +} + +.ember-power-select-group { + .ember-power-select-group { + .ember-power-select-group-name { padding-left: 3 * @ember-power-select-option-padding; } + .ember-power-select-option { padding-left: 5 * @ember-power-select-option-padding; } + } + .ember-power-select-option { padding-left: 3 * @ember-power-select-option-padding; } + .ember-power-select-group-name { padding-left: @ember-power-select-option-padding; } +} + +// RTL styles +.ember-power-select-trigger[dir=rtl] { + padding: @ember-power-select-trigger-rtl-padding; + .ember-power-select-selected-item, .ember-power-select-placeholder { + margin-right: 8px; + } + .ember-power-select-multiple-option { + float: right; + } + .ember-power-select-trigger-multiple-input { + float: right; + } + .ember-power-select-status-icon { + left: 5px; + right: initial; + } + .ember-power-select-clear-btn { + left: @ember-power-select-clear-btn-margin; + right: initial; + } +} + + +.ember-power-select-dropdown[dir=rtl] { + .ember-power-select-group { + .ember-power-select-group { + .ember-power-select-group-name { padding-right: 3 * @ember-power-select-option-padding; } + .ember-power-select-option { padding-right: 5 * @ember-power-select-option-padding; } + } + .ember-power-select-option { padding-right: 3 * @ember-power-select-option-padding; } + .ember-power-select-group-name { padding-right: @ember-power-select-option-padding; } + } +} diff --git a/app/styles/ember-power-select/base.scss b/app/styles/ember-power-select/base.scss new file mode 100644 index 000000000..c5386c112 --- /dev/null +++ b/app/styles/ember-power-select/base.scss @@ -0,0 +1,283 @@ +.ember-power-select-dropdown * { + box-sizing: border-box; +} + +// Trigger +.ember-power-select-trigger { + position: relative; + border-top: $ember-power-select-trigger-border-top; + border-bottom: $ember-power-select-trigger-border-bottom; + border-right: $ember-power-select-trigger-border-right; + border-left: $ember-power-select-trigger-border-left; + border-radius: $ember-power-select-trigger-default-border-radius; + background-color: $ember-power-select-background-color; + line-height: $ember-power-select-line-height; + overflow-x: hidden; + text-overflow: ellipsis; + @if unitless($ember-power-select-line-height) { + min-height: #{$ember-power-select-line-height}em; + } @else { + min-height: $ember-power-select-line-height; + } + user-select: none; + -webkit-user-select: none; + color: $ember-power-select-text-color; + /* Minimum clearfix for modern browsers */ + &:after { + content:""; + display:table; + clear:both; + } +} +.ember-power-select-trigger:focus, +.ember-power-select-trigger--active { + border-top: $ember-power-select-active-trigger-border-top; + border-bottom: $ember-power-select-active-trigger-border-bottom; + border-right: $ember-power-select-active-trigger-border-right; + border-left: $ember-power-select-active-trigger-border-left; + box-shadow: $ember-power-select-focus-box-shadow; + @if $ember-power-select-focus-outline { + outline: $ember-power-select-focus-outline; + } +} +.ember-basic-dropdown-trigger--below.ember-power-select-trigger[aria-expanded="true"], +.ember-basic-dropdown-trigger--in-place.ember-power-select-trigger[aria-expanded="true"] { + border-bottom-left-radius: $ember-power-select-opened-border-radius; + border-bottom-right-radius: $ember-power-select-opened-border-radius; +} +.ember-basic-dropdown-trigger--above.ember-power-select-trigger[aria-expanded="true"] { + border-top-left-radius: $ember-power-select-opened-border-radius; + border-top-right-radius: $ember-power-select-opened-border-radius; +} +.ember-power-select-placeholder { + color: $ember-power-select-placeholder-color; + display: block; + overflow-x: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.ember-power-select-status-icon { + position: absolute; + display: inline-block; + width: 0; height: 0; top: 0; bottom: 0; margin: auto; // Vertical center trick! + border-style: solid; + border-width: 7px 4px 0 4px; + border-color: $ember-power-select-trigger-icon-color transparent transparent transparent; + .ember-basic-dropdown-trigger[aria-expanded="true"] & { + transform: rotate(180deg); + } +} +.ember-power-select-clear-btn { + position: absolute; + cursor: pointer; +} + +// Multiple select +.ember-power-select-trigger-multiple-input { + font-family: inherit; + font-size: inherit; + border: none; + display: inline-block; + line-height: inherit; + -webkit-appearance: none; + outline: none; + padding: 0; + float: left; + background-color: transparent; + text-indent: 2px; + &:disabled { + background-color: $ember-power-select-disabled-background-color; + } + /* There's a browser bug where this selectos cannot be chained with commas */ + &::placeholder { + opacity: 1; + color: $ember-power-select-placeholder-color; + } + &::-webkit-input-placeholder { + opacity: 1; + color: $ember-power-select-placeholder-color; + } + &::-moz-placeholder { + opacity: 1; + color: $ember-power-select-placeholder-color; + } + &::-ms-input-placeholder { + opacity: 1; + color: $ember-power-select-placeholder-color; + } +} + +.ember-power-select-multiple-options { + padding: 0; margin: 0; +} +.ember-power-select-multiple-option { + border: $ember-power-select-multiple-option-border; + border-radius: $ember-power-select-multiple-option-border-radius; + color: $ember-power-select-multiple-selection-color; + background-color: $ember-power-select-multiple-selection-background-color; + padding: $ember-power-select-multiple-option-padding; + display: inline-block; + line-height: $ember-power-select-multiple-option-line-height; + float: left; + margin: 2px 0 2px 3px; +} +.ember-power-select-multiple-remove-btn { + cursor: pointer; + &:not(:hover) { opacity: 0.5; } +} +// Search bar +.ember-power-select-search { + padding: 4px; +} +.ember-power-select-search-input { + border: $ember-power-select-search-field-border; + border-radius: $ember-power-select-search-input-border-radius; + width: 100%; + font-size: inherit; + line-height: inherit; + padding: 0 5px; + &:focus { + border: $ember-power-select-search-field-focus-border; + box-shadow: $ember-power-select-focus-box-shadow; + @if $ember-power-select-focus-outline { + outline: $ember-power-select-focus-outline; + } + } +} + +// Dropdown +.ember-power-select-dropdown { + border-left: $ember-power-select-dropdown-left-border; + border-right: $ember-power-select-dropdown-right-border; + line-height: $ember-power-select-line-height; + border-radius: $ember-power-select-dropdown-default-border-radius; + box-shadow: $ember-power-select-dropdown-box-shadow; + overflow: hidden; + color: $ember-power-select-text-color; +} +.ember-power-select-dropdown.ember-basic-dropdown-content--above { + @if ($ember-power-select-dropdown-margin != 0) { + transform: translateY(calc(-1 * #{$ember-power-select-dropdown-margin})); + } + border-top: $ember-power-select-dropdown-top-border; + border-bottom: $ember-power-select-dropdown-contiguous-border; + border-bottom-left-radius: $ember-power-select-opened-border-radius; + border-bottom-right-radius: $ember-power-select-opened-border-radius; +} +.ember-power-select-dropdown.ember-basic-dropdown-content--below, .ember-power-select-dropdown.ember-basic-dropdown-content--in-place { + @if ($ember-power-select-dropdown-margin != 0) { + transform: translateY(#{$ember-power-select-dropdown-margin}); + } + border-top: $ember-power-select-dropdown-contiguous-border; + border-bottom: $ember-power-select-dropdown-bottom-border; + border-top-left-radius: $ember-power-select-opened-border-radius; + border-top-right-radius: $ember-power-select-opened-border-radius; +} +.ember-power-select-dropdown.ember-basic-dropdown-content--in-place { // Dropdown when rendered in place + width: 100%; +} +// Options +.ember-power-select-options { + list-style: none; + margin: 0; + padding: 0; + user-select: none; + -webkit-user-select: none; + &[role="listbox"] { + overflow-y: auto; /* in firefox in windows this can cause a word-break issue. Try `overflow-y: scroll` if that happens */ + -webkit-overflow-scrolling: touch; + @if unitless($ember-power-select-line-height) { + max-height: #{$ember-power-select-number-of-visible-options * $ember-power-select-line-height}em; + } @else { + max-height: $ember-power-select-number-of-visible-options * $ember-power-select-line-height; + } + } +} + +.ember-power-select-option { + cursor: pointer; + padding: 0 $ember-power-select-option-padding; +} +.ember-power-select-group[aria-disabled="true"] { + color: $ember-power-select-disabled-option-color; + cursor: not-allowed; +} +.ember-power-select-group[aria-disabled="true"] .ember-power-select-option, +.ember-power-select-option[aria-disabled="true"] { + color: $ember-power-select-disabled-option-color; + pointer-events: none; + cursor: not-allowed; +} +.ember-power-select-option[aria-selected="true"] { background-color: $ember-power-select-selected-background; } +.ember-power-select-option[aria-current="true"] { + background-color: $ember-power-select-highlighted-background; + color: $ember-power-select-highlighted-color; +} + +// Groups +.ember-power-select-group-name { + cursor: default; + font-weight: bold; +} + +// Disabled styles +.ember-power-select-trigger[aria-disabled=true] { + background-color: $ember-power-select-disabled-background-color; +} + +// LTR styles +.ember-power-select-trigger { + padding: $ember-power-select-trigger-ltr-padding; +} +.ember-power-select-selected-item, .ember-power-select-placeholder { + margin-left: 8px; +} +.ember-power-select-status-icon { + right: 5px; +} +.ember-power-select-clear-btn { + right: $ember-power-select-clear-btn-margin; +} + +.ember-power-select-group { + .ember-power-select-group { + .ember-power-select-group-name { padding-left: 3 * $ember-power-select-option-padding; } + .ember-power-select-option { padding-left: 5 * $ember-power-select-option-padding; } + } + .ember-power-select-option { padding-left: 3 * $ember-power-select-option-padding; } + .ember-power-select-group-name { padding-left: $ember-power-select-option-padding; } +} + +// RTL styles +.ember-power-select-trigger[dir=rtl] { + padding: $ember-power-select-trigger-rtl-padding; + .ember-power-select-selected-item, .ember-power-select-placeholder { + margin-right: 8px; + } + .ember-power-select-multiple-option { + float: right; + } + .ember-power-select-trigger-multiple-input { + float: right; + } + .ember-power-select-status-icon { + left: 5px; + right: initial; + } + .ember-power-select-clear-btn { + left: $ember-power-select-clear-btn-margin; + right: initial; + } +} + + +.ember-power-select-dropdown[dir=rtl] { + .ember-power-select-group { + .ember-power-select-group { + .ember-power-select-group-name { padding-right: 3 * $ember-power-select-option-padding; } + .ember-power-select-option { padding-right: 5 * $ember-power-select-option-padding; } + } + .ember-power-select-option { padding-right: 3 * $ember-power-select-option-padding; } + .ember-power-select-group-name { padding-right: $ember-power-select-option-padding; } + } +} diff --git a/app/styles/ember-power-select/variables.less b/app/styles/ember-power-select/variables.less index dbc42b495..c97f69ec2 100644 --- a/app/styles/ember-power-select/variables.less +++ b/app/styles/ember-power-select/variables.less @@ -68,3 +68,6 @@ @ember-power-select-trigger-rtl-padding: 0 0 0 16px; @ember-power-select-multiple-option-padding: 0 4px; @ember-power-select-multiple-option-line-height: 1.45; + +// ember-basic-dropdown +@ember-basic-dropdown-content-background-color: @ember-power-select-background-color; diff --git a/app/styles/ember-power-select/variables.scss b/app/styles/ember-power-select/variables.scss index a55afa251..fc323a128 100644 --- a/app/styles/ember-power-select/variables.scss +++ b/app/styles/ember-power-select/variables.scss @@ -68,3 +68,6 @@ $ember-power-select-trigger-ltr-padding: 0 16px 0 0 !default; $ember-power-select-trigger-rtl-padding: 0 0 0 16px !default; $ember-power-select-multiple-option-padding: 0 4px !default; $ember-power-select-multiple-option-line-height: 1.45 !default; + +// ember-basic-dropdown +$ember-basic-dropdown-content-background-color: $ember-power-select-background-color;