UNPKG

12.9 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.psp-text-field {
13 position: relative;
14 background-color: var(--column-drop-container--background, white);
15 border-width: 0;
16 border-bottom-width: 1px;
17 border-style: solid;
18 border-color: var(--inactive--color, @border-color);
19 display: flex;
20 flex-direction: column;
21 justify-content: flex-end;
22 min-height: 24px;
23 transition: border-color 0.3s ease-out;
24}
25
26:host(.dragging) .psp-text-field.dropping {
27 border-bottom-width: 2px;
28 border-style: solid;
29 border-color: var(--active--color, @blue800);
30}
31
32:host(.dragging) .psp-text-field {
33 border-bottom-width: 1px;
34 border-style: solid;
35 border-color: var(--active--color, @blue800);
36}
37
38.psp-text-field > .psp-text-field__input {
39 border: 0px;
40 line-height: 20px;
41 vertical-align: bottom;
42 padding-bottom: 0px;
43 display: none;
44}
45
46.psp-text-field__input + label {
47 height: var(--column--height, auto);
48 line-height: 17px;
49 box-sizing: border-box;
50 color: var(--inactive--color, rgb(204, 204, 204));
51 font-weight: 400;
52 white-space: nowrap;
53 padding: var(--column-drop-container--padding, 0px 0px 2px 10px);
54 font-size: 12px;
55 display: inline-block;
56 transition: font-size 0.3s, margin 0.3s;
57}
58
59.dropping .psp-text-field__input,
60.psp-text-field__input:not(:empty) {
61 display: block !important;
62}
63
64.dropping .psp-text-field__input::after {
65 content: "|";
66 width: 0px;
67 overflow: visible;
68 margin-top: -1px;
69 position: absolute;
70}
71
72.dropping * {
73 pointer-events: none;
74}
75
76.dropping .psp-text-field label,
77.psp-text-field__input:not(:empty) + label {
78 position: absolute;
79 top: 0px;
80 margin: var(--column-drop-label--margin, 0);
81 font-size: var(--column-drop-label--font-size, 12px);
82 display: var(--column-drop-label--display, none);
83}
84
85.selected_indicator() {
86 //font-family: var(--interface--font-family, @sans-serif-fonts);
87 font-weight: 500;
88}
89
90.bordered() {
91 border-bottom-width: 1px;
92 border-style: solid;
93 border-color: var(--inactive--color, #ccc);
94 border-top-width: 0px;
95 border-left-width: 0px;
96 border-right-width: 0px;
97}
98
99.dropping perspective-row.inserting {
100 border-top: 25px solid rgba(0, 0, 0, 0);
101}
102
103.dropping perspective-row.postserting {
104 border-bottom: 25px solid rgba(0, 0, 0, 0);
105}
106
107/* These rules needs to be strictly ordered to avoid a bug in IE/ShadyCSS */
108:host perspective-row {
109 height: var(--column--height, 21px);
110 --row_draggable-height: var(--column--height, 21px);
111}
112
113:host([row-pivots]) {
114 #active_columns perspective-row {
115 height: var(--active-column--height, 41px);
116 min-height: var(--active-column--height, 41px);
117 --row_draggable-height: var(--active-column--height, 41px);
118 --column_aggregate-display: inline-block;
119 --is_visible--height: var(--active-column-selector--height, auto);
120 }
121}
122
123:host {
124 font-family: @sans-serif-fonts;
125 background-color: #eee;
126 color: #333;
127
128 #app.columns_horizontal {
129 #columns_container {
130 flex-direction: row-reverse;
131 }
132
133 #active_columns,
134 #inactive_columns {
135 display: flex;
136 flex-direction: column;
137 flex: 0 1 auto;
138 width: 100%;
139 }
140
141 #inactive_columns {
142 flex: 1 1 auto;
143 }
144
145 #sub_columns {
146 flex-shrink: 1;
147
148 /* TODO broken */
149 perspective-row {
150 --column_name-margin: 0 25px 0 0;
151 }
152 }
153
154 #side_panel #divider {
155 display: none;
156 }
157
158 perspective-computed-expression-widget {
159 max-height: none;
160 margin-right: 24px;
161 width: auto;
162 }
163 }
164
165 #side_panel perspective-row {
166 --name-before-display: inline-block;
167 --is_visible-display: inline-block;
168 --row_draggable-padding: 0px 10px 0px 0px;
169 --row_close-display: none;
170 --column_name-max-width: 180px;
171 }
172
173 #top_panel perspective-row {
174 --row_draggable-display: inline-flex;
175 --row-draggable--flex-direction: row;
176 --row-draggable--align-items: center;
177 }
178
179 #columns_container {
180 flex-direction: column;
181 height: calc(~"100% - 29px");
182
183 #active_columns {
184 flex: 0 1 auto;
185
186 perspective-row {
187 margin-bottom: 2px;
188 --row_draggable-background-color: var(
189 --column--background,
190 white
191 );
192 --row_draggable-border-color: var(--inactive--color, #ccc);
193 --row_draggable-border-width: 0 0 1px 0;
194 --row_draggable-overflow: hidden;
195 --row_draggable--justify-content: space-evenly;
196 }
197
198 perspective-row:last-child {
199 --row_draggable-border-width: var(
200 --row_draggable-border-last-child-width,
201 0 0 1px 0
202 );
203 }
204
205 perspective-row[drop-target] {
206 --row_draggable_children-opacity: 0;
207 }
208
209 perspective-row.null-column {
210 --row_draggable_children-opacity: 0;
211 pointer-events: none;
212 }
213 }
214
215 #active_columns {
216 &.one_lock,
217 &.two_lock {
218 perspective-row:first-child {
219 --active--color: #ccc;
220 --is_visible--cursor: normal;
221 }
222 }
223
224 &.two_lock {
225 perspective-row:nth-child(2) {
226 --active--color: #ccc;
227 --is_visible--cursor: normal;
228 }
229 }
230 }
231
232 #active_columns {
233 perspective-row:only-child {
234 --active--color: #ccc;
235 --is_visible--cursor: normal;
236 }
237 }
238
239 #active_columns,
240 #inactive_columns {
241 border: none !important;
242 }
243 }
244
245 ul {
246 transition: background-color 0.2s, border-color 0.2s;
247 outline: none;
248 }
249
250 .column_row() {
251 font-family: var(--interface-monospace--font-family, monospace);
252 }
253
254 #side_panel #side_panel__actions {
255 display: flex;
256 flex-direction: column;
257 flex-shrink: 1000;
258 justify-content: flex-start;
259 position: relative;
260 overflow-y: hidden;
261 width: 100%;
262 padding-top: 20px;
263 margin: var(--column-container--margin, 8px);
264 min-height: 36px;
265
266 button.side_panel-action {
267 align-items: center;
268 align-content: center;
269 background: none;
270 border: none;
271 display: flex;
272 flex-direction: row;
273 // font-family: var(
274 // --interface--font-family,
275 // @sans-serif-fonts
276 // ) !important;
277 font-size: 12px;
278 padding-right: 10px;
279 -webkit-appearance: none;
280 -moz-appearance: none;
281 appearance: none;
282
283 span {
284 margin-left: 5px;
285 font-size: 15px;
286 }
287
288 &:hover {
289 cursor: pointer;
290 }
291 }
292 }
293
294 .noselect {
295 -webkit-touch-callout: none;
296 /* iOS Safari */
297 -webkit-user-select: none;
298 /* Safari */
299 -khtml-user-select: none;
300 /* Konqueror HTML */
301 -moz-user-select: none;
302 /* Firefox */
303 -ms-user-select: none;
304 /* Internet Explorer/Edge */
305 user-select: none;
306 /* Non-prefixed version, currently supported by Chrome and Opera */
307 }
308
309 // svg text {
310 // // font-family: var(
311 // // --interface--font-family,
312 // // @sans-serif-fonts
313 // // ) !important;
314 // }
315
316 // svg .highcharts-axis-title,
317 // svg .highcharts-axis-title {
318 // font-family: var(
319 // --interface--font-family,
320 // @sans-serif-fonts
321 // ) !important;
322 // }
323
324 svg .highcharts-legend-box {
325 fill: none;
326 }
327
328 #pivot_chart {
329 background-color: var(--plugin--background, white);
330 }
331
332 #drop_target {
333 border: var(--plugin--border, none);
334 }
335
336 #pivot_chart_container {
337 box-shadow: var(--plugin--box-shadow, none);
338 }
339
340 #filters perspective-row {
341 margin: 0 0px 0 0;
342 --filter_operator-display: inline-block;
343 --filter_operand-display: inline-block;
344 }
345
346 .plugin_information {
347 color: var(--warning--color, inherit);
348 display: flex;
349 position: absolute;
350 flex-direction: row;
351 justify-content: flex-start;
352 padding: 0.5rem;
353 width: 100%;
354 z-index: 10000;
355 transition: opacity 0.3s ease-out;
356 opacity: 1;
357
358 &.hidden {
359 display: none;
360 opacity: 0;
361 }
362
363 &.plugin_information--warning {
364 background: @amber400;
365 }
366
367 .plugin_information__text {
368 font-size: 12px;
369 margin-right: 0.25rem;
370 display: flex;
371 flex-wrap: wrap;
372 align-items: center;
373 }
374
375 .plugin_information__text:before {
376 content: var(--overflow_hint--before);
377 font-family: var(--overflow_hint--font-family);
378 color: var(--overflow_hint--color);
379 padding: var(--overflow_hint--padding);
380 font-size: 16px;
381 }
382
383 .plugin_information__action {
384 font-size: 12px;
385 text-decoration: underline;
386 cursor: pointer;
387 margin-right: 0.25rem;
388 }
389
390 .plugin_information__action--close {
391 margin-left: 12px;
392 display: inline-flex;
393 font-size: 12px;
394 cursor: pointer;
395 }
396
397 .plugin_information__actions {
398 margin-left: auto;
399 display: flex;
400 align-items: center;
401 flex-direction: row;
402 justify-content: flex-start;
403 }
404
405 .plugin_information--overflow-hint-percent {
406 font-weight: 700;
407 }
408
409 .plugin_information--overflow-hint {
410 white-space: nowrap;
411 }
412 }
413
414 #drop_target {
415 background: var(--plugin--background, #fff);
416 }
417
418 #drop_target_inner h3 {
419 color: #aaa;
420 font-weight: 300;
421 }
422
423 #config_button,
424 #reset_button,
425 #download_button,
426 #copy_button {
427 font-weight: normal;
428 font-family: var(--button--font-family, Arial);
429 color: var(--inactive--color, #999);
430 font-size: var(--button--font-size, 16px);
431 transition: opacity 0.3s;
432 overflow: hidden;
433
434 &:hover {
435 color: var(--active--color, inherit);
436 }
437 }
438
439 #config_button:before {
440 font-feature-settings: "liga";
441 content: var(--settings-button--content, "\1f527");
442 }
443
444 #reset_button:before {
445 font-feature-settings: "liga";
446 content: var(--reset_button--before, "Reset");
447 }
448
449 #close_button:before {
450 font-family: var(--button--font-family, Arial);
451 font-feature-settings: "liga";
452 content: var(--close_button--before, "Close");
453 }
454
455 #download_button:before {
456 font-feature-settings: "liga";
457 content: var(--download_button--before, "Save");
458 }
459
460 #copy_button:before {
461 font-feature-settings: "liga";
462 content: var(--copy_button--before, "Copy");
463 }
464
465 #menubar {
466 display: none;
467 flex-direction: column;
468 padding-top: 55px;
469 }
470
471 #app.show_menu #menubar {
472 display: flex;
473 }
474
475 ul {
476 .bordered();
477 font-size: 12px;
478 padding: var(--column-drop-container--padding, 0px 10px 0px 10px);
479 }
480
481 select {
482 border-radius: 0;
483 background-color: var(--select--background-color, white);
484 .bordered();
485 }
486
487 select:focus {
488 outline: none;
489 }
490
491 input {
492 .bordered();
493 }
494
495 input::placeholder {
496 color: var(--inactive--color, #ccc);
497 }
498
499 option[value=""] {
500 color: white !important;
501 }
502
503 #app {
504 background-color: inherit;
505 }
506
507 ::-webkit-scrollbar,
508 ::shadow ::-webkit-scrollbar {
509 width: 12px;
510 }
511
512 ::-webkit-scrollbar-thumb,
513 ::shadow ::-webkit-scrollbar-thumb {
514 background: #ccc;
515 }
516
517 ::-webkit-scrollbar-track,
518 ::shadow ::-webkit-scrollbar-track {
519 background: none;
520 }
521}