nitro_sg 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/fonts/fontawesome.js +1978 -0
  3. data/fonts/regular.js +1217 -0
  4. data/lib/nitro_sg/version.rb +1 -1
  5. data/sass-mixins/_global.scss +415 -0
  6. data/sass-mixins/_normalize.scss +424 -0
  7. data/sass-mixins/_print.scss +101 -0
  8. data/sass-mixins/application.scss +29 -0
  9. data/sass-mixins/application.scss.flow +1592 -0
  10. data/sass-mixins/base-mixins/_all.scss +11 -0
  11. data/sass-mixins/base-mixins/_all.scss.flow +6 -0
  12. data/sass-mixins/base-mixins/_border-radius.scss +25 -0
  13. data/sass-mixins/base-mixins/_breakpoints.scss +95 -0
  14. data/sass-mixins/base-mixins/_color.sass +22 -0
  15. data/sass-mixins/base-mixins/_forms.scss +33 -0
  16. data/sass-mixins/base-mixins/_general.scss +599 -0
  17. data/sass-mixins/base-mixins/_grid-framework.scss +81 -0
  18. data/sass-mixins/base-mixins/_grid.scss +126 -0
  19. data/sass-mixins/base-mixins/_hover.scss +26 -0
  20. data/sass-mixins/base-mixins/_images.scss +33 -0
  21. data/sass-mixins/base-mixins/_media-queries.sass +58 -0
  22. data/sass-mixins/base-mixins/_type.scss +46 -0
  23. data/sass-mixins/base-variables/_all.scss +11 -0
  24. data/sass-mixins/base-variables/_animation-curves.scss +37 -0
  25. data/sass-mixins/base-variables/_bootstrap-variables.scss +284 -0
  26. data/sass-mixins/base-variables/_border-radius.sass +27 -0
  27. data/sass-mixins/base-variables/_color-bootstrap.scss +62 -0
  28. data/sass-mixins/base-variables/_color-deprecated.scss +26 -0
  29. data/sass-mixins/base-variables/_color-ui-elements.scss +20 -0
  30. data/sass-mixins/base-variables/_colors-export.scss +13 -0
  31. data/sass-mixins/base-variables/_colors-export.scss.flow +92 -0
  32. data/sass-mixins/base-variables/_colors.scss +267 -0
  33. data/sass-mixins/base-variables/_colors.scss.flow +5 -0
  34. data/sass-mixins/base-variables/_fonts.scss +97 -0
  35. data/sass-mixins/base-variables/_forms.scss +44 -0
  36. data/sass-mixins/base-variables/_opacity.scss +9 -0
  37. data/sass-mixins/base-variables/_positioning.scss +24 -0
  38. data/sass-mixins/base-variables/_shadows.scss +5 -0
  39. data/sass-mixins/base-variables/_sizing-ui-elements.scss +2 -0
  40. data/sass-mixins/base-variables/_spacing.sass +27 -0
  41. data/sass-mixins/base-variables/_typography.sass +79 -0
  42. data/sass-mixins/class-helpers/_all.scss +17 -0
  43. data/sass-mixins/class-helpers/_borders.scss +40 -0
  44. data/sass-mixins/class-helpers/_color.sass +61 -0
  45. data/sass-mixins/class-helpers/_display.scss +40 -0
  46. data/sass-mixins/class-helpers/_flexbox.scss +213 -0
  47. data/sass-mixins/class-helpers/_glyphicons.scss +307 -0
  48. data/sass-mixins/class-helpers/_line-height.scss +21 -0
  49. data/sass-mixins/class-helpers/_radius-and-shadows.scss +49 -0
  50. data/sass-mixins/class-helpers/_responsive-utilities.scss +179 -0
  51. data/sass-mixins/class-helpers/_screen-readers.scss +34 -0
  52. data/sass-mixins/class-helpers/_spacing.scss +51 -0
  53. data/sass-mixins/class-helpers/_type.scss +323 -0
  54. data/sass-mixins/class-helpers/_z-index.scss +10 -0
  55. data/sass-mixins/components.scss +5 -0
  56. data/sass-mixins/nitro-ui/_alerts.scss +139 -0
  57. data/sass-mixins/nitro-ui/_all.scss +33 -0
  58. data/sass-mixins/nitro-ui/_animations.scss +37 -0
  59. data/sass-mixins/nitro-ui/_carousel.scss +281 -0
  60. data/sass-mixins/nitro-ui/_code.scss +87 -0
  61. data/sass-mixins/nitro-ui/_connect-cards.scss +150 -0
  62. data/sass-mixins/nitro-ui/_dashboards.scss +516 -0
  63. data/sass-mixins/nitro-ui/_fixed-confirmation-toast.scss +48 -0
  64. data/sass-mixins/nitro-ui/_full-menu.scss +168 -0
  65. data/sass-mixins/nitro-ui/_grid.scss +92 -0
  66. data/sass-mixins/nitro-ui/_icon-toggle.scss +37 -0
  67. data/sass-mixins/nitro-ui/_jumbotron.scss +65 -0
  68. data/sass-mixins/nitro-ui/_links.scss +69 -0
  69. data/sass-mixins/nitro-ui/_list-group.scss +219 -0
  70. data/sass-mixins/nitro-ui/_media.scss +66 -0
  71. data/sass-mixins/nitro-ui/_modals.scss +311 -0
  72. data/sass-mixins/nitro-ui/_notify.scss +56 -0
  73. data/sass-mixins/nitro-ui/_popovers.scss +167 -0
  74. data/sass-mixins/nitro-ui/_progress-bars.scss +125 -0
  75. data/sass-mixins/nitro-ui/_responsive-embed.scss +35 -0
  76. data/sass-mixins/nitro-ui/_side-modal.scss +92 -0
  77. data/sass-mixins/nitro-ui/_tables-responsive.scss +253 -0
  78. data/sass-mixins/nitro-ui/_tables.scss +296 -0
  79. data/sass-mixins/nitro-ui/_thumbnails.scss +38 -0
  80. data/sass-mixins/nitro-ui/_tooltip.scss +124 -0
  81. data/sass-mixins/nitro-ui/_typography.scss +176 -0
  82. data/sass-mixins/nitro-ui/_value-stat.scss +149 -0
  83. data/sass-mixins/nitro-ui/_wells.scss +37 -0
  84. data/sass-mixins/nitro-ui/buttons/_all.scss +97 -0
  85. data/sass-mixins/nitro-ui/buttons/_button-capping.scss +21 -0
  86. data/sass-mixins/nitro-ui/buttons/_button-groups.scss +236 -0
  87. data/sass-mixins/nitro-ui/buttons/_button-mixins.scss +66 -0
  88. data/sass-mixins/nitro-ui/buttons/_button-variables.scss +51 -0
  89. data/sass-mixins/nitro-ui/buttons/_choice-buttons.scss +9 -0
  90. data/sass-mixins/nitro-ui/buttons/_circle-buttons.scss +30 -0
  91. data/sass-mixins/nitro-ui/buttons/_close.scss +45 -0
  92. data/sass-mixins/nitro-ui/buttons/_dropdowns.scss +270 -0
  93. data/sass-mixins/nitro-ui/buttons/_ghost-buttons.scss +58 -0
  94. data/sass-mixins/nitro-ui/buttons/_link-buttons.scss +53 -0
  95. data/sass-mixins/nitro-ui/buttons/_solid-buttons.scss +69 -0
  96. data/sass-mixins/nitro-ui/cards-panels/_all.scss +3 -0
  97. data/sass-mixins/nitro-ui/cards-panels/_cards.scss +409 -0
  98. data/sass-mixins/nitro-ui/cards-panels/_collapsible-card.scss +19 -0
  99. data/sass-mixins/nitro-ui/cards-panels/_panel-collapse.scss +34 -0
  100. data/sass-mixins/nitro-ui/cards-panels/_panel-list-groups.scss +41 -0
  101. data/sass-mixins/nitro-ui/cards-panels/_panel-tables.scss +111 -0
  102. data/sass-mixins/nitro-ui/cards-panels/_panels.scss +120 -0
  103. data/sass-mixins/nitro-ui/forms/_all.scss +18 -0
  104. data/sass-mixins/nitro-ui/forms/_checkbox-radio.scss +154 -0
  105. data/sass-mixins/nitro-ui/forms/_checkbox-toggle.scss +77 -0
  106. data/sass-mixins/nitro-ui/forms/_color-feedback.scss +53 -0
  107. data/sass-mixins/nitro-ui/forms/_dropdown.scss +12 -0
  108. data/sass-mixins/nitro-ui/forms/_form-group.scss +104 -0
  109. data/sass-mixins/nitro-ui/forms/_general-element-reset.scss +120 -0
  110. data/sass-mixins/nitro-ui/forms/_help-block.scss +11 -0
  111. data/sass-mixins/nitro-ui/forms/_horizontal-forms.scss +69 -0
  112. data/sass-mixins/nitro-ui/forms/_input-groups.scss +169 -0
  113. data/sass-mixins/nitro-ui/forms/_label.scss +29 -0
  114. data/sass-mixins/nitro-ui/forms/_multi-input-group.scss +89 -0
  115. data/sass-mixins/nitro-ui/forms/_static-form-text.scss +19 -0
  116. data/sass-mixins/nitro-ui/forms/_validation-states.scss +78 -0
  117. data/sass-mixins/nitro-ui/layouts/_sidebar-layout.scss +59 -0
  118. data/sass-mixins/nitro-ui/navigation/_all.scss +36 -0
  119. data/sass-mixins/nitro-ui/navigation/_breadcrumbs.scss +30 -0
  120. data/sass-mixins/nitro-ui/navigation/_pager.scss +71 -0
  121. data/sass-mixins/nitro-ui/navigation/_pagination.scss +212 -0
  122. data/sass-mixins/nitro-ui/navigation/navbar/_brand.scss +25 -0
  123. data/sass-mixins/nitro-ui/navigation/navbar/_collapse-content.scss +49 -0
  124. data/sass-mixins/nitro-ui/navigation/navbar/_default-navbar.scss +33 -0
  125. data/sass-mixins/nitro-ui/navigation/navbar/_dropdowns-buttons.scss +29 -0
  126. data/sass-mixins/nitro-ui/navigation/navbar/_floats.scss +21 -0
  127. data/sass-mixins/nitro-ui/navigation/navbar/_flush.scss +14 -0
  128. data/sass-mixins/nitro-ui/navigation/navbar/_forms.scss +41 -0
  129. data/sass-mixins/nitro-ui/navigation/navbar/_header.scss +31 -0
  130. data/sass-mixins/nitro-ui/navigation/navbar/_inverse-navbar.scss +32 -0
  131. data/sass-mixins/nitro-ui/navigation/navbar/_light-navbar.scss +36 -0
  132. data/sass-mixins/nitro-ui/navigation/navbar/_links.scss +52 -0
  133. data/sass-mixins/nitro-ui/navigation/navbar/_mixins.scss +161 -0
  134. data/sass-mixins/nitro-ui/navigation/navbar/_navbar.scss +29 -0
  135. data/sass-mixins/nitro-ui/navigation/navbar/_position.scss +50 -0
  136. data/sass-mixins/nitro-ui/navigation/navbar/_text.scss +13 -0
  137. data/sass-mixins/nitro-ui/navigation/navbar/_toggle-button.scss +37 -0
  138. data/sass-mixins/nitro-ui/navigation/navbar/_variables.scss +8 -0
  139. data/sass-mixins/nitro-ui/navigation/navs/_nav-dropdowns.scss +10 -0
  140. data/sass-mixins/nitro-ui/navigation/navs/_nav-justified.scss +32 -0
  141. data/sass-mixins/nitro-ui/navigation/navs/_nav-pills.scss +41 -0
  142. data/sass-mixins/nitro-ui/navigation/navs/_nav-tabs-justified.scss +30 -0
  143. data/sass-mixins/nitro-ui/navigation/navs/_nav-tabs.scss +41 -0
  144. data/sass-mixins/nitro-ui/navigation/navs/_nav.scss +383 -0
  145. data/sass-mixins/nitro-ui/navigation/navs/_navs.scss +70 -0
  146. data/sass-mixins/nitro-ui/navigation/navs/_tabbable-tabs.scss +12 -0
  147. data/sass-mixins/nitro-ui/navigation/navs/_variables.scss +23 -0
  148. data/sass-mixins/nitro-ui/tables/_all.scss +14 -0
  149. data/sass-mixins/nitro-ui/tables/_as-cards.scss +49 -0
  150. data/sass-mixins/nitro-ui/tables/_content.scss +13 -0
  151. data/sass-mixins/nitro-ui/tables/_headers.scss +17 -0
  152. data/sass-mixins/nitro-ui/tables/_hover.scss +66 -0
  153. data/sass-mixins/nitro-ui/tables/_mixins.scss +0 -0
  154. data/sass-mixins/nitro-ui/tables/_mobile.scss +138 -0
  155. data/sass-mixins/nitro-ui/tables/_reset.scss +17 -0
  156. data/sass-mixins/nitro-ui/tables/_single-line.scss +35 -0
  157. data/sass-mixins/nitro-ui/tables/_structure.scss +39 -0
  158. data/sass-mixins/nitro-ui/tables/_table-card.scss +88 -0
  159. data/sass-mixins/nitro-ui/tables/_table-dark.scss +92 -0
  160. data/sass-mixins/nitro-ui/tables/_variables.scss +23 -0
  161. data/sass-mixins/vendor/_bootstrap-overrides.scss +41 -0
  162. data/sass-mixins/vendor/_dropzone.scss +388 -0
  163. data/sass-mixins/vendor/_nitro-bootstrap.scss +95 -0
  164. data/sass-mixins/vendor/_nitro-dropzone.scss +56 -0
  165. data/sass-mixins/vendor/_react-datetime.scss +105 -0
  166. data/sass-mixins/vendor/_selectize.scss +407 -0
  167. data/sass-mixins/vendor/_sweet-alert-extended.scss +3 -0
  168. data/sass-mixins/vendor/react-select.css +375 -0
  169. data/sass-mixins/vendor/svg-with-js.css +5 -0
  170. data/sass-mixins/vendor/type-ahead.scss +43 -0
  171. metadata +170 -2
