flipper-ui 0.12.2 → 0.13.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/docs/ui/README.md +21 -3
  3. data/docs/ui/images/configured-ui.png +0 -0
  4. data/docs/ui/images/environment-banner.png +0 -0
  5. data/docs/ui/images/feature.png +0 -0
  6. data/docs/ui/images/features.png +0 -0
  7. data/lib/flipper/ui/assets/javascripts/application.coffee +3 -0
  8. data/lib/flipper/ui/assets/stylesheets/.DS_Store +0 -0
  9. data/lib/flipper/ui/assets/stylesheets/application.scss +9 -48
  10. data/lib/flipper/ui/assets/stylesheets/bootstrap/_alert.scss +51 -0
  11. data/lib/flipper/ui/assets/stylesheets/bootstrap/_badge.scss +47 -0
  12. data/lib/flipper/ui/assets/stylesheets/bootstrap/_breadcrumb.scss +38 -0
  13. data/lib/flipper/ui/assets/stylesheets/bootstrap/_button-group.scss +166 -0
  14. data/lib/flipper/ui/assets/stylesheets/bootstrap/_buttons.scss +78 -95
  15. data/lib/flipper/ui/assets/stylesheets/bootstrap/_card.scss +270 -0
  16. data/lib/flipper/ui/assets/stylesheets/bootstrap/_carousel.scss +122 -200
  17. data/lib/flipper/ui/assets/stylesheets/bootstrap/_close.scss +12 -14
  18. data/lib/flipper/ui/assets/stylesheets/bootstrap/_code.scss +15 -28
  19. data/lib/flipper/ui/assets/stylesheets/bootstrap/_custom-forms.scss +297 -0
  20. data/lib/flipper/ui/assets/stylesheets/bootstrap/_dropdown.scss +131 -0
  21. data/lib/flipper/ui/assets/stylesheets/bootstrap/_forms.scss +210 -455
  22. data/lib/flipper/ui/assets/stylesheets/bootstrap/_functions.scss +86 -0
  23. data/lib/flipper/ui/assets/stylesheets/bootstrap/_grid.scss +29 -61
  24. data/lib/flipper/ui/assets/stylesheets/bootstrap/_images.scss +42 -0
  25. data/lib/flipper/ui/assets/stylesheets/bootstrap/_input-group.scss +159 -0
  26. data/lib/flipper/ui/assets/stylesheets/bootstrap/_jumbotron.scss +8 -42
  27. data/lib/flipper/ui/assets/stylesheets/bootstrap/_list-group.scss +64 -73
  28. data/lib/flipper/ui/assets/stylesheets/bootstrap/_media.scss +3 -56
  29. data/lib/flipper/ui/assets/stylesheets/bootstrap/_mixins.scss +21 -18
  30. data/lib/flipper/ui/assets/stylesheets/bootstrap/_modal.scss +168 -0
  31. data/lib/flipper/ui/assets/stylesheets/bootstrap/_nav.scss +118 -0
  32. data/lib/flipper/ui/assets/stylesheets/bootstrap/_navbar.scss +203 -554
  33. data/lib/flipper/ui/assets/stylesheets/bootstrap/_pagination.scss +58 -69
  34. data/lib/flipper/ui/assets/stylesheets/bootstrap/_popover.scss +183 -0
  35. data/lib/flipper/ui/assets/stylesheets/bootstrap/_print.scss +71 -54
  36. data/lib/flipper/ui/assets/stylesheets/bootstrap/_progress.scss +33 -0
  37. data/lib/flipper/ui/assets/stylesheets/bootstrap/_reboot.scss +482 -0
  38. data/lib/flipper/ui/assets/stylesheets/bootstrap/_root.scss +19 -0
  39. data/lib/flipper/ui/assets/stylesheets/bootstrap/_tables.scss +109 -163
  40. data/lib/flipper/ui/assets/stylesheets/bootstrap/_tooltip.scss +97 -84
  41. data/lib/flipper/ui/assets/stylesheets/bootstrap/_transitions.scss +36 -0
  42. data/lib/flipper/ui/assets/stylesheets/bootstrap/_type.scss +66 -239
  43. data/lib/flipper/ui/assets/stylesheets/bootstrap/_utilities.scss +14 -55
  44. data/lib/flipper/ui/assets/stylesheets/bootstrap/_variables.scss +726 -698
  45. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-grid.scss +32 -0
  46. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-reboot.scss +12 -0
  47. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap.scss +42 -0
  48. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_alert.scss +13 -0
  49. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_background-variant.scss +14 -4
  50. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_badge.scss +12 -0
  51. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_border-radius.scss +25 -8
  52. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +5 -0
  53. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +123 -0
  54. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_buttons.scss +89 -32
  55. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_caret.scss +65 -0
  56. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_clearfix.scss +3 -18
  57. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_float.scss +11 -0
  58. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_forms.scss +115 -66
  59. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_gradients.scss +14 -27
  60. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +52 -66
  61. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid.scss +37 -107
  62. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_hover.scss +39 -0
  63. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_image.scss +18 -15
  64. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -20
  65. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_lists.scss +7 -0
  66. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -3
  67. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +10 -0
  68. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_pagination.scss +10 -11
  69. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_reset-text.scss +17 -0
  70. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_resize.scss +1 -1
  71. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +35 -0
  72. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_size.scss +1 -5
  73. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_table-row.scss +16 -14
  74. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  75. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-hide.scss +9 -0
  76. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  77. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_transition.scss +9 -0
  78. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_visibility.scss +7 -0
  79. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_align.scss +8 -0
  80. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_background.scss +19 -0
  81. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_borders.scss +59 -0
  82. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_clearfix.scss +3 -0
  83. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_display.scss +38 -0
  84. data/lib/flipper/ui/assets/stylesheets/bootstrap/{_responsive-embed.scss → utilities/_embed.scss} +26 -9
  85. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_flex.scss +46 -0
  86. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_float.scss +9 -0
  87. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_position.scss +36 -0
  88. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +11 -0
  89. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_sizing.scss +12 -0
  90. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_spacing.scss +51 -0
  91. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_text.scss +52 -0
  92. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_visibility.scss +11 -0
  93. data/lib/flipper/ui/configuration.rb +24 -0
  94. data/lib/flipper/ui/decorators/feature.rb +3 -3
  95. data/lib/flipper/ui/public/css/application.css +6237 -2339
  96. data/lib/flipper/ui/public/js/application.js +3 -2
  97. data/lib/flipper/ui/views/add_actor.erb +7 -9
  98. data/lib/flipper/ui/views/add_feature.erb +8 -10
  99. data/lib/flipper/ui/views/add_group.erb +7 -9
  100. data/lib/flipper/ui/views/feature.erb +181 -141
  101. data/lib/flipper/ui/views/feature_creation_disabled.erb +1 -1
  102. data/lib/flipper/ui/views/feature_removal_disabled.erb +1 -1
  103. data/lib/flipper/ui/views/features.erb +12 -15
  104. data/lib/flipper/ui/views/layout.erb +25 -15
  105. data/lib/flipper/version.rb +1 -1
  106. data/spec/flipper/ui/actions/actors_gate_spec.rb +2 -1
  107. data/spec/flipper/ui/actions/add_feature_spec.rb +2 -1
  108. data/spec/flipper/ui/actions/groups_gate_spec.rb +2 -1
  109. data/spec/flipper/ui/configuration_spec.rb +27 -0
  110. data/spec/flipper/ui_spec.rb +24 -0
  111. metadata +58 -64
  112. data/lib/flipper/ui/assets/stylesheets/_bootstrap-compass.scss +0 -9
  113. data/lib/flipper/ui/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  114. data/lib/flipper/ui/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  115. data/lib/flipper/ui/assets/stylesheets/_bootstrap.scss +0 -50
  116. data/lib/flipper/ui/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  117. data/lib/flipper/ui/assets/stylesheets/bootstrap/_badges.scss +0 -68
  118. data/lib/flipper/ui/assets/stylesheets/bootstrap/_breadcrumbs.scss +0 -26
  119. data/lib/flipper/ui/assets/stylesheets/bootstrap/_button-groups.scss +0 -243
  120. data/lib/flipper/ui/assets/stylesheets/bootstrap/_component-animations.scss +0 -37
  121. data/lib/flipper/ui/assets/stylesheets/bootstrap/_dropdowns.scss +0 -214
  122. data/lib/flipper/ui/assets/stylesheets/bootstrap/_glyphicons.scss +0 -305
  123. data/lib/flipper/ui/assets/stylesheets/bootstrap/_input-groups.scss +0 -166
  124. data/lib/flipper/ui/assets/stylesheets/bootstrap/_labels.scss +0 -66
  125. data/lib/flipper/ui/assets/stylesheets/bootstrap/_modals.scss +0 -150
  126. data/lib/flipper/ui/assets/stylesheets/bootstrap/_navs.scss +0 -242
  127. data/lib/flipper/ui/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  128. data/lib/flipper/ui/assets/stylesheets/bootstrap/_pager.scss +0 -54
  129. data/lib/flipper/ui/assets/stylesheets/bootstrap/_panels.scss +0 -265
  130. data/lib/flipper/ui/assets/stylesheets/bootstrap/_popovers.scss +0 -135
  131. data/lib/flipper/ui/assets/stylesheets/bootstrap/_progress-bars.scss +0 -87
  132. data/lib/flipper/ui/assets/stylesheets/bootstrap/_responsive-utilities.scss +0 -177
  133. data/lib/flipper/ui/assets/stylesheets/bootstrap/_scaffolding.scss +0 -162
  134. data/lib/flipper/ui/assets/stylesheets/bootstrap/_theme.scss +0 -273
  135. data/lib/flipper/ui/assets/stylesheets/bootstrap/_thumbnails.scss +0 -38
  136. data/lib/flipper/ui/assets/stylesheets/bootstrap/_wells.scss +0 -29
  137. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -14
  138. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  139. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  140. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  141. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  142. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -8
  143. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -24
  144. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +0 -10
  145. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  146. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -21
  147. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  148. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  149. data/lib/flipper/ui/public/css/primer.css +0 -1
  150. data/lib/flipper/ui/public/css/primer/primer.css +0 -1933
  151. data/lib/flipper/ui/public/css/scss/primer.css +0 -1933
  152. data/lib/flipper/ui/public/js/bootstrap-sprockets.js +0 -12
  153. data/lib/flipper/ui/public/js/bootstrap.js +0 -2317
  154. data/lib/flipper/ui/public/js/bootstrap.min.js +0 -7
  155. data/lib/flipper/ui/public/js/bootstrap/affix.js +0 -162
  156. data/lib/flipper/ui/public/js/bootstrap/alert.js +0 -94
  157. data/lib/flipper/ui/public/js/bootstrap/button.js +0 -116
  158. data/lib/flipper/ui/public/js/bootstrap/carousel.js +0 -237
  159. data/lib/flipper/ui/public/js/bootstrap/collapse.js +0 -211
  160. data/lib/flipper/ui/public/js/bootstrap/dropdown.js +0 -161
  161. data/lib/flipper/ui/public/js/bootstrap/modal.js +0 -339
  162. data/lib/flipper/ui/public/js/bootstrap/popover.js +0 -108
  163. data/lib/flipper/ui/public/js/bootstrap/scrollspy.js +0 -172
  164. data/lib/flipper/ui/public/js/bootstrap/tab.js +0 -153
  165. data/lib/flipper/ui/public/js/bootstrap/tooltip.js +0 -476
  166. data/lib/flipper/ui/public/js/bootstrap/transition.js +0 -59
