UNPKG

22.8 kBSCSSView Raw
1// INDIVIDUAL ELEMENT STYLING
2.checkbox {
3 height: $form-field-height;
4 position: relative;
5 display: inline-block;
6 margin-right: $spacing-medium;
7
8 .checkbox-label {
9 padding-left: $spacing-small * 3;
10 position: relative;
11 top: 50%;
12 transform: translateY(-50%);
13 display: inline-block;
14 }
15
16 input[type='checkbox'] {
17 position: absolute;
18 opacity: 0;
19
20 & + label {
21 position: absolute;
22 display: inline-block;
23 padding-left: $spacing-small * 3;
24 cursor: pointer;
25 min-height: $spacing-small * 2;
26 padding-top: 1px;
27 padding-bottom: 1px;
28
29 &:before {
30 background-position: center center;
31 background-repeat: no-repeat;
32 background-size: 70%;
33 box-sizing: border-box;
34 position: absolute;
35 left: 0;
36 content: '';
37 padding: $spacing-small;
38 border: 1px solid $gray-light;
39 border-radius: $corner-radius-small;
40 cursor: pointer;
41 background-color: white;
42 }
43 }
44
45 &:checked {
46 & + label:before {
47 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABG0lEQVRYR+2WTRLCIAxGm15MpyfRk2kPwsKTxcGRTqQN/QKh3ejSEd7LL9Jw8odO5g9/gcMyME3TjYguIYS7LPshAhE+juMjgpn5KSW6C0h4ilxKdBXYgucS3QRKcCnRRQCBf/thdhewwEMIN1cBKzxmYSWgzeveyq6BrwRK81oSqIX/COzNqybQAl8EkHndEmiFfwSQS/L1GQ8i59KoxW7XMggJ5DvcCw6VQJrHTDDzKz0spcZk5rkUeTq7jCEa1d44ImlXn2MPCTTyVQbSFy0SVvjmJrR0eNYfUM3zEqpvgSUTNZGrJZCGiEQLXC0BKtEKhwS0nvCAwwK5hBfcJJAkiOiKbDhkYZkF0Estv3P9S2YBQ2NYc6H1zBugRu7yV9Lr5wAAAABJRU5ErkJggg==);
48 }
49 }
50
51 &:focus {
52 & + label:before {
53 border-color: $color-info;
54 }
55 }
56 }
57
58 input[type='checkbox'][disabled], input[type='checkbox'][disabled] {
59 & + label {
60 opacity: 0.6;
61
62 &:before {
63 background-color: $gray-very-light;
64 }
65 }
66 }
67}
68
69.radio {
70 height: $form-field-height;
71 position: relative;
72 display: inline-block;
73 margin-right: $spacing-medium;
74
75 .radio-label {
76 padding-left: $spacing-small * 3;
77 position: relative;
78 top: 50%;
79 transform: translateY(-50%);
80 display: inline-block;
81 }
82
83 input[type='radio'] {
84 position: absolute;
85 opacity: 0;
86 & + label {
87 position: absolute;
88 display: inline-block;
89 display: block;
90 min-height: $spacing-small * 2;
91 padding-left: $spacing-small * 3;
92 cursor: pointer;
93 &:before {
94 background-position: center center;
95 background-repeat: no-repeat;
96 background-size: 70%;
97 box-sizing: border-box;
98 position: absolute;
99 left: 0;
100 content: '';
101 height: $form-field-height;
102 width: $form-field-height;
103 border: 1px solid $gray-light;
104 border-radius: 50%;
105 cursor: pointer;
106 }
107 }
108 &:checked {
109 & + label:after {
110 position: absolute;
111 left: 8px;
112 top: 8px;
113 height: $form-field-height - 16;
114 width: $form-field-height - 16;
115 content: '';
116 background-color: $gray-medium;
117 border-radius: 50%;
118 }
119 }
120
121 &:focus {
122 & + label:before {
123 border-color: $color-info !important;
124 }
125 }
126 }
127 input[type='radio'][disabled], input[type='radio'][readonly] {
128 & + label {
129 opacity: 0.6;
130 &:before {
131 background-color: $gray-very-light;
132 }
133 }
134 }
135}
136
137.select-input select {
138 @include reset-appearance;
139 background-color: white;
140 background-image: url(data:image/png;base64,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);
141 background-repeat: no-repeat;
142 background-position: calc(100% - 12px) center;
143 background-size: 12px;
144 &:disabled{
145 background-color: $gray-very-light;
146 }
147}
148
149.armstrong-input select{
150 -moz-appearance: none;
151 text-indent: 0.01px;
152 text-overflow: '';
153}
154
155.armstrong-input select::-ms-expand {
156 display: none;
157}
158
159
160textarea {
161 min-height: 120px;
162}
163
164
165
166textarea:focus {
167 // BUG : Text areas seem to need additional offset to stop pixel jumping
168}
169
170select:disabled {
171 @extend %input-disabled;
172}
173
174.text-input-disabled {
175 i {
176 color: rgba(0, 0, 0, 0.3);
177 }
178}
179
180.text-input {
181 position: relative;
182
183
184
185 &.text-input-icon-right,
186 &.text-input-icon-left {
187 i {
188 position: absolute;
189 z-index: 2;
190 top: 50%;
191 transform: translateY(-50%);
192 }
193 }
194
195 &.text-input-icon-left {
196 i {
197 left: $spacing-small;
198 }
199
200 input {
201 padding-left: $spacing-large * 0.9;
202 }
203 }
204
205 &.text-input-icon-right {
206 i {
207 right: $spacing-small;
208 }
209
210 input {
211 padding-right: $spacing-large * 0.9;
212 }
213 }
214
215 &.has-text-overlay-right {
216 input,
217 textarea {
218 padding-right: $spacing-large * 0.9;
219 }
220 }
221
222 &.has-text-overlay-left {
223 input,
224 textarea {
225 padding-left: $spacing-large * 0.9;
226 }
227 }
228}
229
230.input-overlay-text-right {
231 position: absolute;
232 top: 12px;
233 right: 18px;
234 opacity: 0.4;
235}
236
237.input-overlay-text-left {
238 position: absolute;
239 top: 12px;
240 left: 18px;
241 opacity: 0.4;
242}
243
244$header-height: 40px;
245
246.date-picker {
247 box-sizing: border-box;
248 overflow: visible;
249 position: relative;
250 display: inline-block;
251 width: 100%;
252
253 .clear-date-button{
254 cursor: pointer;
255 top: calc(#{$field-padding-vertical} + 8px);
256 position: absolute;
257 right: calc(#{$field-padding-horizontal} + 1.6em);
258 }
259
260 &.disabled {
261 i{
262 opacity: 0.3;
263 }
264 }
265 .cal-input{
266 color: transparent;
267 text-shadow: 0 0 0 $gray-dark;
268 cursor: pointer;
269 }
270 &.has-icon {
271 input {
272 padding-left: calc(#{$field-padding-horizontal} + 1.5em);
273 }
274
275 i {
276 position: absolute;
277 z-index: 2;
278 transform: translateY(-50%);
279 top: 50%;
280 left: $field-padding-horizontal;
281 }
282 }
283
284 input {
285 box-sizing: border-box;
286 }
287
288 .date-picker-header {
289 background-color: $gray-base;
290 height: $header-height;
291 line-height: $header-height;
292 color: white;
293
294 .row {
295 .col {
296 text-align: center;
297 }
298
299 .col:first-of-type,
300 .col:last-of-type {
301 padding: 0 15px;
302 cursor: pointer;
303 background-color: rgba(0, 0, 0, 0.1);
304 }
305 }
306 }
307
308 .date-picker-week-day {
309 background-color: white;
310 cursor: default;
311 }
312
313 .date-picker-body {
314 min-width: 300px;
315 max-width: 350px;
316 box-sizing: border-box;
317 display: none;
318 box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
319
320 &.always-show-calendar {
321 display: block;
322 }
323 position: fixed;
324 width: 100%;
325 background-color: white;
326 z-index: 10;
327
328 &.date-picker-body-visible {
329 display: block;
330 }
331
332 > .grid .row .col {
333 text-align: center;
334 }
335 }
336
337 .date-picker-top {
338 transform: translateY(calc(-100% - 40px));
339 top: -10px;
340 }
341
342 .date-picker-days {
343 box-sizing: border-box;
344 padding: 20px;
345 display: flex;
346 flex-flow: row wrap;
347
348 > div {
349 box-sizing: border-box;
350 cursor: pointer;
351 text-align: center;
352 padding: 5px;
353 flex-basis: percentage(1 / 7);
354
355 &:hover {
356 background-color: rgba(0, 0, 0, 0.1);
357 }
358
359 &.selected-day {
360 background-color: $brand-primary;
361 color: white;
362 }
363
364 &.not-in-month {
365 opacity: 0.5;
366 }
367
368 &.day-disabled {
369 opacity: 0.2;
370 }
371 }
372 }
373}
374
375.date-picker {
376 .date-picker-body.always-show-calendar {
377 box-shadow: none;
378 }
379}
380
381@keyframes spin {
382 0% {
383 transform: rotateZ(0deg);
384 }
385
386 100% {
387 transform: rotateZ(360deg);
388 }
389}
390
391.autocomplete-select {
392 position: relative;
393
394
395 &.has-go-button {
396 input {
397 border-top-right-radius: 0;
398 border-bottom-right-radius: 0;
399 border-right: none;
400 }
401
402 .autocomplete-value-display {
403 border-top-right-radius: 0;
404 border-bottom-right-radius: 0;
405 border-right: none;
406 }
407 }
408
409 .autocomplete-select-list {
410 background-color: white;
411 overflow-x: hidden;
412 overflow-y: auto;
413
414 .dd-list-item {
415 padding: $spacing-small;
416 text-align: left;
417 cursor: pointer;
418 border: 1px solid transparent;
419 transition: all 0.1s;
420
421 &:hover {
422 background-color: $gray-light;
423 }
424
425 &.selected {
426 border: 1px solid $color-info;
427 padding-left: $spacing-small * 1.2;
428 }
429
430 &.in-selected-list {
431 background-color: $color-positive;
432 color: $white;
433 }
434 }
435
436 .dd-list-item-no-select {
437 text-align: left;
438 padding: $spacing-small;
439 opacity: 0.5;
440 }
441 }
442
443 .multi-select-item {
444 cursor: pointer;
445 display: inline-block;
446 background-color: $gray-medium;
447 color: $white;
448 border-radius: 0;
449 padding: $spacing-xsmall / 2 $spacing-xsmall;
450 line-height: normal;
451 margin-right: $field-padding-horizontal/5;
452 margin-bottom: $field-padding-horizontal/5;
453
454 i {
455 font-size: 9pt;
456 margin-left: $spacing-xsmall;
457 }
458 }
459
460 .drop-down-controls {
461 position: relative;
462 }
463
464 .autocomplete-select-list-wrapper {
465 width: 100%;
466
467 .spinner {
468 animation: spin 0.3s forwards infinite linear;
469 position: absolute;
470 right: $spacing-small;
471 top: $spacing-small*0.75;
472 z-index: 2;
473 }
474
475 .autocomplete-select-list {
476 box-sizing: border-box;
477 width: 100%;
478 position: absolute;
479 border-top: none;
480 box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
481 z-index: 3;
482
483 &.on-top {
484 transform: translateY(-100%);
485 }
486 }
487 }
488
489 .placeholder {
490 opacity: 0.22;
491 pointer-events: none;
492 overflow-x: hidden;
493 text-overflow: ellipsis;
494 white-space: nowrap;
495 width: 100%;
496
497 .placeholder-value {
498 position: absolute;
499 top: 50%;
500 transform: translateY(-50%);
501 }
502 }
503
504 .btn {
505 padding: $spacing-xsmall*1.2 $spacing-small;
506 padding-bottom: $spacing-xsmall*1.4;
507 box-shadow: none;
508 border-top-left-radius: 0;
509 border-bottom-left-radius: 0;
510 position: relative;
511 z-index: 5;
512 margin: 0;
513 box-shadow: none;
514 cursor: pointer;
515 }
516
517 .autocomplete-value-display {
518 padding: calc(#{$field-padding-vertical} - 1px) $field-padding-horizontal;
519 background-color: $white;
520 box-sizing: border-box;
521 width: 100%;
522 border: 1px solid $gray-light;
523 border-radius: 0;
524 text-align: left;
525 position: relative;
526 cursor: text;
527 overflow-x: hidden;
528 }
529
530 &.has-multiple-options {
531 .autocomplete-value-display {
532 padding: 0.45em;
533 padding-bottom: 0.3em;
534 }
535 }
536
537 .autocomplete-select-list-wrapper.multi-select input{
538 position: absolute;
539 }
540
541 input {
542 position: relative;
543 z-index: 3;
544 }
545
546 .clear-selected {
547 cursor: pointer;
548 position: absolute;
549 right: 1rem;
550 top: 0;
551 height: 100%;
552
553 i {
554 pointer-events: none;
555 position: absolute;
556 top: 50%;
557 transform: translateY(-50%);
558 }
559 }
560
561 &.disabled {
562 .autocomplete-value-display {
563 @extend %input-disabled;
564 }
565 pointer-events: none;
566 }
567}
568.tag-input {
569 box-sizing: border-box;
570 border: 1px solid $gray-light;
571 padding: 2.5px;
572 min-height: 40px;
573 position: relative;
574 display: flex;
575 flex-wrap: wrap;
576 .tag {
577 background: $color-info;
578 color: white;
579 display: inline-block;
580 padding: 5px 10px;
581 margin: 2.5px;
582 border-radius: 30px;
583 i {
584 font-size: 10px;
585 cursor: pointer;
586 margin-left: 8px;
587 }
588 }
589 input {
590 flex: 1;
591 display: inline-block;
592 width: auto;
593 padding: 5px;
594 border: none !important;
595 }
596 .suggestions {
597 box-sizing: border-box;
598 position: absolute;
599 border: 1px solid $gray-light;
600 width: calc(100% + 2px);
601 left: -1px;
602 bottom: 0;
603 z-index: 5;
604 background: white;
605 transform: translateY(100%);
606 & > div {
607 padding: 10px;
608 cursor: pointer;
609 }
610
611 .selected {
612 color: $gray-light;
613 }
614 }
615}
616
617.code-input {
618 > div {
619 display: flex;
620 .code-input-field {
621 flex: 1;
622 margin-left: $spacing-xxsmall;
623 margin-right: $spacing-xxsmall;
624 text-transform: uppercase;
625 text-align: center;
626 padding: 0;
627 height: 49px;
628 line-height: 49px;
629 margin-bottom: 10px;
630
631 &:nth-of-type(1) {
632 margin-left: 0;
633 }
634
635 &:last-of-type {
636 margin-right: 0;
637 }
638 font-family: Courier New, Courier, monospace;
639 font-weight: bold;
640 }
641
642 input::-webkit-outer-spin-button,
643 input::-webkit-inner-spin-button {
644 -webkit-appearance: none;
645 margin: 0;
646 }
647
648 &.invalid input {
649 border-color: #e30b17;
650 }
651 }
652}
653
654
655// HANDLES GLOBAL INPUT STYLING & VALIDATION
656input,
657select,
658textarea {
659 @include reset-appearance;
660 background-color: $white;
661 box-sizing: border-box;
662 width: 100%;
663 // BUG : Chrome doesnt give many f's about borders and box sizing
664 padding: calc(#{$field-padding-vertical} - 1px) $field-padding-horizontal;
665 border: 1px solid $gray-light;
666 border-radius: 0;
667 text-align: left;
668
669 &:focus {
670 border: 1px solid $color-info;
671 }
672
673 // BUG : If all browser pfs extend placeholder, chrome stops working :(
674 &::-webkit-input-placeholder {
675 color: rgba(0, 0, 0, 0.4);
676 }
677
678 &::-moz-placeholder {
679 /* Firefox 19+ */
680 color: rgba(0, 0, 0, 0.4);
681 }
682
683 &:-ms-input-placeholder {
684 color: rgba(0, 0, 0, 0.4);
685 }
686
687 &:focus:required:invalid {
688 border-color: $color-negative;
689 }
690
691 &[readonly],
692 &[disabled] {
693 color: rgba(0, 0, 0, 0.3);
694 background-color: $gray-very-light;
695
696 i {
697 color: rgba(0, 0, 0, 0.3);
698 }
699
700 &:focus {
701 border: 1px solid $gray-light;
702 }
703 }
704
705
706
707 &:disabled {
708 @extend %input-disabled;
709 }
710}
711
712.armstrong-input {
713 margin-bottom: $form-field-bottom-spacing;
714 position: relative;
715
716 // VALIDATION RELATED
717 &.show-validation {
718 input,
719 select,
720 textarea,
721 .autocomplete-value-display {
722 border-color: $color-negative;
723
724 + label {
725 &:before {
726 border-color: $color-negative;
727 }
728 }
729 }
730 }
731
732 .validation-message {
733 display: block;
734 color: $color-negative;
735 margin-top: $form-field-bottom-spacing / 2;
736 font-size: 0.8rem;
737
738 &.validation-message-both,
739 &.validation-message-icon {
740 &:after {
741 position: absolute;
742 top: $field-padding-vertical+1;
743 right: $field-padding-horizontal+1;
744 content: '!';
745 background-color: $color-negative;
746 color: white;
747 z-index: 2;
748 border-radius: 50%;
749 height: 15px;
750 width: 15px;
751 text-align: center;
752 }
753 }
754 }
755}
756
757select{
758
759 background-position: calc(100% - 10px) center;
760 background-repeat: no-repeat;
761 background-size: 25px;
762 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAADFUlEQVR4Xu2bS05jQRAEi2NxrlkPzIclF+NUoLfwZsQgME67ozO8d73KzFC+blm+Gz/VDtxVq1f8CEA5BAIgAOUOlMu3AQSg3IFy+TaAAJQ7UC7fBhCAcgfK5dsAAlDuQLl8G0AAyh0ol28DCEC5A+XybQABKHegXL4NIADlDpTLtwEEoNyBcvk2gACUO1Au3wYQgHIHyuXbAAJQ7kC5fBtAAModKJdvAwhAuQPl8m0AASh3oFy+DSAA5Q6Uy7cBBKDcgXL5NoAAlDtQLt8GEIByB8rl2wACUO5AuXwbQADKHSiXbwMIQLkD5fJtAAEod6Bcvg0gAOUOlMtftQHuZ+bHRtm8zszzzLyspmlVAA6ffs3M42qGnbnPz5l5OvO70a+tDMAuECwb/mHw6gDQIVg6fAoAVAiWD58EAA0CRPg0ACgQYMInArA6BA8z8zd6bL/wcMIh8D3JK14RceFTG+AExEoQIMOnA7DK6wAb/g4A3BoCdPi7AHArCPDh7wTAtSHYIvzdALgWBMcPVH8ufBu72TjqNfAjw5K3g63C37EBklfE7cLfGYBLvw62DH93AC4FwbbhNwDwXQi2Dr8FgHMh2D78JgC+CsFxk/h9s7vZFR+84zXwu1fEmvDbGuAzV8Sq8FsB+N/roC78ZgD+haAy/HYAThAc/9qpOPC9dzhqOwRe8XzNeJQAMHKKbSkAMWsZgwWAkVNsSwGIWcsYLACMnGJbCkDMWsZgAWDkFNtSAGLWMgYLACOn2JYCELOWMVgAGDnFthSAmLWMwQLAyCm2pQDErGUMFgBGTrEtBSBmLWOwADByim0pADFrGYMFgJFTbEsBiFnLGCwAjJxiWwpAzFrGYAFg5BTbUgBi1jIGCwAjp9iWAhCzljFYABg5xbYUgJi1jMECwMgptqUAxKxlDBYARk6xLQUgZi1jsAAwcoptKQAxaxmDBYCRU2xLAYhZyxgsAIycYlsKQMxaxmABYOQU21IAYtYyBgsAI6fYlgIQs5YxWAAYOcW2FICYtYzBAsDIKbalAMSsZQwWAEZOsS3fAACaN4HYyD/LAAAAAElFTkSuQmCC)
763}