
Remove --gr-autocomplete. Always put border, border-radius, padding on gr-autocomplete, unless it is classified as "borderless". Add a border-radius also to the gr-autocomplete-dropdown. Makes it look nicer. Adjust the vertical offset of where the dropdown is shown in gr-autocomplete to 31px, which matches the default styles. Only needs a different value in gr-account-entry, where no border and no padding is used. Drop height:2em from gr-autocomplete usages, which makes it fall back to height being calculated from border, padding, line-height as usual. Also drop height:2em from input,select,textarea form styles, and align their padding to 4px as used everywhere else. Align also the standard border-radius and padding of input with that of gr-autocomplete. Change-Id: If3e1434f206f50577b926b3f35b624636534926b
110 lines
3.4 KiB
HTML
110 lines
3.4 KiB
HTML
<!--
|
|
@license
|
|
Copyright (C) 2017 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<link rel="import" href="/bower_components/polymer/polymer.html">
|
|
|
|
<link rel="import" href="../../../behaviors/fire-behavior/fire-behavior.html">
|
|
<link rel="import" href="../../../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-behavior.html">
|
|
<link rel="import" href="/bower_components/iron-dropdown/iron-dropdown.html">
|
|
<link rel="import" href="/bower_components/iron-fit-behavior/iron-fit-behavior.html">
|
|
<link rel="import" href="../../shared/gr-cursor-manager/gr-cursor-manager.html">
|
|
<script src="../../../types/polymer-behaviors.js"></script>
|
|
<script src="../../../scripts/rootElement.js"></script>
|
|
<link rel="import" href="../../../styles/shared-styles.html">
|
|
|
|
<dom-module id="gr-autocomplete-dropdown">
|
|
<template>
|
|
<style include="shared-styles">
|
|
:host {
|
|
z-index: 100;
|
|
}
|
|
:host([is-hidden]) {
|
|
display: none;
|
|
}
|
|
ul {
|
|
list-style: none;
|
|
}
|
|
li {
|
|
border-bottom: 1px solid var(--border-color);
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--spacing-m) var(--spacing-l);
|
|
}
|
|
li:last-of-type {
|
|
border: none;
|
|
}
|
|
li:focus {
|
|
outline: none;
|
|
}
|
|
li:hover {
|
|
background-color: var(--hover-background-color);
|
|
}
|
|
li.selected {
|
|
background-color: var(--selection-background-color);
|
|
}
|
|
.dropdown-content {
|
|
background: var(--dropdown-background-color);
|
|
box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
|
|
border-radius: var(--border-radius);
|
|
max-height: 50vh;
|
|
overflow: auto;
|
|
}
|
|
@media only screen and (max-height: 35em) {
|
|
.dropdown-content {
|
|
max-height: 80vh;
|
|
}
|
|
}
|
|
.label {
|
|
color: var(--deemphasized-text-color);
|
|
padding-left: var(--spacing-l);
|
|
}
|
|
.hide {
|
|
display: none;
|
|
}
|
|
</style>
|
|
<div
|
|
class="dropdown-content"
|
|
slot="dropdown-content"
|
|
id="suggestions"
|
|
role="listbox">
|
|
<ul>
|
|
<template is="dom-repeat" items="[[suggestions]]">
|
|
<li data-index$="[[index]]"
|
|
data-value$="[[item.dataValue]]"
|
|
tabindex="-1"
|
|
aria-label$="[[item.name]]"
|
|
class="autocompleteOption"
|
|
role="option"
|
|
on-click="_handleClickItem">
|
|
<span>[[item.text]]</span>
|
|
<span class$="label [[_computeLabelClass(item)]]">[[item.label]]</span>
|
|
</li>
|
|
</template>
|
|
</ul>
|
|
</div>
|
|
<gr-cursor-manager
|
|
id="cursor"
|
|
index="{{index}}"
|
|
cursor-target-class="selected"
|
|
scroll-behavior="never"
|
|
focus-on-move
|
|
stops="[[_suggestionEls]]"></gr-cursor-manager>
|
|
</template>
|
|
<script src="gr-autocomplete-dropdown.js"></script>
|
|
</dom-module>
|