arnaucube
arnaucube/commonroutesServerPublic Self-hosted repository
commonroutesServer/app/www/lib/ionic/scss/_mixins.scss
app/www/lib/ionic/scss/_mixins.scssRaw
  1
  2// Button Mixins
  3// --------------------------------------------------
  4
  5@mixin button-style($bg-color, $border-color, $active-bg-color, $active-border-color, $color) {
  6  border-color: $border-color;
  7  background-color: $bg-color;
  8  color: $color;
  9
 10  // Give desktop users something to play with
 11  &:hover {
 12    color: $color;
 13    text-decoration: none;
 14  }
 15  &.active,
 16  &.activated {
 17    @if $active-border-color != ""{
 18      border-color: $active-border-color;
 19    }
 20    background-color: $active-bg-color;
 21    //box-shadow: inset 0 1px 4px rgba(0,0,0,0.1);
 22  }
 23}
 24
 25@mixin button-clear($color, $font-size:"") {
 26  &.button-clear {
 27    border-color: transparent;
 28    background: none;
 29    box-shadow: none;
 30    color: $color;
 31
 32    @if $font-size != "" {
 33      font-size: $font-size;
 34    }
 35  }
 36  &.button-icon {
 37    border-color: transparent;
 38    background: none;
 39  }
 40}
 41
 42@mixin button-outline($color, $text-color:"") {
 43  &.button-outline {
 44    border-color: $color;
 45    background: transparent;
 46    @if $text-color == "" {
 47      $text-color: $color;
 48    }
 49    color: $text-color;
 50    &.active,
 51    &.activated {
 52      background-color: $color;
 53      box-shadow: none;
 54      color: #fff;
 55    }
 56  }
 57}
 58
 59
 60// Bar Mixins
 61// --------------------------------------------------
 62
 63@mixin bar-style($bg-color, $border-color, $color) {
 64  border-color: $border-color;
 65  background-color: $bg-color;
 66  background-image: linear-gradient(0deg, $border-color, $border-color 50%, transparent 50%);
 67  color: $color;
 68
 69  .title {
 70    color: $color;
 71  }
 72}
 73
 74
 75// Tab Mixins
 76// --------------------------------------------------
 77
 78@mixin tab-style($bg-color, $border-color, $color) {
 79  border-color: $border-color;
 80  background-color: $bg-color;
 81  background-image: linear-gradient(0deg, $border-color, $border-color 50%, transparent 50%);
 82  color: $color;
 83}
 84
 85@mixin tab-badge-style($bg-color, $color) {
 86  .tab-item .badge {
 87    background-color: $bg-color;
 88    color: $color;
 89  }
 90}
 91
 92
 93// Item Mixins
 94// --------------------------------------------------
 95
 96@mixin item-style($bg-color, $border-color, $color) {
 97  border-color: $border-color;
 98  background-color: $bg-color;
 99  color: $color;
100}
101
102@mixin item-active-style($active-bg-color, $active-border-color) {
103  border-color: $active-border-color;
104  background-color: $active-bg-color;
105  &.item-complex > .item-content {
106    border-color: $active-border-color;
107    background-color: $active-bg-color;
108  }
109}
110
111
112// Badge Mixins
113// --------------------------------------------------
114
115@mixin badge-style($bg-color, $color) {
116  background-color: $bg-color;
117  color: $color;
118}
119
120
121// Range Mixins
122// --------------------------------------------------
123
124@mixin range-style($track-bg-color) {
125  &::-webkit-slider-thumb:before {
126    background: $track-bg-color;
127  }
128  &::-ms-fill-lower{
129    background: $track-bg-color;
130  }
131}
132
133
134// Checkbox Mixins
135// --------------------------------------------------
136
137@mixin checkbox-style($off-border-color, $on-bg-color, $on-border-color) {
138  & input:before,
139  & .checkbox-icon:before {
140    border-color: $off-border-color;
141  }
142
143  // what the background looks like when its checked
144  & input:checked:before,
145  & input:checked + .checkbox-icon:before {
146    background: $on-bg-color;
147    border-color: $on-border-color;
148  }
149}
150
151
152// Toggle Mixins
153// --------------------------------------------------
154
155@mixin toggle-style($on-border-color, $on-bg-color) {
156  // the track when the toggle is "on"
157  & input:checked + .track {
158    border-color: $on-border-color;
159    background-color: $on-bg-color;
160  }
161}
162@mixin toggle-small-style($on-bg-color) {
163  // the track when the toggle is "on"
164  & input:checked + .track {
165    background-color: rgba($on-bg-color, .5);
166  }
167  & input:checked + .track .handle {
168    background-color: $on-bg-color;
169  }
170}
171
172
173// Clearfix
174// --------------------------------------------------
175
176@mixin clearfix {
177  *zoom: 1;
178  &:before,
179  &:after {
180    display: table;
181    content: "";
182    line-height: 0;
183  }
184  &:after {
185    clear: both;
186  }
187}
188
189
190// Placeholder text
191// --------------------------------------------------
192
193@mixin placeholder($color: $input-color-placeholder, $text-indent: 0) {
194  &::-moz-placeholder { // Firefox 19+
195    color: $color;
196  }
197  &:-ms-input-placeholder {
198    color: $color;
199  }
200  &::-webkit-input-placeholder {
201    color: $color;
202    // Safari placeholder margin issue
203    text-indent: $text-indent;
204  }
205}
206
207
208// Text Mixins
209// --------------------------------------------------
210
211@mixin text-size-adjust($value: none) {
212  -webkit-text-size-adjust: $value;
213     -moz-text-size-adjust: $value;
214          text-size-adjust: $value;
215}
216@mixin tap-highlight-transparent() {
217  -webkit-tap-highlight-color: rgba(0,0,0,0);
218  -webkit-tap-highlight-color: transparent; // For some Androids
219}
220@mixin touch-callout($value: none) {
221  -webkit-touch-callout: $value;
222}
223
224
225// Font Mixins
226// --------------------------------------------------
227
228@mixin font-family-serif() {
229  font-family: $serif-font-family;
230}
231@mixin font-family-sans-serif() {
232  font-family: $sans-font-family;
233}
234@mixin font-family-monospace() {
235  font-family: $mono-font-family;
236}
237@mixin font-shorthand($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
238  font-weight: $weight;
239  font-size: $size;
240  line-height: $line-height;
241}
242@mixin font-serif($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
243  @include font-family-serif();
244  @include font-shorthand($size, $weight, $line-height);
245}
246@mixin font-sans-serif($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
247  @include font-family-sans-serif();
248  @include font-shorthand($size, $weight, $line-height);
249}
250@mixin font-monospace($size: $base-font-size, $weight: normal, $line-height: $base-line-height) {
251  @include font-family-monospace();
252  @include font-shorthand($size, $weight, $line-height);
253}
254@mixin font-smoothing($font-smoothing) {
255  -webkit-font-smoothing: $font-smoothing;
256          font-smoothing: $font-smoothing;
257}
258
259
260// Appearance
261// --------------------------------------------------
262
263@mixin appearance($val) {
264  -webkit-appearance: $val;
265     -moz-appearance: $val;
266          appearance: $val;
267}
268
269
270// Border Radius Mixins
271// --------------------------------------------------
272
273@mixin border-radius($radius) {
274  -webkit-border-radius: $radius;
275          border-radius: $radius;
276}
277
278// Single Corner Border Radius
279@mixin border-top-left-radius($radius) {
280  -webkit-border-top-left-radius: $radius;
281          border-top-left-radius: $radius;
282}
283@mixin border-top-right-radius($radius) {
284  -webkit-border-top-right-radius: $radius;
285          border-top-right-radius: $radius;
286}
287@mixin border-bottom-right-radius($radius) {
288  -webkit-border-bottom-right-radius: $radius;
289          border-bottom-right-radius: $radius;
290}
291@mixin border-bottom-left-radius($radius) {
292  -webkit-border-bottom-left-radius: $radius;
293          border-bottom-left-radius: $radius;
294}
295
296// Single Side Border Radius
297@mixin border-top-radius($radius) {
298  @include border-top-right-radius($radius);
299  @include border-top-left-radius($radius);
300}
301@mixin border-right-radius($radius) {
302  @include border-top-right-radius($radius);
303  @include border-bottom-right-radius($radius);
304}
305@mixin border-bottom-radius($radius) {
306  @include border-bottom-right-radius($radius);
307  @include border-bottom-left-radius($radius);
308}
309@mixin border-left-radius($radius) {
310  @include border-top-left-radius($radius);
311  @include border-bottom-left-radius($radius);
312}
313
314
315// Box shadows
316// --------------------------------------------------
317
318@mixin box-shadow($shadow...) {
319  -webkit-box-shadow: $shadow;
320          box-shadow: $shadow;
321}
322
323
324// Transition Mixins
325// --------------------------------------------------
326
327@mixin transition($transition...) {
328  -webkit-transition: $transition;
329          transition: $transition;
330}
331@mixin transition-delay($transition-delay) {
332  -webkit-transition-delay: $transition-delay;
333          transition-delay: $transition-delay;
334}
335@mixin transition-duration($transition-duration) {
336  -webkit-transition-duration: $transition-duration;
337          transition-duration: $transition-duration;
338}
339@mixin transition-timing-function($transition-timing) {
340   -webkit-transition-timing-function: $transition-timing;
341           transition-timing-function: $transition-timing;
342 }
343 @mixin transition-property($property) {
344  -webkit-transition-property: $property;
345          transition-property: $property;
346}
347@mixin transition-transform($properties...) {
348  // special case cuz of transform vendor prefixes
349  -webkit-transition: -webkit-transform $properties;
350          transition: transform $properties;
351}
352
353
354// Animation Mixins
355// --------------------------------------------------
356
357@mixin animation($animation) {
358 -webkit-animation: $animation;
359         animation: $animation;
360}
361@mixin animation-duration($duration) {
362 -webkit-animation-duration: $duration;
363         animation-duration: $duration;
364}
365@mixin animation-direction($direction) {
366 -webkit-animation-direction: $direction;
367         animation-direction: $direction;
368}
369@mixin animation-timing-function($animation-timing) {
370 -webkit-animation-timing-function: $animation-timing;
371         animation-timing-function: $animation-timing;
372}
373@mixin animation-fill-mode($fill-mode) {
374 -webkit-animation-fill-mode: $fill-mode;
375         animation-fill-mode: $fill-mode;
376}
377@mixin animation-name($name...) {
378 -webkit-animation-name: $name;
379         animation-name: $name;
380}
381@mixin animation-iteration-count($count) {
382 -webkit-animation-iteration-count: $count;
383         animation-iteration-count: $count;
384}
385
386
387// Transformation Mixins
388// --------------------------------------------------
389
390@mixin rotate($degrees) {
391  @include transform( rotate($degrees) );
392}
393@mixin scale($ratio) {
394  @include transform( scale($ratio) );
395}
396@mixin translate($x, $y) {
397  @include transform( translate($x, $y) );
398}
399@mixin skew($x, $y) {
400  @include transform( skew($x, $y) );
401  -webkit-backface-visibility: hidden;
402}
403@mixin translate3d($x, $y, $z) {
404  @include transform( translate3d($x, $y, $z) );
405}
406@mixin translateZ($z) {
407  @include transform( translateZ($z) );
408}
409@mixin transform($val) {
410  -webkit-transform: $val;
411          transform: $val;
412}
413
414@mixin transform-origin($left, $top) {
415  -webkit-transform-origin: $left $top;
416          transform-origin: $left $top;
417}
418
419
420// Backface visibility
421// --------------------------------------------------
422// Prevent browsers from flickering when using CSS 3D transforms.
423// Default value is `visible`, but can be changed to `hidden
424
425@mixin backface-visibility($visibility){
426  -webkit-backface-visibility: $visibility;
427          backface-visibility: $visibility;
428}
429
430
431// Background clipping
432// --------------------------------------------------
433
434@mixin background-clip($clip) {
435  -webkit-background-clip: $clip;
436          background-clip: $clip;
437}
438
439
440// Background sizing
441// --------------------------------------------------
442
443@mixin background-size($size) {
444  -webkit-background-size: $size;
445          background-size: $size;
446}
447
448
449// Box sizing
450// --------------------------------------------------
451
452@mixin box-sizing($boxmodel) {
453  -webkit-box-sizing: $boxmodel;
454     -moz-box-sizing: $boxmodel;
455          box-sizing: $boxmodel;
456}
457
458
459// User select
460// --------------------------------------------------
461
462@mixin user-select($select) {
463  -webkit-user-select: $select;
464     -moz-user-select: $select;
465      -ms-user-select: $select;
466          user-select: $select;
467}
468
469
470// Content Columns
471// --------------------------------------------------
472
473@mixin content-columns($columnCount, $columnGap: $grid-gutter-width) {
474  -webkit-column-count: $columnCount;
475     -moz-column-count: $columnCount;
476          column-count: $columnCount;
477  -webkit-column-gap: $columnGap;
478     -moz-column-gap: $columnGap;
479          column-gap: $columnGap;
480}
481
482
483// Flexbox Mixins
484// --------------------------------------------------
485// http://philipwalton.github.io/solved-by-flexbox/
486// https://github.com/philipwalton/solved-by-flexbox
487
488@mixin display-flex {
489  display: -webkit-box;
490  display: -webkit-flex;
491  display: -moz-box;
492  display: -moz-flex;
493  display: -ms-flexbox;
494  display: flex;
495}
496
497@mixin display-inline-flex {
498  display: -webkit-inline-box;
499  display: -webkit-inline-flex;
500  display: -moz-inline-flex;
501  display: -ms-inline-flexbox;
502  display: inline-flex;
503}
504
505@mixin flex-direction($value: row) {
506  @if $value == row-reverse {
507    -webkit-box-direction: reverse;
508    -webkit-box-orient: horizontal;
509  } @else if $value == column {
510    -webkit-box-direction: normal;
511    -webkit-box-orient: vertical;
512  } @else if $value == column-reverse {
513    -webkit-box-direction: reverse;
514    -webkit-box-orient: vertical;
515  } @else {
516    -webkit-box-direction: normal;
517    -webkit-box-orient: horizontal;
518  }
519  -webkit-flex-direction: $value;
520  -moz-flex-direction: $value;
521  -ms-flex-direction: $value;
522  flex-direction: $value;
523}
524
525@mixin flex-wrap($value: nowrap) {
526  // No Webkit Box fallback.
527  -webkit-flex-wrap: $value;
528  -moz-flex-wrap: $value;
529  @if $value == nowrap {
530      -ms-flex-wrap: none;
531  } @else {
532      -ms-flex-wrap: $value;
533  }
534  flex-wrap: $value;
535}
536
537@mixin flex($fg: 1, $fs: null, $fb: null) {
538  -webkit-box-flex: $fg;
539  -webkit-flex: $fg $fs $fb;
540  -moz-box-flex: $fg;
541  -moz-flex: $fg $fs $fb;
542  -ms-flex: $fg $fs $fb;
543  flex: $fg $fs $fb;
544}
545
546@mixin flex-flow($values: (row nowrap)) {
547  // No Webkit Box fallback.
548  -webkit-flex-flow: $values;
549  -moz-flex-flow: $values;
550  -ms-flex-flow: $values;
551  flex-flow: $values;
552}
553
554@mixin align-items($value: stretch) {
555  @if $value == flex-start {
556    -webkit-box-align: start;
557    -ms-flex-align: start;
558  } @else if $value == flex-end {
559    -webkit-box-align: end;
560    -ms-flex-align: end;
561  } @else {
562    -webkit-box-align: $value;
563    -ms-flex-align: $value;
564  }
565  -webkit-align-items: $value;
566  -moz-align-items: $value;
567  align-items: $value;
568}
569
570@mixin align-self($value: auto) {
571  -webkit-align-self: $value;
572  -moz-align-self: $value;
573  @if $value == flex-start {
574    -ms-flex-item-align: start;
575  } @else if $value == flex-end {
576    -ms-flex-item-align: end;
577  } @else {
578    -ms-flex-item-align: $value;
579  }
580  align-self: $value;
581}
582
583@mixin align-content($value: stretch) {
584  -webkit-align-content: $value;
585  -moz-align-content: $value;
586  @if $value == flex-start {
587    -ms-flex-line-pack: start;
588  } @else if $value == flex-end {
589    -ms-flex-line-pack: end;
590  } @else {
591    -ms-flex-line-pack: $value;
592  }
593  align-content: $value;
594}
595
596@mixin justify-content($value: stretch) {
597  @if $value == flex-start {
598    -webkit-box-pack: start;
599    -ms-flex-pack: start;
600  } @else if $value == flex-end {
601    -webkit-box-pack: end;
602    -ms-flex-pack: end;
603  } @else if $value == space-between {
604    -webkit-box-pack: justify;
605    -ms-flex-pack: justify;
606  } @else {
607    -webkit-box-pack: $value;
608    -ms-flex-pack: $value;
609  }
610  -webkit-justify-content: $value;
611  -moz-justify-content: $value;
612  justify-content: $value;
613}
614
615@mixin flex-order($n) {
616  -webkit-order: $n;
617  -ms-flex-order: $n;
618  order: $n;
619  -webkit-box-ordinal-group: $n;
620}
621
622@mixin responsive-grid-break($selector, $max-width) {
623  @media (max-width: $max-width) {
624    #{$selector} {
625      -webkit-box-direction: normal;
626      -moz-box-direction: normal;
627      -webkit-box-orient: vertical;
628      -moz-box-orient: vertical;
629      -webkit-flex-direction: column;
630      -ms-flex-direction: column;
631      flex-direction: column;
632
633      .col, .col-10, .col-20, .col-25, .col-33, .col-34, .col-50, .col-66, .col-67, .col-75, .col-80, .col-90 {
634        @include flex(1);
635        margin-bottom: ($grid-padding-width * 3) / 2;
636        margin-left: 0;
637        max-width: 100%;
638        width: 100%;
639      }
640    }
641  }
642}