@@ -0,0 +1,11 @@
1
+ @import "general";
2
+ @import "color";
3
+ @import "border-radius";
4
+ @import "hover";
5
+ @import "breakpoints";
6
+ @import "type";
7
+ @import "images";
8
+ @import "media-queries";
9
+ @import "grid-framework";
10
+ @import "grid";
11
+ @import "forms";
@@ -0,0 +1,6 @@
1
+ // @flow
2
+ /* This file is automatically generated by css-modules-flow-types */
3
+ declare module.exports: {|
4
+ +'hidden-xxs': string;
5
+ +'visible-xxs': string;
6
+ |};
@@ -0,0 +1,25 @@
1
+ // Single side border-radius
2
+
3
+ @mixin border-radius($radius: $border-radius) {
4
+ border-radius: $radius;
5
+ }
6
+
7
+ @mixin border-top-radius($radius) {
8
+ border-top-right-radius: $radius;
9
+ border-top-left-radius: $radius;
10
+ }
11
+
12
+ @mixin border-right-radius($radius) {
13
+ border-bottom-right-radius: $radius;
14
+ border-top-right-radius: $radius;
15
+ }
16
+
17
+ @mixin border-bottom-radius($radius) {
18
+ border-bottom-right-radius: $radius;
19
+ border-bottom-left-radius: $radius;
20
+ }
21
+
22
+ @mixin border-left-radius($radius) {
23
+ border-bottom-left-radius: $radius;
24
+ border-top-left-radius: $radius;
25
+ }
@@ -0,0 +1,95 @@
1
+ // Breakpoint viewport sizes and media queries.
2
+ //
3
+ // Breakpoints are defined as a map of (name: minimum width), order from small to large:
4
+ //
5
+ // (xs: 0, sm: 576px, md: 768px)
6
+ //
7
+ // The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
8
+
9
+ // Name of the next breakpoint, or null for the last breakpoint.
10
+ //
11
+ // >> breakpoint-next(sm)
12
+ // md
13
+ // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px))
14
+ // md
15
+ // >> breakpoint-next(sm, $breakpoint-names: (xs sm md))
16
+ // md
17
+ @function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
18
+ $n: index($breakpoint-names, $name);
19
+ @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
20
+ }
21
+
22
+ // Minimum breakpoint width. Null for the smallest (first) breakpoint.
23
+ //
24
+ // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px))
25
+ // 576px
26
+ @function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
27
+ $min: map-get($breakpoints, $name);
28
+ @return if($min != 0, $min, null);
29
+ }
30
+
31
+ // Maximum breakpoint width. Null for the largest (last) breakpoint.
32
+ // The maximum value is calculated as the minimum of the next one less 0.1.
33
+ //
34
+ // >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px))
35
+ // 767px
36
+ @function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
37
+ $next: breakpoint-next($name, $breakpoints);
38
+ @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);
39
+ }
40
+
41
+ // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
42
+ // Useful for making responsive utilities.
43
+ //
44
+ // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px))
45
+ // "" (Returns a blank string)
46
+ // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px))
47
+ // "-sm"
48
+ @function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
49
+ @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
50
+ }
51
+
52
+ // Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
53
+ // Makes the @content apply to the given breakpoint and wider.
54
+ @mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
55
+ $min: breakpoint-min($name, $breakpoints);
56
+ @if $min {
57
+ @media (min-width: $min) {
58
+ @content;
59
+ }
60
+ } @else {
61
+ @content;
62
+ }
63
+ }
64
+
65
+ // Media of at most the maximum breakpoint width. No query for the largest breakpoint.
66
+ // Makes the @content apply to the given breakpoint and narrower.
67
+ @mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
68
+ $max: breakpoint-max($name, $breakpoints);
69
+ @if $max {
70
+ @media (max-width: $max) {
71
+ @content;
72
+ }
73
+ } @else {
74
+ @content;
75
+ }
76
+ }
77
+
78
+ // Media that spans multiple breakpoint widths.
79
+ // Makes the @content apply between the min and max breakpoints
80
+ @mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
81
+ @include media-breakpoint-up($lower, $breakpoints) {
82
+ @include media-breakpoint-down($upper, $breakpoints) {
83
+ @content;
84
+ }
85
+ }
86
+ }
87
+
88
+ // Media between the breakpoint's minimum and maximum widths.
89
+ // No minimum for the smallest breakpoint, and no maximum for the largest one.
90
+ // Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
91
+ @mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
92
+ @include media-breakpoint-between($name, $name, $breakpoints) {
93
+ @content;
94
+ }
95
+ }
@@ -0,0 +1,22 @@
1
+ =text-color($base_color, $shadow: false, $more_contrast: false)
2
+ @if lightness($base_color) > 75%
3
+ @if $more_contrast
4
+ color: shade($base_color, 80%)
5
+ @else
6
+ color: shade($base_color, 60%)
7
+ @if $shadow
8
+ text-shadow: rgba(white, 0.2 + lightness($base_color) * 0.8 / 100%) 0 1px 0
9
+ @else
10
+ @if $more_contrast
11
+ color: tint($base_color, 100%)
12
+ @else
13
+ color: tint($base_color, 95%)
14
+ @if $shadow
15
+ text-shadow: rgba(black, 0.4) 0 -1px 1px
16
+
17
+ // Can use Tint & Shade easily for colors
18
+ @function shade($color, $percent)
19
+ @return mix(#000, $color, $percent)
20
+
21
+ @function tint($color, $percent)
22
+ @return mix(#fff, $color, $percent)
@@ -0,0 +1,33 @@
1
+ // Form control focus state
2
+ @mixin form-control-focus($color: $input-border-focus) {
3
+ $color-rgba: rgba(red($color), green($color), blue($color), .6);
4
+ &:focus {
5
+ outline: 0;
6
+ border-color: $power-navy;
7
+ box-shadow: inset 0 0 0 0.1rem $power-navy, inset 0 0.1rem 0.2rem 0 rgba($power-navy, $opacity-2);
8
+ }
9
+ }
10
+
11
+ @mixin style-placeholder {
12
+ &::-webkit-input-placeholder { @content; }
13
+ &:-moz-placeholder { @content; }
14
+ &::-moz-placeholder { @content; }
15
+ &:-ms-input-placeholder { @content; }
16
+ }
17
+
18
+
19
+ // select image settings
20
+ @mixin select-arrow-image-settings {
21
+ background-position: 98% 50%, 0 0;
22
+ background-repeat: no-repeat, repeat;
23
+ background-size: 20px, auto;
24
+ }
25
+
26
+ // Custom Select
27
+ @mixin select($select-color: (linear-gradient(to bottom, $white 10%, $gray-1 100%)), $arrow-color: $gray-5) {
28
+ background: $select-color;
29
+ background-image: image-url('pb-caret.svg'); /* fallback */
30
+ background-image: image-url('pb-caret.svg'), $select-color; /* W3C */
31
+ @include select-arrow-image-settings;
32
+ padding-right: 3em;
33
+ }
@@ -0,0 +1,599 @@
1
+ @mixin body-font {
2
+ font-family: $font-family-base;
3
+ }
4
+
5
+ @mixin title-font {
6
+ font-family: $font-family-base;
7
+ }
8
+
9
+ @mixin center {
10
+ left: 50%;
11
+ transform: translateX(-50%);
12
+ }
13
+
14
+ @mixin middle {
15
+ top: 50%;
16
+ transform: translateY(-50%);
17
+ }
18
+
19
+ @mixin center-all {
20
+ left: 50%;
21
+ top: 50%;
22
+ transform: translate(-50%, -50%);
23
+ }
24
+
25
+
26
+
27
+ @mixin clearfix {
28
+ &:before,
29
+ &:after {
30
+ content: " ";
31
+ display: table;
32
+ }
33
+ &:after {
34
+ clear: both;
35
+ }
36
+ }
37
+
38
+ @mixin smooth-font {
39
+ -webkit-font-smoothing: antialiased;
40
+ -moz-osx-font-smoothing: grayscale;
41
+ }
42
+
43
+ @mixin smooth-font-off {
44
+ -webkit-font-smoothing: auto;
45
+ -moz-osx-font-smoothing: auto;
46
+ }
47
+
48
+
49
+ // No longer needed. Use something like autoprefixer
50
+ // Great explination here: https://github.com/thoughtbot/bourbon/issues/702
51
+ @mixin box-shadow($shadow...) {
52
+ -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
53
+ box-shadow: $shadow;
54
+ }
55
+
56
+
57
+ // http://shouldiprefix.com/#box-sizing
58
+ // Lets remove, no prefix needed
59
+ @mixin box-sizing($content...) {
60
+ box-sizing: $content;
61
+ }
62
+
63
+
64
+ @mixin tab-focus() {
65
+ // Default
66
+ // outline: thin dotted;
67
+ // // WebKit
68
+ // outline: 5px auto -webkit-focus-ring-color;
69
+ // outline-offset: -2px;
70
+ outline: 0;
71
+ }
72
+
73
+
74
+ // No gradients...lets kill
75
+ // Reset filters for IE
76
+ //
77
+ // When you need to remove a gradient background, do not forget to use this to reset
78
+ // the IE filter for IE9 and below.
79
+
80
+ @mixin reset-filter() {
81
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
82
+ }
83
+
84
+
85
+
86
+ // Horizontal dividers
87
+ //
88
+ // Dividers (basically an hr) within dropdowns and nav lists
89
+
90
+ @mixin nav-divider($color: #e5e5e5) {
91
+ height: 1px;
92
+ margin: (($line-height-computed / 2) - 1) 0;
93
+ overflow: hidden;
94
+ background-color: $color;
95
+ }
96
+
97
+
98
+
99
+
100
+
101
+
102
+ @mixin _assert-ascending($map, $map-name) {
103
+ $prev-key: null;
104
+ $prev-num: null;
105
+ @each $key, $num in $map {
106
+ @if $prev-num == null {
107
+ // Do nothing
108
+ } @else if not comparable($prev-num, $num) {
109
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
110
+ } @else if $prev-num >= $num {
111
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
112
+ }
113
+ $prev-key: $key;
114
+ $prev-num: $num;
115
+ }
116
+ }
117
+
118
+ // Replace `$search` with `$replace` in `$string`
119
+ // @author Hugo Giraudel
120
+ // @param {String} $string - Initial string
121
+ // @param {String} $search - Substring to replace
122
+ // @param {String} $replace ('') - New value
123
+ // @return {String} - Updated string
124
+ @function str-replace($string, $search, $replace: "") {
125
+ $index: str-index($string, $search);
126
+
127
+ @if $index {
128
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
129
+ }
130
+
131
+ @return $string;
132
+ }
133
+
134
+ @mixin _assert-starts-at-zero($map) {
135
+ $values: map-values($map);
136
+ $first-value: nth($values, 1);
137
+ @if $first-value != 0 {
138
+ @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
139
+ }
140
+ }
141
+
142
+
143
+
144
+ // Inline forms
145
+ //
146
+ // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
147
+ // forms begin stacked on extra small (mobile) devices and then go inline when
148
+ // viewports reach <768px.
149
+ //
150
+ // Requires wrapping inputs and labels with `.form-group` for proper display of
151
+ // default HTML form controls and our custom form controls (e.g., input groups).
152
+ //
153
+ // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
154
+
155
+ // [converter] extracted from `.form-inline` for libsass compatibility
156
+ @mixin form-inline {
157
+
158
+ // Kick in the inline
159
+ @media (min-width: $screen-sm-min) {
160
+ // Inline-block all the things for "inline"
161
+ .form-group {
162
+ display: inline-block;
163
+ margin-bottom: 0;
164
+ vertical-align: middle;
165
+ }
166
+
167
+ // In navbar-form, allow folks to *not* use `.form-group`
168
+ .form-control {
169
+ display: inline-block;
170
+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
171
+ vertical-align: middle;
172
+ }
173
+
174
+ // Make static controls behave like regular ones
175
+ .form-control-static {
176
+ display: inline-block;
177
+ }
178
+
179
+ .input-group {
180
+ display: inline-table;
181
+ vertical-align: middle;
182
+
183
+ .input-group-addon,
184
+ .input-group-btn,
185
+ .form-control {
186
+ width: auto;
187
+ }
188
+ }
189
+
190
+ // Input groups need that 100% width though
191
+ .input-group > .form-control {
192
+ width: 100%;
193
+ }
194
+
195
+ .control-label {
196
+ margin-bottom: 0;
197
+ vertical-align: middle;
198
+ }
199
+
200
+ // Remove default margin on radios/checkboxes that were used for stacking, and
201
+ // then undo the floating of radios and checkboxes to match.
202
+ .radio,
203
+ .checkbox {
204
+ display: inline-block;
205
+ margin-top: 0;
206
+ margin-bottom: 0;
207
+ vertical-align: middle;
208
+
209
+ label {
210
+ padding-left: 0;
211
+ }
212
+ }
213
+ .radio input[type="radio"],
214
+ .checkbox input[type="checkbox"] {
215
+ position: relative;
216
+ margin-left: 0;
217
+ }
218
+
219
+ // Re-override the feedback icon.
220
+ .has-feedback .form-control-feedback {
221
+ top: 0;
222
+ }
223
+ }
224
+ }
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+ // -----------------
233
+ // Kill and burn
234
+ // -----------------
235
+
236
+
237
+ // Vendor Prefixes
238
+ //
239
+ // All vendor mixins are deprecated as of v3.2.0 due to the introduction of
240
+ // Autoprefixer in our Gruntfile. They will be removed in v4.
241
+
242
+ // - Animations
243
+ // - Backface visibility
244
+ // - Box shadow
245
+ // - Box sizing
246
+ // - Content columns
247
+ // - Hyphens
248
+ // - Placeholder text
249
+ // - Transformations
250
+ // - Transitions
251
+ // - User Select
252
+
253
+
254
+ // Animations
255
+ @mixin animation($animation) {
256
+ -webkit-animation: $animation;
257
+ -o-animation: $animation;
258
+ animation: $animation;
259
+ }
260
+ @mixin animation-name($name) {
261
+ -webkit-animation-name: $name;
262
+ animation-name: $name;
263
+ }
264
+ @mixin animation-duration($duration) {
265
+ -webkit-animation-duration: $duration;
266
+ animation-duration: $duration;
267
+ }
268
+ @mixin animation-timing-function($timing-function) {
269
+ -webkit-animation-timing-function: $timing-function;
270
+ animation-timing-function: $timing-function;
271
+ }
272
+ @mixin animation-delay($delay) {
273
+ -webkit-animation-delay: $delay;
274
+ animation-delay: $delay;
275
+ }
276
+ @mixin animation-iteration-count($iteration-count) {
277
+ -webkit-animation-iteration-count: $iteration-count;
278
+ animation-iteration-count: $iteration-count;
279
+ }
280
+ @mixin animation-direction($direction) {
281
+ -webkit-animation-direction: $direction;
282
+ animation-direction: $direction;
283
+ }
284
+ @mixin animation-fill-mode($fill-mode) {
285
+ -webkit-animation-fill-mode: $fill-mode;
286
+ animation-fill-mode: $fill-mode;
287
+ }
288
+
289
+ // Backface visibility
290
+ // Prevent browsers from flickering when using CSS 3D transforms.
291
+ // Default value is `visible`, but can be changed to `hidden`
292
+
293
+ @mixin backface-visibility($visibility){
294
+ -webkit-backface-visibility: $visibility;
295
+ -moz-backface-visibility: $visibility;
296
+ backface-visibility: $visibility;
297
+ }
298
+
299
+ // Drop shadows
300
+ //
301
+ // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
302
+ // supported browsers that have box shadow capabilities now support it.
303
+
304
+ @mixin box-shadow($shadow...) {
305
+ -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
306
+ box-shadow: $shadow;
307
+ }
308
+
309
+ // Box sizing
310
+ @mixin box-sizing($boxmodel) {
311
+ -webkit-box-sizing: $boxmodel;
312
+ -moz-box-sizing: $boxmodel;
313
+ box-sizing: $boxmodel;
314
+ }
315
+
316
+ // CSS3 Content Columns
317
+ @mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
318
+ -webkit-column-count: $column-count;
319
+ -moz-column-count: $column-count;
320
+ column-count: $column-count;
321
+ -webkit-column-gap: $column-gap;
322
+ -moz-column-gap: $column-gap;
323
+ column-gap: $column-gap;
324
+ }
325
+
326
+ // Optional hyphenation
327
+ @mixin hyphens($mode: auto) {
328
+ word-wrap: break-word;
329
+ -webkit-hyphens: $mode;
330
+ -moz-hyphens: $mode;
331
+ -ms-hyphens: $mode; // IE10+
332
+ -o-hyphens: $mode;
333
+ hyphens: $mode;
334
+ }
335
+
336
+ // Placeholder text
337
+ @mixin placeholder($color: $input-color-placeholder) {
338
+ // Firefox
339
+ &::-moz-placeholder {
340
+ color: $color;
341
+ opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
342
+ }
343
+ &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
344
+ &::-webkit-input-placeholder { color: $color; } // Safari and Chrome
345
+ }
346
+
347
+ // Transformations
348
+ @mixin scale($ratio...) {
349
+ -webkit-transform: scale($ratio);
350
+ -ms-transform: scale($ratio); // IE9 only
351
+ -o-transform: scale($ratio);
352
+ transform: scale($ratio);
353
+ }
354
+
355
+ @mixin scaleX($ratio) {
356
+ -webkit-transform: scaleX($ratio);
357
+ -ms-transform: scaleX($ratio); // IE9 only
358
+ -o-transform: scaleX($ratio);
359
+ transform: scaleX($ratio);
360
+ }
361
+ @mixin scaleY($ratio) {
362
+ -webkit-transform: scaleY($ratio);
363
+ -ms-transform: scaleY($ratio); // IE9 only
364
+ -o-transform: scaleY($ratio);
365
+ transform: scaleY($ratio);
366
+ }
367
+ @mixin skew($x, $y) {
368
+ -webkit-transform: skewX($x) skewY($y);
369
+ -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
370
+ -o-transform: skewX($x) skewY($y);
371
+ transform: skewX($x) skewY($y);
372
+ }
373
+ @mixin translate($x, $y) {
374
+ -webkit-transform: translate($x, $y);
375
+ -ms-transform: translate($x, $y); // IE9 only
376
+ -o-transform: translate($x, $y);
377
+ transform: translate($x, $y);
378
+ }
379
+ @mixin translate3d($x, $y, $z) {
380
+ -webkit-transform: translate3d($x, $y, $z);
381
+ transform: translate3d($x, $y, $z);
382
+ }
383
+ @mixin rotate($degrees) {
384
+ -webkit-transform: rotate($degrees);
385
+ -ms-transform: rotate($degrees); // IE9 only
386
+ -o-transform: rotate($degrees);
387
+ transform: rotate($degrees);
388
+ }
389
+ @mixin rotateX($degrees) {
390
+ -webkit-transform: rotateX($degrees);
391
+ -ms-transform: rotateX($degrees); // IE9 only
392
+ -o-transform: rotateX($degrees);
393
+ transform: rotateX($degrees);
394
+ }
395
+ @mixin rotateY($degrees) {
396
+ -webkit-transform: rotateY($degrees);
397
+ -ms-transform: rotateY($degrees); // IE9 only
398
+ -o-transform: rotateY($degrees);
399
+ transform: rotateY($degrees);
400
+ }
401
+ @mixin perspective($perspective) {
402
+ -webkit-perspective: $perspective;
403
+ -moz-perspective: $perspective;
404
+ perspective: $perspective;
405
+ }
406
+ @mixin perspective-origin($perspective) {
407
+ -webkit-perspective-origin: $perspective;
408
+ -moz-perspective-origin: $perspective;
409
+ perspective-origin: $perspective;
410
+ }
411
+ @mixin transform-origin($origin) {
412
+ -webkit-transform-origin: $origin;
413
+ -moz-transform-origin: $origin;
414
+ -ms-transform-origin: $origin; // IE9 only
415
+ transform-origin: $origin;
416
+ }
417
+
418
+
419
+ // Transitions
420
+
421
+ @mixin transition($transition...) {
422
+ -webkit-transition: $transition;
423
+ -o-transition: $transition;
424
+ transition: $transition;
425
+ }
426
+ @mixin transition-property($transition-property...) {
427
+ -webkit-transition-property: $transition-property;
428
+ transition-property: $transition-property;
429
+ }
430
+ @mixin transition-delay($transition-delay) {
431
+ -webkit-transition-delay: $transition-delay;
432
+ transition-delay: $transition-delay;
433
+ }
434
+ @mixin transition-duration($transition-duration...) {
435
+ -webkit-transition-duration: $transition-duration;
436
+ transition-duration: $transition-duration;
437
+ }
438
+ @mixin transition-timing-function($timing-function) {
439
+ -webkit-transition-timing-function: $timing-function;
440
+ transition-timing-function: $timing-function;
441
+ }
442
+ @mixin transition-transform($transition...) {
443
+ -webkit-transition: -webkit-transform $transition;
444
+ -moz-transition: -moz-transform $transition;
445
+ -o-transition: -o-transform $transition;
446
+ transition: transform $transition;
447
+ }
448
+
449
+
450
+ // User select
451
+ // For selecting text on the page
452
+
453
+ @mixin user-select($select) {
454
+ -webkit-user-select: $select;
455
+ -moz-user-select: $select;
456
+ -ms-user-select: $select; // IE10+
457
+ user-select: $select;
458
+ }
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+ // Gradients
474
+
475
+
476
+
477
+ // Horizontal gradient, from left to right
478
+ //
479
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
480
+ // Color stops are not available in IE9 and below.
481
+ @mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
482
+ background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
483
+ background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
484
+ background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
485
+ background-repeat: repeat-x;
486
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
487
+ }
488
+
489
+ // Vertical gradient, from top to bottom
490
+ //
491
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
492
+ // Color stops are not available in IE9 and below.
493
+ @mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
494
+ background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
495
+ background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
496
+ background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
497
+ background-repeat: repeat-x;
498
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
499
+ }
500
+
501
+ @mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
502
+ background-repeat: repeat-x;
503
+ background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+
504
+ background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12
505
+ background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
506
+ }
507
+ @mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
508
+ background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
509
+ background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
510
+ background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
511
+ background-repeat: no-repeat;
512
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
513
+ }
514
+ @mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
515
+ background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
516
+ background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);
517
+ background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
518
+ background-repeat: no-repeat;
519
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
520
+ }
521
+ @mixin gradient-radial($inner-color: #555, $outer-color: #333) {
522
+ background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
523
+ background-image: radial-gradient(circle, $inner-color, $outer-color);
524
+ background-repeat: no-repeat;
525
+ }
526
+ @mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
527
+ background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
528
+ background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
529
+ background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
530
+ }
531
+
532
+
533
+
534
+
535
+
536
+ // Opacity // Not needed
537
+
538
+ @mixin opacity($opacity) {
539
+ opacity: $opacity;
540
+ // IE8 filter
541
+ $opacity-ie: ($opacity * 100);
542
+ filter: alpha(opacity=$opacity-ie);
543
+ }
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+ // Center-align a block level element
552
+
553
+ @mixin center-block() {
554
+ display: block;
555
+ margin-left: auto;
556
+ margin-right: auto;
557
+ }
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+ // Responsive utilities
568
+
569
+ //
570
+ // More easily include all the states for responsive-utilities.less.
571
+ // [converter] $parent hack
572
+ @mixin responsive-visibility($parent) {
573
+ #{$parent} {
574
+ display: block !important;
575
+ }
576
+ table#{$parent} { display: table !important; }
577
+ tr#{$parent} { display: table-row !important; }
578
+ th#{$parent},
579
+ td#{$parent} { display: table-cell !important; }
580
+ }
581
+
582
+ // [converter] $parent hack
583
+ @mixin responsive-invisibility($parent) {
584
+ #{$parent} {
585
+ display: none !important;
586
+ }
587
+ }
588
+
589
+
590
+ @media screen and (max-width: 479px) {
591
+ .hidden-xxs {
592
+ display: none !important;
593
+ }
594
+ }
595
+ @media screen and (max-width: 479px) {
596
+ .visible-xxs {
597
+ display: block !important;
598
+ }
599
+ }