@@ -1,38 +0,0 @@
1
- //
2
- // Thumbnails
3
- // --------------------------------------------------
4
-
5
-
6
- // Mixin and adjust the regular image class
7
- .thumbnail {
8
- display: block;
9
- padding: $thumbnail-padding;
10
- margin-bottom: $line-height-computed;
11
- line-height: $line-height-base;
12
- background-color: $thumbnail-bg;
13
- border: 1px solid $thumbnail-border;
14
- border-radius: $thumbnail-border-radius;
15
- @include transition(border .2s ease-in-out);
16
-
17
- > img,
18
- a > img {
19
- @include img-responsive;
20
- margin-left: auto;
21
- margin-right: auto;
22
- }
23
-
24
- // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active
25
-
26
- // Image captions
27
- .caption {
28
- padding: $thumbnail-caption-padding;
29
- color: $thumbnail-caption-color;
30
- }
31
- }
32
-
33
- // Add a hover state for linked versions only
34
- a.thumbnail:hover,
35
- a.thumbnail:focus,
36
- a.thumbnail.active {
37
- border-color: $link-color;
38
- }
@@ -1,29 +0,0 @@
1
- //
2
- // Wells
3
- // --------------------------------------------------
4
-
5
-
6
- // Base class
7
- .well {
8
- min-height: 20px;
9
- padding: 19px;
10
- margin-bottom: 20px;
11
- background-color: $well-bg;
12
- border: 1px solid $well-border;
13
- border-radius: $border-radius-base;
14
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15
- blockquote {
16
- border-color: #ddd;
17
- border-color: rgba(0,0,0,.15);
18
- }
19
- }
20
-
21
- // Sizes
22
- .well-lg {
23
- padding: 24px;
24
- border-radius: $border-radius-large;
25
- }
26
- .well-sm {
27
- padding: 9px;
28
- border-radius: $border-radius-small;
29
- }
@@ -1,14 +0,0 @@
1
- // Alerts
2
-
3
- @mixin alert-variant($background, $border, $text-color) {
4
- background-color: $background;
5
- border-color: $border;
6
- color: $text-color;
7
-
8
- hr {
9
- border-top-color: darken($border, 5%);
10
- }
11
- .alert-link {
12
- color: darken($text-color, 10%);
13
- }
14
- }
@@ -1,7 +0,0 @@
1
- // Center-align a block level element
2
-
3
- @mixin center-block() {
4
- display: block;
5
- margin-left: auto;
6
- margin-right: auto;
7
- }
@@ -1,21 +0,0 @@
1
- // CSS image replacement
2
- //
3
- // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
4
- // mixins being reused as classes with the same name, this doesn't hold up. As
5
- // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6
- //
7
- // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8
-
9
- // Deprecated as of v3.0.1 (will be removed in v4)
10
- @mixin hide-text() {
11
- font: 0/0 a;
12
- color: transparent;
13
- text-shadow: none;
14
- background-color: transparent;
15
- border: 0;
16
- }
17
-
18
- // New mixin to use as of v3.0.1
19
- @mixin text-hide() {
20
- @include hide-text;
21
- }
@@ -1,12 +0,0 @@
1
- // Labels
2
-
3
- @mixin label-variant($color) {
4
- background-color: $color;
5
-
6
- &[href] {
7
- &:hover,
8
- &:focus {
9
- background-color: darken($color, 10%);
10
- }
11
- }
12
- }
@@ -1,9 +0,0 @@
1
- // Navbar vertical align
2
- //
3
- // Vertically center elements in the navbar.
4
- // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5
-
6
- @mixin navbar-vertical-align($element-height) {
7
- margin-top: (($navbar-height - $element-height) / 2);
8
- margin-bottom: (($navbar-height - $element-height) / 2);
9
- }
@@ -1,8 +0,0 @@
1
- // Opacity
2
-
3
- @mixin opacity($opacity) {
4
- opacity: $opacity;
5
- // IE8 filter
6
- $opacity-ie: ($opacity * 100);
7
- filter: alpha(opacity=$opacity-ie);
8
- }
@@ -1,24 +0,0 @@
1
- // Panels
2
-
3
- @mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {
4
- border-color: $border;
5
-
6
- & > .panel-heading {
7
- color: $heading-text-color;
8
- background-color: $heading-bg-color;
9
- border-color: $heading-border;
10
-
11
- + .panel-collapse > .panel-body {
12
- border-top-color: $border;
13
- }
14
- .badge {
15
- color: $heading-bg-color;
16
- background-color: $heading-text-color;
17
- }
18
- }
19
- & > .panel-footer {
20
- + .panel-collapse > .panel-body {
21
- border-bottom-color: $border;
22
- }
23
- }
24
- }
@@ -1,10 +0,0 @@
1
- // Progress bars
2
-
3
- @mixin progress-bar-variant($color) {
4
- background-color: $color;
5
-
6
- // Deprecated parent class requirement as of v3.2.0
7
- .progress-striped & {
8
- @include gradient-striped;
9
- }
10
- }
@@ -1,8 +0,0 @@
1
- // Reset filters for IE
2
- //
3
- // When you need to remove a gradient background, do not forget to use this to reset
4
- // the IE filter for IE9 and below.
5
-
6
- @mixin reset-filter() {
7
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
8
- }
@@ -1,21 +0,0 @@
1
- // Responsive utilities
2
-
3
- //
4
- // More easily include all the states for responsive-utilities.less.
5
- // [converter] $parent hack
6
- @mixin responsive-visibility($parent) {
7
- #{$parent} {
8
- display: block !important;
9
- }
10
- table#{$parent} { display: table; }
11
- tr#{$parent} { display: table-row !important; }
12
- th#{$parent},
13
- td#{$parent} { display: table-cell !important; }
14
- }
15
-
16
- // [converter] $parent hack
17
- @mixin responsive-invisibility($parent) {
18
- #{$parent} {
19
- display: none !important;
20
- }
21
- }
@@ -1,9 +0,0 @@
1
- // WebKit-style focus
2
-
3
- @mixin tab-focus() {
4
- // Default
5
- outline: thin dotted;
6
- // WebKit
7
- outline: 5px auto -webkit-focus-ring-color;
8
- outline-offset: -2px;
9
- }
@@ -1,222 +0,0 @@
1
- // Vendor Prefixes
2
- //
3
- // All vendor mixins are deprecated as of v3.2.0 due to the introduction of
4
- // Autoprefixer in our Gruntfile. They will be removed in v4.
5
-
6
- // - Animations
7
- // - Backface visibility
8
- // - Box shadow
9
- // - Box sizing
10
- // - Content columns
11
- // - Hyphens
12
- // - Placeholder text
13
- // - Transformations
14
- // - Transitions
15
- // - User Select
16
-
17
-
18
- // Animations
19
- @mixin animation($animation) {
20
- -webkit-animation: $animation;
21
- -o-animation: $animation;
22
- animation: $animation;
23
- }
24
- @mixin animation-name($name) {
25
- -webkit-animation-name: $name;
26
- animation-name: $name;
27
- }
28
- @mixin animation-duration($duration) {
29
- -webkit-animation-duration: $duration;
30
- animation-duration: $duration;
31
- }
32
- @mixin animation-timing-function($timing-function) {
33
- -webkit-animation-timing-function: $timing-function;
34
- animation-timing-function: $timing-function;
35
- }
36
- @mixin animation-delay($delay) {
37
- -webkit-animation-delay: $delay;
38
- animation-delay: $delay;
39
- }
40
- @mixin animation-iteration-count($iteration-count) {
41
- -webkit-animation-iteration-count: $iteration-count;
42
- animation-iteration-count: $iteration-count;
43
- }
44
- @mixin animation-direction($direction) {
45
- -webkit-animation-direction: $direction;
46
- animation-direction: $direction;
47
- }
48
- @mixin animation-fill-mode($fill-mode) {
49
- -webkit-animation-fill-mode: $fill-mode;
50
- animation-fill-mode: $fill-mode;
51
- }
52
-
53
- // Backface visibility
54
- // Prevent browsers from flickering when using CSS 3D transforms.
55
- // Default value is `visible`, but can be changed to `hidden`
56
-
57
- @mixin backface-visibility($visibility){
58
- -webkit-backface-visibility: $visibility;
59
- -moz-backface-visibility: $visibility;
60
- backface-visibility: $visibility;
61
- }
62
-
63
- // Drop shadows
64
- //
65
- // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
66
- // supported browsers that have box shadow capabilities now support it.
67
-
68
- @mixin box-shadow($shadow...) {
69
- -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
70
- box-shadow: $shadow;
71
- }
72
-
73
- // Box sizing
74
- @mixin box-sizing($boxmodel) {
75
- -webkit-box-sizing: $boxmodel;
76
- -moz-box-sizing: $boxmodel;
77
- box-sizing: $boxmodel;
78
- }
79
-
80
- // CSS3 Content Columns
81
- @mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
82
- -webkit-column-count: $column-count;
83
- -moz-column-count: $column-count;
84
- column-count: $column-count;
85
- -webkit-column-gap: $column-gap;
86
- -moz-column-gap: $column-gap;
87
- column-gap: $column-gap;
88
- }
89
-
90
- // Optional hyphenation
91
- @mixin hyphens($mode: auto) {
92
- word-wrap: break-word;
93
- -webkit-hyphens: $mode;
94
- -moz-hyphens: $mode;
95
- -ms-hyphens: $mode; // IE10+
96
- -o-hyphens: $mode;
97
- hyphens: $mode;
98
- }
99
-
100
- // Placeholder text
101
- @mixin placeholder($color: $input-color-placeholder) {
102
- // Firefox
103
- &::-moz-placeholder {
104
- color: $color;
105
- opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
106
- }
107
- &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
108
- &::-webkit-input-placeholder { color: $color; } // Safari and Chrome
109
- }
110
-
111
- // Transformations
112
- @mixin scale($ratio...) {
113
- -webkit-transform: scale($ratio);
114
- -ms-transform: scale($ratio); // IE9 only
115
- -o-transform: scale($ratio);
116
- transform: scale($ratio);
117
- }
118
-
119
- @mixin scaleX($ratio) {
120
- -webkit-transform: scaleX($ratio);
121
- -ms-transform: scaleX($ratio); // IE9 only
122
- -o-transform: scaleX($ratio);
123
- transform: scaleX($ratio);
124
- }
125
- @mixin scaleY($ratio) {
126
- -webkit-transform: scaleY($ratio);
127
- -ms-transform: scaleY($ratio); // IE9 only
128
- -o-transform: scaleY($ratio);
129
- transform: scaleY($ratio);
130
- }
131
- @mixin skew($x, $y) {
132
- -webkit-transform: skewX($x) skewY($y);
133
- -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
134
- -o-transform: skewX($x) skewY($y);
135
- transform: skewX($x) skewY($y);
136
- }
137
- @mixin translate($x, $y) {
138
- -webkit-transform: translate($x, $y);
139
- -ms-transform: translate($x, $y); // IE9 only
140
- -o-transform: translate($x, $y);
141
- transform: translate($x, $y);
142
- }
143
- @mixin translate3d($x, $y, $z) {
144
- -webkit-transform: translate3d($x, $y, $z);
145
- transform: translate3d($x, $y, $z);
146
- }
147
- @mixin rotate($degrees) {
148
- -webkit-transform: rotate($degrees);
149
- -ms-transform: rotate($degrees); // IE9 only
150
- -o-transform: rotate($degrees);
151
- transform: rotate($degrees);
152
- }
153
- @mixin rotateX($degrees) {
154
- -webkit-transform: rotateX($degrees);
155
- -ms-transform: rotateX($degrees); // IE9 only
156
- -o-transform: rotateX($degrees);
157
- transform: rotateX($degrees);
158
- }
159
- @mixin rotateY($degrees) {
160
- -webkit-transform: rotateY($degrees);
161
- -ms-transform: rotateY($degrees); // IE9 only
162
- -o-transform: rotateY($degrees);
163
- transform: rotateY($degrees);
164
- }
165
- @mixin perspective($perspective) {
166
- -webkit-perspective: $perspective;
167
- -moz-perspective: $perspective;
168
- perspective: $perspective;
169
- }
170
- @mixin perspective-origin($perspective) {
171
- -webkit-perspective-origin: $perspective;
172
- -moz-perspective-origin: $perspective;
173
- perspective-origin: $perspective;
174
- }
175
- @mixin transform-origin($origin) {
176
- -webkit-transform-origin: $origin;
177
- -moz-transform-origin: $origin;
178
- -ms-transform-origin: $origin; // IE9 only
179
- transform-origin: $origin;
180
- }
181
-
182
-
183
- // Transitions
184
-
185
- @mixin transition($transition...) {
186
- -webkit-transition: $transition;
187
- -o-transition: $transition;
188
- transition: $transition;
189
- }
190
- @mixin transition-property($transition-property...) {
191
- -webkit-transition-property: $transition-property;
192
- transition-property: $transition-property;
193
- }
194
- @mixin transition-delay($transition-delay) {
195
- -webkit-transition-delay: $transition-delay;
196
- transition-delay: $transition-delay;
197
- }
198
- @mixin transition-duration($transition-duration...) {
199
- -webkit-transition-duration: $transition-duration;
200
- transition-duration: $transition-duration;
201
- }
202
- @mixin transition-timing-function($timing-function) {
203
- -webkit-transition-timing-function: $timing-function;
204
- transition-timing-function: $timing-function;
205
- }
206
- @mixin transition-transform($transition...) {
207
- -webkit-transition: -webkit-transform $transition;
208
- -moz-transition: -moz-transform $transition;
209
- -o-transition: -o-transform $transition;
210
- transition: transform $transition;
211
- }
212
-
213
-
214
- // User select
215
- // For selecting text on the page
216
-
217
- @mixin user-select($select) {
218
- -webkit-user-select: $select;
219
- -moz-user-select: $select;
220
- -ms-user-select: $select; // IE10+
221
- user-select: $select;
222
- }