UNPKG

7.16 kBtext/lessView Raw
1/******************************************************************************
2*
3* Copyright (c) 2017, the Perspective Authors.
4*
5* This file is part of the Perspective library, distributed under the terms of
6* the Apache License 2.0. The full license can be found in the LICENSE file.
7*
8*/
9
10@import "variables";
11
12:host {
13 width: 100%;
14
15 div.psp-autocomplete-widget {
16 color: var(--color, #666666);
17 font-family: var(--interface-monospace--font-family, monospace);
18 box-sizing: border-box;
19 display: none;
20 z-index: 100000;
21 max-height: 75px;
22 font-size: 12px;
23 margin-top: 5px;
24 overflow-x: hidden;
25 overflow-y: hidden;
26 word-break: break-word;
27
28 // Single-line expressions where the autocomplete follows the caret,
29 // and is positioned by the `reposition` method
30 &.undocked {
31 max-height: 100px;
32 min-width: 150px;
33 position: absolute;
34 top: 24px;
35
36 // When details panel is shown, make sure the autocomplete has
37 // enough width to render everything.
38 &.show-details {
39 min-width: 300px;
40
41 div.psp-autocomplete-widget__list {
42 border-right: none;
43 }
44 }
45 }
46
47 // Multi-line expressions where the autocomplete is static
48 &.docked {
49 background: var(--plugin--background, none);
50 position: static;
51 min-width: auto;
52 width: 100%;
53
54 div.psp-autocomplete-widget__list {
55 background: var(--plugin--background, none);
56 border: none;
57 }
58
59 div.psp-autocomplete-widget__details {
60 position: absolute;
61 left: 100%;
62 z-index: 100000;
63 min-width: 150px;
64 max-width: 200px;
65 }
66
67 div.psp-autocomplete__item {
68 border-bottom: 1px solid @border-color;
69 }
70 }
71
72 div.psp-autocomplete-widget__list {
73 border: 1px solid @border-color;
74 background: var(--plugin--background, #fff);
75 flex: auto;
76 min-width: 40%;
77 overflow-y: scroll;
78
79 &.small {
80 align-self: flex-start;
81 }
82 }
83
84 div.psp-autocomplete-widget__details {
85 background: var(--plugin--background, #fff);
86 border: 1px solid @border-color;
87 display: none;
88 flex: auto;
89 padding: 5px 5px 5px 10px;
90 overflow-y: scroll;
91 word-wrap: break-word;
92
93 span {
94 display: block;
95 }
96
97 .psp-autocomplete-item-detail__item--label {
98 margin-bottom: 5px;
99 }
100
101 .psp-autocomplete-item-detail__item--signature {
102 font-size: 11px;
103 margin-bottom: 5px;
104 }
105
106 .psp-autocomplete-item-detail__item--help {
107 font-size: 10px;
108 }
109 }
110
111 div.psp-autocomplete__item {
112 display: block;
113 overflow-x: auto;
114 padding: 5px;
115 word-break: keep-all;
116
117 &:hover {
118 // Default colors are the same as Awesomeplete defaults to
119 // achieve consistent look.
120 background: var(
121 --autocomplete-hover-background,
122 hsl(200, 40%, 80%)
123 );
124 cursor: pointer;
125 }
126
127 &:focus,
128 &[aria-selected="true"] {
129 background: var(
130 --autocomplete-select-background,
131 hsl(205, 40%, 40%)
132 );
133 color: var(--color, #fff);
134 cursor: pointer;
135
136 span.psp-autocomplete-item__label.psp-autocomplete-item__label--column-name::before {
137 color: var(--color, #fff) !important;
138 }
139 }
140
141 span.psp-autocomplete-item__label {
142 &.psp-autocomplete-item__label--column-name {
143 font-family: var(
144 --interface--font-family,
145 @sans-serif-fonts
146 );
147
148 &:before {
149 font-family: var(
150 --interface-monospace--font-family,
151 monospace
152 );
153 position: relative;
154 display: inline-block;
155 // display: var(--name-before-display, none);
156 padding: var(--column_type--padding, 0px 5px);
157 min-width: 18px;
158 width: var(--column_type--width, auto);
159 }
160
161 &.integer:before,
162 &.float:before {
163 content: var(
164 --float--column-type--content,
165 var(--column-type--content, "123")
166 );
167 color: var(
168 --float--column-type--color,
169 var(--column-type--color, #016bc6)
170 );
171 }
172
173 &.string:before {
174 content: var(
175 --string--column-type--content,
176 var(--column-type--content, "abc")
177 );
178 color: var(
179 --string--column-type--color,
180 var(--column-type--color, #fe9292)
181 );
182 }
183
184 &.boolean:before {
185 content: var(
186 --boolean--column-type--content,
187 var(--column-type--content, "t/f")
188 );
189 color: var(
190 --boolean--column-type--color,
191 var(--column-type--color, #999999)
192 );
193 }
194
195 &.date:before {
196 content: var(
197 --date--column-type--content,
198 var(--column-type--content, "mdy")
199 );
200 color: var(
201 --date--column-type--color,
202 var(--column-type--color, #999999)
203 );
204 }
205
206 &.datetime:before {
207 content: var(
208 --datetime--column-type--content,
209 var(--column-type--content, "mdy")
210 );
211 color: var(
212 --datetime--column-type--color,
213 var(--column-type--color, #999999)
214 );
215 }
216 }
217 }
218 }
219 }
220}