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,11 +1,14 @@
1
+ // stylelint-disable declaration-no-important
2
+
1
3
  // Typography
2
4
 
3
- // [converter] $parent hack
4
5
  @mixin text-emphasis-variant($parent, $color) {
5
6
  #{$parent} {
6
- color: $color;
7
+ color: $color !important;
7
8
  }
8
- a#{$parent}:hover {
9
- color: darken($color, 10%);
9
+ a#{$parent} {
10
+ @include hover-focus {
11
+ color: darken($color, 10%) !important;
12
+ }
10
13
  }
11
14
  }
@@ -0,0 +1,9 @@
1
+ // CSS image replacement
2
+ @mixin text-hide() {
3
+ // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
4
+ font: 0/0 a;
5
+ color: transparent;
6
+ text-shadow: none;
7
+ background-color: transparent;
8
+ border: 0;
9
+ }
@@ -1,7 +1,7 @@
1
- // Text overflow
1
+ // Text truncate
2
2
  // Requires inline-block or block for proper styling
3
3
 
4
- @mixin text-overflow() {
4
+ @mixin text-truncate() {
5
5
  overflow: hidden;
6
6
  text-overflow: ellipsis;
7
7
  white-space: nowrap;
@@ -0,0 +1,9 @@
1
+ @mixin transition($transition...) {
2
+ @if $enable-transitions {
3
+ @if length($transition) == 0 {
4
+ transition: $transition-base;
5
+ } @else {
6
+ transition: $transition;
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ // Visibility
4
+
5
+ @mixin invisible($visibility) {
6
+ visibility: $visibility !important;
7
+ }
@@ -0,0 +1,8 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ .align-baseline { vertical-align: baseline !important; } // Browser default
4
+ .align-top { vertical-align: top !important; }
5
+ .align-middle { vertical-align: middle !important; }
6
+ .align-bottom { vertical-align: bottom !important; }
7
+ .align-text-bottom { vertical-align: text-bottom !important; }
8
+ .align-text-top { vertical-align: text-top !important; }
@@ -0,0 +1,19 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ @each $color, $value in $theme-colors {
4
+ @include bg-variant(".bg-#{$color}", $value);
5
+ }
6
+
7
+ @if $enable-gradients {
8
+ @each $color, $value in $theme-colors {
9
+ @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
10
+ }
11
+ }
12
+
13
+ .bg-white {
14
+ background-color: $white !important;
15
+ }
16
+
17
+ .bg-transparent {
18
+ background-color: transparent !important;
19
+ }
@@ -0,0 +1,59 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ //
4
+ // Border
5
+ //
6
+
7
+ .border { border: $border-width solid $border-color !important; }
8
+ .border-top { border-top: $border-width solid $border-color !important; }
9
+ .border-right { border-right: $border-width solid $border-color !important; }
10
+ .border-bottom { border-bottom: $border-width solid $border-color !important; }
11
+ .border-left { border-left: $border-width solid $border-color !important; }
12
+
13
+ .border-0 { border: 0 !important; }
14
+ .border-top-0 { border-top: 0 !important; }
15
+ .border-right-0 { border-right: 0 !important; }
16
+ .border-bottom-0 { border-bottom: 0 !important; }
17
+ .border-left-0 { border-left: 0 !important; }
18
+
19
+ @each $color, $value in $theme-colors {
20
+ .border-#{$color} {
21
+ border-color: $value !important;
22
+ }
23
+ }
24
+
25
+ .border-white {
26
+ border-color: $white !important;
27
+ }
28
+
29
+ //
30
+ // Border-radius
31
+ //
32
+
33
+ .rounded {
34
+ border-radius: $border-radius !important;
35
+ }
36
+ .rounded-top {
37
+ border-top-left-radius: $border-radius !important;
38
+ border-top-right-radius: $border-radius !important;
39
+ }
40
+ .rounded-right {
41
+ border-top-right-radius: $border-radius !important;
42
+ border-bottom-right-radius: $border-radius !important;
43
+ }
44
+ .rounded-bottom {
45
+ border-bottom-right-radius: $border-radius !important;
46
+ border-bottom-left-radius: $border-radius !important;
47
+ }
48
+ .rounded-left {
49
+ border-top-left-radius: $border-radius !important;
50
+ border-bottom-left-radius: $border-radius !important;
51
+ }
52
+
53
+ .rounded-circle {
54
+ border-radius: 50% !important;
55
+ }
56
+
57
+ .rounded-0 {
58
+ border-radius: 0 !important;
59
+ }
@@ -0,0 +1,3 @@
1
+ .clearfix {
2
+ @include clearfix();
3
+ }
@@ -0,0 +1,38 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ //
4
+ // Utilities for common `display` values
5
+ //
6
+
7
+ @each $breakpoint in map-keys($grid-breakpoints) {
8
+ @include media-breakpoint-up($breakpoint) {
9
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
10
+
11
+ .d#{$infix}-none { display: none !important; }
12
+ .d#{$infix}-inline { display: inline !important; }
13
+ .d#{$infix}-inline-block { display: inline-block !important; }
14
+ .d#{$infix}-block { display: block !important; }
15
+ .d#{$infix}-table { display: table !important; }
16
+ .d#{$infix}-table-row { display: table-row !important; }
17
+ .d#{$infix}-table-cell { display: table-cell !important; }
18
+ .d#{$infix}-flex { display: flex !important; }
19
+ .d#{$infix}-inline-flex { display: inline-flex !important; }
20
+ }
21
+ }
22
+
23
+
24
+ //
25
+ // Utilities for toggling `display` in print
26
+ //
27
+
28
+ @media print {
29
+ .d-print-none { display: none !important; }
30
+ .d-print-inline { display: inline !important; }
31
+ .d-print-inline-block { display: inline-block !important; }
32
+ .d-print-block { display: block !important; }
33
+ .d-print-table { display: table !important; }
34
+ .d-print-table-row { display: table-row !important; }
35
+ .d-print-table-cell { display: table-cell !important; }
36
+ .d-print-flex { display: flex !important; }
37
+ .d-print-inline-flex { display: inline-flex !important; }
38
+ }
@@ -1,14 +1,17 @@
1
- // Embeds responsive
2
- //
3
1
  // Credit: Nicolas Gallagher and SUIT CSS.
4
2
 
5
3
  .embed-responsive {
6
4
  position: relative;
7
5
  display: block;
8
- height: 0;
6
+ width: 100%;
9
7
  padding: 0;
10
8
  overflow: hidden;
11
9
 
10
+ &::before {
11
+ display: block;
12
+ content: "";
13
+ }
14
+
12
15
  .embed-responsive-item,
13
16
  iframe,
14
17
  embed,
@@ -16,20 +19,34 @@
16
19
  video {
17
20
  position: absolute;
18
21
  top: 0;
19
- left: 0;
20
22
  bottom: 0;
21
- height: 100%;
23
+ left: 0;
22
24
  width: 100%;
25
+ height: 100%;
23
26
  border: 0;
24
27
  }
25
28
  }
26
29
 
27
- // Modifier class for 16:9 aspect ratio
30
+ .embed-responsive-21by9 {
31
+ &::before {
32
+ padding-top: percentage(9 / 21);
33
+ }
34
+ }
35
+
28
36
  .embed-responsive-16by9 {
29
- padding-bottom: 56.25%;
37
+ &::before {
38
+ padding-top: percentage(9 / 16);
39
+ }
30
40
  }
31
41
 
32
- // Modifier class for 4:3 aspect ratio
33
42
  .embed-responsive-4by3 {
34
- padding-bottom: 75%;
43
+ &::before {
44
+ padding-top: percentage(3 / 4);
45
+ }
46
+ }
47
+
48
+ .embed-responsive-1by1 {
49
+ &::before {
50
+ padding-top: percentage(1 / 1);
51
+ }
35
52
  }
@@ -0,0 +1,46 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ // Flex variation
4
+ //
5
+ // Custom styles for additional flex alignment options.
6
+
7
+ @each $breakpoint in map-keys($grid-breakpoints) {
8
+ @include media-breakpoint-up($breakpoint) {
9
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
10
+
11
+ .flex#{$infix}-row { flex-direction: row !important; }
12
+ .flex#{$infix}-column { flex-direction: column !important; }
13
+ .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }
14
+ .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }
15
+
16
+ .flex#{$infix}-wrap { flex-wrap: wrap !important; }
17
+ .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
18
+ .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
19
+
20
+ .justify-content#{$infix}-start { justify-content: flex-start !important; }
21
+ .justify-content#{$infix}-end { justify-content: flex-end !important; }
22
+ .justify-content#{$infix}-center { justify-content: center !important; }
23
+ .justify-content#{$infix}-between { justify-content: space-between !important; }
24
+ .justify-content#{$infix}-around { justify-content: space-around !important; }
25
+
26
+ .align-items#{$infix}-start { align-items: flex-start !important; }
27
+ .align-items#{$infix}-end { align-items: flex-end !important; }
28
+ .align-items#{$infix}-center { align-items: center !important; }
29
+ .align-items#{$infix}-baseline { align-items: baseline !important; }
30
+ .align-items#{$infix}-stretch { align-items: stretch !important; }
31
+
32
+ .align-content#{$infix}-start { align-content: flex-start !important; }
33
+ .align-content#{$infix}-end { align-content: flex-end !important; }
34
+ .align-content#{$infix}-center { align-content: center !important; }
35
+ .align-content#{$infix}-between { align-content: space-between !important; }
36
+ .align-content#{$infix}-around { align-content: space-around !important; }
37
+ .align-content#{$infix}-stretch { align-content: stretch !important; }
38
+
39
+ .align-self#{$infix}-auto { align-self: auto !important; }
40
+ .align-self#{$infix}-start { align-self: flex-start !important; }
41
+ .align-self#{$infix}-end { align-self: flex-end !important; }
42
+ .align-self#{$infix}-center { align-self: center !important; }
43
+ .align-self#{$infix}-baseline { align-self: baseline !important; }
44
+ .align-self#{$infix}-stretch { align-self: stretch !important; }
45
+ }
46
+ }
@@ -0,0 +1,9 @@
1
+ @each $breakpoint in map-keys($grid-breakpoints) {
2
+ @include media-breakpoint-up($breakpoint) {
3
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
4
+
5
+ .float#{$infix}-left { @include float-left; }
6
+ .float#{$infix}-right { @include float-right; }
7
+ .float#{$infix}-none { @include float-none; }
8
+ }
9
+ }
@@ -0,0 +1,36 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ // Common values
4
+
5
+ // Sass list not in variables since it's not intended for customization.
6
+ $positions: static, relative, absolute, fixed, sticky;
7
+
8
+ @each $position in $positions {
9
+ .position-#{$position} { position: $position !important; }
10
+ }
11
+
12
+ // Shorthand
13
+
14
+ .fixed-top {
15
+ position: fixed;
16
+ top: 0;
17
+ right: 0;
18
+ left: 0;
19
+ z-index: $zindex-fixed;
20
+ }
21
+
22
+ .fixed-bottom {
23
+ position: fixed;
24
+ right: 0;
25
+ bottom: 0;
26
+ left: 0;
27
+ z-index: $zindex-fixed;
28
+ }
29
+
30
+ .sticky-top {
31
+ @supports (position: sticky) {
32
+ position: sticky;
33
+ top: 0;
34
+ z-index: $zindex-sticky;
35
+ }
36
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Screenreaders
3
+ //
4
+
5
+ .sr-only {
6
+ @include sr-only();
7
+ }
8
+
9
+ .sr-only-focusable {
10
+ @include sr-only-focusable();
11
+ }
@@ -0,0 +1,12 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ // Width and height
4
+
5
+ @each $prop, $abbrev in (width: w, height: h) {
6
+ @each $size, $length in $sizes {
7
+ .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
8
+ }
9
+ }
10
+
11
+ .mw-100 { max-width: 100% !important; }
12
+ .mh-100 { max-height: 100% !important; }
@@ -0,0 +1,51 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ // Margin and Padding
4
+
5
+ @each $breakpoint in map-keys($grid-breakpoints) {
6
+ @include media-breakpoint-up($breakpoint) {
7
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
8
+
9
+ @each $prop, $abbrev in (margin: m, padding: p) {
10
+ @each $size, $length in $spacers {
11
+
12
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
13
+ .#{$abbrev}t#{$infix}-#{$size},
14
+ .#{$abbrev}y#{$infix}-#{$size} {
15
+ #{$prop}-top: $length !important;
16
+ }
17
+ .#{$abbrev}r#{$infix}-#{$size},
18
+ .#{$abbrev}x#{$infix}-#{$size} {
19
+ #{$prop}-right: $length !important;
20
+ }
21
+ .#{$abbrev}b#{$infix}-#{$size},
22
+ .#{$abbrev}y#{$infix}-#{$size} {
23
+ #{$prop}-bottom: $length !important;
24
+ }
25
+ .#{$abbrev}l#{$infix}-#{$size},
26
+ .#{$abbrev}x#{$infix}-#{$size} {
27
+ #{$prop}-left: $length !important;
28
+ }
29
+ }
30
+ }
31
+
32
+ // Some special margin utils
33
+ .m#{$infix}-auto { margin: auto !important; }
34
+ .mt#{$infix}-auto,
35
+ .my#{$infix}-auto {
36
+ margin-top: auto !important;
37
+ }
38
+ .mr#{$infix}-auto,
39
+ .mx#{$infix}-auto {
40
+ margin-right: auto !important;
41
+ }
42
+ .mb#{$infix}-auto,
43
+ .my#{$infix}-auto {
44
+ margin-bottom: auto !important;
45
+ }
46
+ .ml#{$infix}-auto,
47
+ .mx#{$infix}-auto {
48
+ margin-left: auto !important;
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,52 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ //
4
+ // Text
5
+ //
6
+
7
+ // Alignment
8
+
9
+ .text-justify { text-align: justify !important; }
10
+ .text-nowrap { white-space: nowrap !important; }
11
+ .text-truncate { @include text-truncate; }
12
+
13
+ // Responsive alignment
14
+
15
+ @each $breakpoint in map-keys($grid-breakpoints) {
16
+ @include media-breakpoint-up($breakpoint) {
17
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
18
+
19
+ .text#{$infix}-left { text-align: left !important; }
20
+ .text#{$infix}-right { text-align: right !important; }
21
+ .text#{$infix}-center { text-align: center !important; }
22
+ }
23
+ }
24
+
25
+ // Transformation
26
+
27
+ .text-lowercase { text-transform: lowercase !important; }
28
+ .text-uppercase { text-transform: uppercase !important; }
29
+ .text-capitalize { text-transform: capitalize !important; }
30
+
31
+ // Weight and italics
32
+
33
+ .font-weight-light { font-weight: $font-weight-light !important; }
34
+ .font-weight-normal { font-weight: $font-weight-normal !important; }
35
+ .font-weight-bold { font-weight: $font-weight-bold !important; }
36
+ .font-italic { font-style: italic !important; }
37
+
38
+ // Contextual colors
39
+
40
+ .text-white { color: #fff !important; }
41
+
42
+ @each $color, $value in $theme-colors {
43
+ @include text-emphasis-variant(".text-#{$color}", $value);
44
+ }
45
+
46
+ .text-muted { color: $text-muted !important; }
47
+
48
+ // Misc
49
+
50
+ .text-hide {
51
+ @include text-hide();
52
+ }