flipper-ui 0.16.1 → 0.19.0

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 (155) hide show
  1. checksums.yaml +5 -5
  2. data/docs/ui/README.md +34 -24
  3. data/docs/ui/images/banner.png +0 -0
  4. data/docs/ui/images/description.png +0 -0
  5. data/docs/ui/images/feature.png +0 -0
  6. data/docs/ui/images/features.png +0 -0
  7. data/examples/ui/basic.ru +20 -0
  8. data/flipper-ui.gemspec +1 -2
  9. data/lib/flipper/ui.rb +4 -7
  10. data/lib/flipper/ui/action.rb +3 -6
  11. data/lib/flipper/ui/actions/feature.rb +5 -2
  12. data/lib/flipper/ui/actions/features.rb +14 -1
  13. data/lib/flipper/ui/actions/file.rb +1 -1
  14. data/lib/flipper/ui/assets/javascripts/application.coffee +5 -3
  15. data/lib/flipper/ui/configuration.rb +34 -10
  16. data/lib/flipper/ui/decorators/feature.rb +39 -13
  17. data/lib/flipper/ui/public/css/application.css +20 -6493
  18. data/lib/flipper/ui/public/js/application.js +5 -5
  19. data/lib/flipper/ui/util.rb +40 -0
  20. data/lib/flipper/ui/views/add_actor.erb +2 -2
  21. data/lib/flipper/ui/views/add_feature.erb +2 -2
  22. data/lib/flipper/ui/views/add_group.erb +1 -1
  23. data/lib/flipper/ui/views/feature.erb +199 -180
  24. data/lib/flipper/ui/views/features.erb +55 -36
  25. data/lib/flipper/ui/views/layout.erb +4 -14
  26. data/lib/flipper/version.rb +1 -1
  27. data/spec/flipper/ui/actions/actors_gate_spec.rb +9 -13
  28. data/spec/flipper/ui/actions/feature_spec.rb +14 -16
  29. data/spec/flipper/ui/actions/features_spec.rb +49 -14
  30. data/spec/flipper/ui/actions/file_spec.rb +0 -10
  31. data/spec/flipper/ui/actions/groups_gate_spec.rb +0 -6
  32. data/spec/flipper/ui/actions/percentage_of_actors_gate_spec.rb +0 -2
  33. data/spec/flipper/ui/actions/percentage_of_time_gate_spec.rb +0 -2
  34. data/spec/flipper/ui/configuration_spec.rb +69 -34
  35. data/spec/flipper/ui/decorators/feature_spec.rb +2 -32
  36. data/spec/flipper/ui_spec.rb +1 -1
  37. metadata +19 -131
  38. data/docs/ui/images/configured-ui.png +0 -0
  39. data/docs/ui/images/environment-banner.png +0 -0
  40. data/lib/flipper/ui/assets/stylesheets/.DS_Store +0 -0
  41. data/lib/flipper/ui/assets/stylesheets/application.scss +0 -19
  42. data/lib/flipper/ui/assets/stylesheets/bootstrap/_alert.scss +0 -51
  43. data/lib/flipper/ui/assets/stylesheets/bootstrap/_badge.scss +0 -47
  44. data/lib/flipper/ui/assets/stylesheets/bootstrap/_breadcrumb.scss +0 -38
  45. data/lib/flipper/ui/assets/stylesheets/bootstrap/_button-group.scss +0 -166
  46. data/lib/flipper/ui/assets/stylesheets/bootstrap/_buttons.scss +0 -143
  47. data/lib/flipper/ui/assets/stylesheets/bootstrap/_card.scss +0 -270
  48. data/lib/flipper/ui/assets/stylesheets/bootstrap/_carousel.scss +0 -191
  49. data/lib/flipper/ui/assets/stylesheets/bootstrap/_close.scss +0 -34
  50. data/lib/flipper/ui/assets/stylesheets/bootstrap/_code.scss +0 -56
  51. data/lib/flipper/ui/assets/stylesheets/bootstrap/_custom-forms.scss +0 -297
  52. data/lib/flipper/ui/assets/stylesheets/bootstrap/_dropdown.scss +0 -131
  53. data/lib/flipper/ui/assets/stylesheets/bootstrap/_forms.scss +0 -333
  54. data/lib/flipper/ui/assets/stylesheets/bootstrap/_functions.scss +0 -86
  55. data/lib/flipper/ui/assets/stylesheets/bootstrap/_grid.scss +0 -52
  56. data/lib/flipper/ui/assets/stylesheets/bootstrap/_images.scss +0 -42
  57. data/lib/flipper/ui/assets/stylesheets/bootstrap/_input-group.scss +0 -159
  58. data/lib/flipper/ui/assets/stylesheets/bootstrap/_jumbotron.scss +0 -16
  59. data/lib/flipper/ui/assets/stylesheets/bootstrap/_list-group.scss +0 -115
  60. data/lib/flipper/ui/assets/stylesheets/bootstrap/_media.scss +0 -8
  61. data/lib/flipper/ui/assets/stylesheets/bootstrap/_mixins.scss +0 -42
  62. data/lib/flipper/ui/assets/stylesheets/bootstrap/_modal.scss +0 -168
  63. data/lib/flipper/ui/assets/stylesheets/bootstrap/_nav.scss +0 -118
  64. data/lib/flipper/ui/assets/stylesheets/bootstrap/_navbar.scss +0 -311
  65. data/lib/flipper/ui/assets/stylesheets/bootstrap/_pagination.scss +0 -77
  66. data/lib/flipper/ui/assets/stylesheets/bootstrap/_popover.scss +0 -183
  67. data/lib/flipper/ui/assets/stylesheets/bootstrap/_print.scss +0 -124
  68. data/lib/flipper/ui/assets/stylesheets/bootstrap/_progress.scss +0 -33
  69. data/lib/flipper/ui/assets/stylesheets/bootstrap/_reboot.scss +0 -482
  70. data/lib/flipper/ui/assets/stylesheets/bootstrap/_root.scss +0 -19
  71. data/lib/flipper/ui/assets/stylesheets/bootstrap/_tables.scss +0 -180
  72. data/lib/flipper/ui/assets/stylesheets/bootstrap/_tooltip.scss +0 -115
  73. data/lib/flipper/ui/assets/stylesheets/bootstrap/_transitions.scss +0 -36
  74. data/lib/flipper/ui/assets/stylesheets/bootstrap/_type.scss +0 -125
  75. data/lib/flipper/ui/assets/stylesheets/bootstrap/_utilities.scss +0 -14
  76. data/lib/flipper/ui/assets/stylesheets/bootstrap/_variables.scss +0 -894
  77. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-grid.scss +0 -32
  78. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-reboot.scss +0 -12
  79. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap.scss +0 -42
  80. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -13
  81. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
  82. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -12
  83. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -35
  84. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +0 -5
  85. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +0 -123
  86. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -109
  87. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_caret.scss +0 -65
  88. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -7
  89. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_float.scss +0 -11
  90. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -137
  91. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -45
  92. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -67
  93. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -52
  94. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -39
  95. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_image.scss +0 -36
  96. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -21
  97. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_lists.scss +0 -7
  98. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  99. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
  100. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -22
  101. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_reset-text.scss +0 -17
  102. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  103. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -35
  104. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_size.scss +0 -6
  105. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -30
  106. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -14
  107. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -9
  108. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +0 -8
  109. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_transition.scss +0 -9
  110. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -7
  111. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  112. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  113. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -59
  114. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_clearfix.scss +0 -3
  115. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_display.scss +0 -38
  116. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -52
  117. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -46
  118. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_float.scss +0 -9
  119. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_position.scss +0 -36
  120. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  121. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -12
  122. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -51
  123. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_text.scss +0 -52
  124. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -11
  125. data/lib/flipper/ui/assets/stylesheets/primer/.scss-lint.yml +0 -446
  126. data/lib/flipper/ui/assets/stylesheets/primer/_alerts.scss +0 -106
  127. data/lib/flipper/ui/assets/stylesheets/primer/_avatars.scss +0 -36
  128. data/lib/flipper/ui/assets/stylesheets/primer/_base.scss +0 -40
  129. data/lib/flipper/ui/assets/stylesheets/primer/_blankslate.scss +0 -96
  130. data/lib/flipper/ui/assets/stylesheets/primer/_buttons.scss +0 -404
  131. data/lib/flipper/ui/assets/stylesheets/primer/_counter.scss +0 -10
  132. data/lib/flipper/ui/assets/stylesheets/primer/_filter-list.scss +0 -68
  133. data/lib/flipper/ui/assets/stylesheets/primer/_flex-table.scss +0 -20
  134. data/lib/flipper/ui/assets/stylesheets/primer/_forms.scss +0 -756
  135. data/lib/flipper/ui/assets/stylesheets/primer/_layout.scss +0 -69
  136. data/lib/flipper/ui/assets/stylesheets/primer/_menu.scss +0 -113
  137. data/lib/flipper/ui/assets/stylesheets/primer/_mixins.scss +0 -53
  138. data/lib/flipper/ui/assets/stylesheets/primer/_normalize.scss +0 -425
  139. data/lib/flipper/ui/assets/stylesheets/primer/_states.scss +0 -32
  140. data/lib/flipper/ui/assets/stylesheets/primer/_tabnav.scss +0 -65
  141. data/lib/flipper/ui/assets/stylesheets/primer/_tooltips.scss +0 -255
  142. data/lib/flipper/ui/assets/stylesheets/primer/_truncate.scss +0 -27
  143. data/lib/flipper/ui/assets/stylesheets/primer/_type.scss +0 -92
  144. data/lib/flipper/ui/assets/stylesheets/primer/_utility.scss +0 -73
  145. data/lib/flipper/ui/assets/stylesheets/primer/_variables.scss +0 -34
  146. data/lib/flipper/ui/assets/stylesheets/primer/primer.scss +0 -39
  147. data/lib/flipper/ui/eruby.rb +0 -11
  148. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  149. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
  150. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  151. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  152. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  153. data/lib/flipper/ui/public/images/remove.png +0 -0
  154. data/lib/flipper/ui/public/octicons/octicons.less +0 -235
  155. data/lib/flipper/ui/public/octicons/sprockets-octicons.scss +0 -232
@@ -1,77 +0,0 @@
1
- .pagination {
2
- display: flex;
3
- @include list-unstyled();
4
- @include border-radius();
5
- }
6
-
7
- .page-link {
8
- position: relative;
9
- display: block;
10
- padding: $pagination-padding-y $pagination-padding-x;
11
- margin-left: -$pagination-border-width;
12
- line-height: $pagination-line-height;
13
- color: $pagination-color;
14
- background-color: $pagination-bg;
15
- border: $pagination-border-width solid $pagination-border-color;
16
-
17
- &:hover {
18
- color: $pagination-hover-color;
19
- text-decoration: none;
20
- background-color: $pagination-hover-bg;
21
- border-color: $pagination-hover-border-color;
22
- }
23
-
24
- &:focus {
25
- z-index: 2;
26
- outline: 0;
27
- box-shadow: $pagination-focus-box-shadow;
28
- }
29
-
30
- // Opinionated: add "hand" cursor to non-disabled .page-link elements
31
- &:not(:disabled):not(.disabled) {
32
- cursor: pointer;
33
- }
34
- }
35
-
36
- .page-item {
37
- &:first-child {
38
- .page-link {
39
- margin-left: 0;
40
- @include border-left-radius($border-radius);
41
- }
42
- }
43
- &:last-child {
44
- .page-link {
45
- @include border-right-radius($border-radius);
46
- }
47
- }
48
-
49
- &.active .page-link {
50
- z-index: 1;
51
- color: $pagination-active-color;
52
- background-color: $pagination-active-bg;
53
- border-color: $pagination-active-border-color;
54
- }
55
-
56
- &.disabled .page-link {
57
- color: $pagination-disabled-color;
58
- pointer-events: none;
59
- // Opinionated: remove the "hand" cursor set previously for .page-link
60
- cursor: auto;
61
- background-color: $pagination-disabled-bg;
62
- border-color: $pagination-disabled-border-color;
63
- }
64
- }
65
-
66
-
67
- //
68
- // Sizing
69
- //
70
-
71
- .pagination-lg {
72
- @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
73
- }
74
-
75
- .pagination-sm {
76
- @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
77
- }
@@ -1,183 +0,0 @@
1
- .popover {
2
- position: absolute;
3
- top: 0;
4
- left: 0;
5
- z-index: $zindex-popover;
6
- display: block;
7
- max-width: $popover-max-width;
8
- // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
9
- // So reset our font and text properties to avoid inheriting weird values.
10
- @include reset-text();
11
- font-size: $popover-font-size;
12
- // Allow breaking very long words so they don't overflow the popover's bounds
13
- word-wrap: break-word;
14
- background-color: $popover-bg;
15
- background-clip: padding-box;
16
- border: $popover-border-width solid $popover-border-color;
17
- @include border-radius($popover-border-radius);
18
- @include box-shadow($popover-box-shadow);
19
-
20
- .arrow {
21
- position: absolute;
22
- display: block;
23
- width: $popover-arrow-width;
24
- height: $popover-arrow-height;
25
- margin: 0 $border-radius-lg;
26
-
27
- &::before,
28
- &::after {
29
- position: absolute;
30
- display: block;
31
- content: "";
32
- border-color: transparent;
33
- border-style: solid;
34
- }
35
- }
36
- }
37
-
38
- .bs-popover-top {
39
- margin-bottom: $popover-arrow-height;
40
-
41
- .arrow {
42
- bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
43
- }
44
-
45
- .arrow::before,
46
- .arrow::after {
47
- border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
48
- }
49
-
50
- .arrow::before {
51
- bottom: 0;
52
- border-top-color: $popover-arrow-outer-color;
53
- }
54
-
55
- .arrow::after {
56
- bottom: $popover-border-width;
57
- border-top-color: $popover-arrow-color;
58
- }
59
- }
60
-
61
- .bs-popover-right {
62
- margin-left: $popover-arrow-height;
63
-
64
- .arrow {
65
- left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
66
- width: $popover-arrow-height;
67
- height: $popover-arrow-width;
68
- margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
69
- }
70
-
71
- .arrow::before,
72
- .arrow::after {
73
- border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
74
- }
75
-
76
- .arrow::before {
77
- left: 0;
78
- border-right-color: $popover-arrow-outer-color;
79
- }
80
-
81
- .arrow::after {
82
- left: $popover-border-width;
83
- border-right-color: $popover-arrow-color;
84
- }
85
- }
86
-
87
- .bs-popover-bottom {
88
- margin-top: $popover-arrow-height;
89
-
90
- .arrow {
91
- top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
92
- }
93
-
94
- .arrow::before,
95
- .arrow::after {
96
- border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
97
- }
98
-
99
- .arrow::before {
100
- top: 0;
101
- border-bottom-color: $popover-arrow-outer-color;
102
- }
103
-
104
- .arrow::after {
105
- top: $popover-border-width;
106
- border-bottom-color: $popover-arrow-color;
107
- }
108
-
109
- // This will remove the popover-header's border just below the arrow
110
- .popover-header::before {
111
- position: absolute;
112
- top: 0;
113
- left: 50%;
114
- display: block;
115
- width: $popover-arrow-width;
116
- margin-left: ($popover-arrow-width / -2);
117
- content: "";
118
- border-bottom: $popover-border-width solid $popover-header-bg;
119
- }
120
- }
121
-
122
- .bs-popover-left {
123
- margin-right: $popover-arrow-height;
124
-
125
- .arrow {
126
- right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
127
- width: $popover-arrow-height;
128
- height: $popover-arrow-width;
129
- margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
130
- }
131
-
132
- .arrow::before,
133
- .arrow::after {
134
- border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
135
- }
136
-
137
- .arrow::before {
138
- right: 0;
139
- border-left-color: $popover-arrow-outer-color;
140
- }
141
-
142
- .arrow::after {
143
- right: $popover-border-width;
144
- border-left-color: $popover-arrow-color;
145
- }
146
- }
147
-
148
- .bs-popover-auto {
149
- &[x-placement^="top"] {
150
- @extend .bs-popover-top;
151
- }
152
- &[x-placement^="right"] {
153
- @extend .bs-popover-right;
154
- }
155
- &[x-placement^="bottom"] {
156
- @extend .bs-popover-bottom;
157
- }
158
- &[x-placement^="left"] {
159
- @extend .bs-popover-left;
160
- }
161
- }
162
-
163
-
164
- // Offset the popover to account for the popover arrow
165
- .popover-header {
166
- padding: $popover-header-padding-y $popover-header-padding-x;
167
- margin-bottom: 0; // Reset the default from Reboot
168
- font-size: $font-size-base;
169
- color: $popover-header-color;
170
- background-color: $popover-header-bg;
171
- border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
172
- $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});
173
- @include border-top-radius($offset-border-width);
174
-
175
- &:empty {
176
- display: none;
177
- }
178
- }
179
-
180
- .popover-body {
181
- padding: $popover-body-padding-y $popover-body-padding-x;
182
- color: $popover-body-color;
183
- }
@@ -1,124 +0,0 @@
1
- // stylelint-disable declaration-no-important, selector-no-qualifying-type
2
-
3
- // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
4
-
5
- // ==========================================================================
6
- // Print styles.
7
- // Inlined to avoid the additional HTTP request:
8
- // http://www.phpied.com/delay-loading-your-print-css/
9
- // ==========================================================================
10
-
11
- @if $enable-print-styles {
12
- @media print {
13
- *,
14
- *::before,
15
- *::after {
16
- // Bootstrap specific; comment out `color` and `background`
17
- //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
18
- text-shadow: none !important;
19
- //background: transparent !important;
20
- box-shadow: none !important;
21
- }
22
-
23
- a {
24
- &:not(.btn) {
25
- text-decoration: underline;
26
- }
27
- }
28
-
29
- // Bootstrap specific; comment the following selector out
30
- //a[href]::after {
31
- // content: " (" attr(href) ")";
32
- //}
33
-
34
- abbr[title]::after {
35
- content: " (" attr(title) ")";
36
- }
37
-
38
- // Bootstrap specific; comment the following selector out
39
- //
40
- // Don't show links that are fragment identifiers,
41
- // or use the `javascript:` pseudo protocol
42
- //
43
-
44
- //a[href^="#"]::after,
45
- //a[href^="javascript:"]::after {
46
- // content: "";
47
- //}
48
-
49
- pre {
50
- white-space: pre-wrap !important;
51
- }
52
- pre,
53
- blockquote {
54
- border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px
55
- page-break-inside: avoid;
56
- }
57
-
58
- //
59
- // Printing Tables:
60
- // http://css-discuss.incutio.com/wiki/Printing_Tables
61
- //
62
-
63
- thead {
64
- display: table-header-group;
65
- }
66
-
67
- tr,
68
- img {
69
- page-break-inside: avoid;
70
- }
71
-
72
- p,
73
- h2,
74
- h3 {
75
- orphans: 3;
76
- widows: 3;
77
- }
78
-
79
- h2,
80
- h3 {
81
- page-break-after: avoid;
82
- }
83
-
84
- // Bootstrap specific changes start
85
-
86
- // Specify a size and min-width to make printing closer across browsers.
87
- // We don't set margin here because it breaks `size` in Chrome. We also
88
- // don't use `!important` on `size` as it breaks in Chrome.
89
- @page {
90
- size: $print-page-size;
91
- }
92
- body {
93
- min-width: $print-body-min-width !important;
94
- }
95
- .container {
96
- min-width: $print-body-min-width !important;
97
- }
98
-
99
- // Bootstrap components
100
- .navbar {
101
- display: none;
102
- }
103
- .badge {
104
- border: $border-width solid #000;
105
- }
106
-
107
- .table {
108
- border-collapse: collapse !important;
109
-
110
- td,
111
- th {
112
- background-color: #fff !important;
113
- }
114
- }
115
- .table-bordered {
116
- th,
117
- td {
118
- border: 1px solid #ddd !important;
119
- }
120
- }
121
-
122
- // Bootstrap specific changes end
123
- }
124
- }
@@ -1,33 +0,0 @@
1
- @keyframes progress-bar-stripes {
2
- from { background-position: $progress-height 0; }
3
- to { background-position: 0 0; }
4
- }
5
-
6
- .progress {
7
- display: flex;
8
- height: $progress-height;
9
- overflow: hidden; // force rounded corners by cropping it
10
- font-size: $progress-font-size;
11
- background-color: $progress-bg;
12
- @include border-radius($progress-border-radius);
13
- @include box-shadow($progress-box-shadow);
14
- }
15
-
16
- .progress-bar {
17
- display: flex;
18
- flex-direction: column;
19
- justify-content: center;
20
- color: $progress-bar-color;
21
- text-align: center;
22
- background-color: $progress-bar-bg;
23
- @include transition($progress-bar-transition);
24
- }
25
-
26
- .progress-bar-striped {
27
- @include gradient-striped();
28
- background-size: $progress-height $progress-height;
29
- }
30
-
31
- .progress-bar-animated {
32
- animation: progress-bar-stripes $progress-bar-animation-timing;
33
- }
@@ -1,482 +0,0 @@
1
- // stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
2
-
3
- // Reboot
4
- //
5
- // Normalization of HTML elements, manually forked from Normalize.css to remove
6
- // styles targeting irrelevant browsers while applying new styles.
7
- //
8
- // Normalize is licensed MIT. https://github.com/necolas/normalize.css
9
-
10
-
11
- // Document
12
- //
13
- // 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
14
- // 2. Change the default font family in all browsers.
15
- // 3. Correct the line height in all browsers.
16
- // 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
17
- // 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
18
- // we force a non-overlapping, non-auto-hiding scrollbar to counteract.
19
- // 6. Change the default tap highlight to be completely transparent in iOS.
20
-
21
- *,
22
- *::before,
23
- *::after {
24
- box-sizing: border-box; // 1
25
- }
26
-
27
- html {
28
- font-family: sans-serif; // 2
29
- line-height: 1.15; // 3
30
- -webkit-text-size-adjust: 100%; // 4
31
- -ms-text-size-adjust: 100%; // 4
32
- -ms-overflow-style: scrollbar; // 5
33
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6
34
- }
35
-
36
- // IE10+ doesn't honor `<meta name="viewport">` in some cases.
37
- @at-root {
38
- @-ms-viewport {
39
- width: device-width;
40
- }
41
- }
42
-
43
- // stylelint-disable selector-list-comma-newline-after
44
- // Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
45
- article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
46
- display: block;
47
- }
48
- // stylelint-enable selector-list-comma-newline-after
49
-
50
- // Body
51
- //
52
- // 1. Remove the margin in all browsers.
53
- // 2. As a best practice, apply a default `background-color`.
54
- // 3. Set an explicit initial text-align value so that we can later use the
55
- // the `inherit` value on things like `<th>` elements.
56
-
57
- body {
58
- margin: 0; // 1
59
- font-family: $font-family-base;
60
- font-size: $font-size-base;
61
- font-weight: $font-weight-base;
62
- line-height: $line-height-base;
63
- color: $body-color;
64
- text-align: left; // 3
65
- background-color: $body-bg; // 2
66
- }
67
-
68
- // Suppress the focus outline on elements that cannot be accessed via keyboard.
69
- // This prevents an unwanted focus outline from appearing around elements that
70
- // might still respond to pointer events.
71
- //
72
- // Credit: https://github.com/suitcss/base
73
- [tabindex="-1"]:focus {
74
- outline: 0 !important;
75
- }
76
-
77
-
78
- // Content grouping
79
- //
80
- // 1. Add the correct box sizing in Firefox.
81
- // 2. Show the overflow in Edge and IE.
82
-
83
- hr {
84
- box-sizing: content-box; // 1
85
- height: 0; // 1
86
- overflow: visible; // 2
87
- }
88
-
89
-
90
- //
91
- // Typography
92
- //
93
-
94
- // Remove top margins from headings
95
- //
96
- // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
97
- // margin for easier control within type scales as it avoids margin collapsing.
98
- // stylelint-disable selector-list-comma-newline-after
99
- h1, h2, h3, h4, h5, h6 {
100
- margin-top: 0;
101
- margin-bottom: $headings-margin-bottom;
102
- }
103
- // stylelint-enable selector-list-comma-newline-after
104
-
105
- // Reset margins on paragraphs
106
- //
107
- // Similarly, the top margin on `<p>`s get reset. However, we also reset the
108
- // bottom margin to use `rem` units instead of `em`.
109
- p {
110
- margin-top: 0;
111
- margin-bottom: $paragraph-margin-bottom;
112
- }
113
-
114
- // Abbreviations
115
- //
116
- // 1. Remove the bottom border in Firefox 39-.
117
- // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
118
- // 3. Add explicit cursor to indicate changed behavior.
119
- // 4. Duplicate behavior to the data-* attribute for our tooltip plugin
120
-
121
- abbr[title],
122
- abbr[data-original-title] { // 4
123
- text-decoration: underline; // 2
124
- text-decoration: underline dotted; // 2
125
- cursor: help; // 3
126
- border-bottom: 0; // 1
127
- }
128
-
129
- address {
130
- margin-bottom: 1rem;
131
- font-style: normal;
132
- line-height: inherit;
133
- }
134
-
135
- ol,
136
- ul,
137
- dl {
138
- margin-top: 0;
139
- margin-bottom: 1rem;
140
- }
141
-
142
- ol ol,
143
- ul ul,
144
- ol ul,
145
- ul ol {
146
- margin-bottom: 0;
147
- }
148
-
149
- dt {
150
- font-weight: $dt-font-weight;
151
- }
152
-
153
- dd {
154
- margin-bottom: .5rem;
155
- margin-left: 0; // Undo browser default
156
- }
157
-
158
- blockquote {
159
- margin: 0 0 1rem;
160
- }
161
-
162
- dfn {
163
- font-style: italic; // Add the correct font style in Android 4.3-
164
- }
165
-
166
- // stylelint-disable font-weight-notation
167
- b,
168
- strong {
169
- font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari
170
- }
171
- // stylelint-enable font-weight-notation
172
-
173
- small {
174
- font-size: 80%; // Add the correct font size in all browsers
175
- }
176
-
177
- //
178
- // Prevent `sub` and `sup` elements from affecting the line height in
179
- // all browsers.
180
- //
181
-
182
- sub,
183
- sup {
184
- position: relative;
185
- font-size: 75%;
186
- line-height: 0;
187
- vertical-align: baseline;
188
- }
189
-
190
- sub { bottom: -.25em; }
191
- sup { top: -.5em; }
192
-
193
-
194
- //
195
- // Links
196
- //
197
-
198
- a {
199
- color: $link-color;
200
- text-decoration: $link-decoration;
201
- background-color: transparent; // Remove the gray background on active links in IE 10.
202
- -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.
203
-
204
- @include hover {
205
- color: $link-hover-color;
206
- text-decoration: $link-hover-decoration;
207
- }
208
- }
209
-
210
- // And undo these styles for placeholder links/named anchors (without href)
211
- // which have not been made explicitly keyboard-focusable (without tabindex).
212
- // It would be more straightforward to just use a[href] in previous block, but that
213
- // causes specificity issues in many other styles that are too complex to fix.
214
- // See https://github.com/twbs/bootstrap/issues/19402
215
-
216
- a:not([href]):not([tabindex]) {
217
- color: inherit;
218
- text-decoration: none;
219
-
220
- @include hover-focus {
221
- color: inherit;
222
- text-decoration: none;
223
- }
224
-
225
- &:focus {
226
- outline: 0;
227
- }
228
- }
229
-
230
-
231
- //
232
- // Code
233
- //
234
-
235
- // stylelint-disable font-family-no-duplicate-names
236
- pre,
237
- code,
238
- kbd,
239
- samp {
240
- font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.
241
- font-size: 1em; // Correct the odd `em` font sizing in all browsers.
242
- }
243
- // stylelint-enable font-family-no-duplicate-names
244
-
245
- pre {
246
- // Remove browser default top margin
247
- margin-top: 0;
248
- // Reset browser default of `1em` to use `rem`s
249
- margin-bottom: 1rem;
250
- // Don't allow content to break outside
251
- overflow: auto;
252
- // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so
253
- // we force a non-overlapping, non-auto-hiding scrollbar to counteract.
254
- -ms-overflow-style: scrollbar;
255
- }
256
-
257
-
258
- //
259
- // Figures
260
- //
261
-
262
- figure {
263
- // Apply a consistent margin strategy (matches our type styles).
264
- margin: 0 0 1rem;
265
- }
266
-
267
-
268
- //
269
- // Images and content
270
- //
271
-
272
- img {
273
- vertical-align: middle;
274
- border-style: none; // Remove the border on images inside links in IE 10-.
275
- }
276
-
277
- svg:not(:root) {
278
- overflow: hidden; // Hide the overflow in IE
279
- }
280
-
281
-
282
- //
283
- // Tables
284
- //
285
-
286
- table {
287
- border-collapse: collapse; // Prevent double borders
288
- }
289
-
290
- caption {
291
- padding-top: $table-cell-padding;
292
- padding-bottom: $table-cell-padding;
293
- color: $text-muted;
294
- text-align: left;
295
- caption-side: bottom;
296
- }
297
-
298
- th {
299
- // Matches default `<td>` alignment by inheriting from the `<body>`, or the
300
- // closest parent with a set `text-align`.
301
- text-align: inherit;
302
- }
303
-
304
-
305
- //
306
- // Forms
307
- //
308
-
309
- label {
310
- // Allow labels to use `margin` for spacing.
311
- display: inline-block;
312
- margin-bottom: .5rem;
313
- }
314
-
315
- // Remove the default `border-radius` that macOS Chrome adds.
316
- //
317
- // Details at https://github.com/twbs/bootstrap/issues/24093
318
- button {
319
- border-radius: 0;
320
- }
321
-
322
- // Work around a Firefox/IE bug where the transparent `button` background
323
- // results in a loss of the default `button` focus styles.
324
- //
325
- // Credit: https://github.com/suitcss/base/
326
- button:focus {
327
- outline: 1px dotted;
328
- outline: 5px auto -webkit-focus-ring-color;
329
- }
330
-
331
- input,
332
- button,
333
- select,
334
- optgroup,
335
- textarea {
336
- margin: 0; // Remove the margin in Firefox and Safari
337
- font-family: inherit;
338
- font-size: inherit;
339
- line-height: inherit;
340
- }
341
-
342
- button,
343
- input {
344
- overflow: visible; // Show the overflow in Edge
345
- }
346
-
347
- button,
348
- select {
349
- text-transform: none; // Remove the inheritance of text transform in Firefox
350
- }
351
-
352
- // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
353
- // controls in Android 4.
354
- // 2. Correct the inability to style clickable types in iOS and Safari.
355
- button,
356
- html [type="button"], // 1
357
- [type="reset"],
358
- [type="submit"] {
359
- -webkit-appearance: button; // 2
360
- }
361
-
362
- // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
363
- button::-moz-focus-inner,
364
- [type="button"]::-moz-focus-inner,
365
- [type="reset"]::-moz-focus-inner,
366
- [type="submit"]::-moz-focus-inner {
367
- padding: 0;
368
- border-style: none;
369
- }
370
-
371
- input[type="radio"],
372
- input[type="checkbox"] {
373
- box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
374
- padding: 0; // 2. Remove the padding in IE 10-
375
- }
376
-
377
-
378
- input[type="date"],
379
- input[type="time"],
380
- input[type="datetime-local"],
381
- input[type="month"] {
382
- // Remove the default appearance of temporal inputs to avoid a Mobile Safari
383
- // bug where setting a custom line-height prevents text from being vertically
384
- // centered within the input.
385
- // See https://bugs.webkit.org/show_bug.cgi?id=139848
386
- // and https://github.com/twbs/bootstrap/issues/11266
387
- -webkit-appearance: listbox;
388
- }
389
-
390
- textarea {
391
- overflow: auto; // Remove the default vertical scrollbar in IE.
392
- // Textareas should really only resize vertically so they don't break their (horizontal) containers.
393
- resize: vertical;
394
- }
395
-
396
- fieldset {
397
- // Browsers set a default `min-width: min-content;` on fieldsets,
398
- // unlike e.g. `<div>`s, which have `min-width: 0;` by default.
399
- // So we reset that to ensure fieldsets behave more like a standard block element.
400
- // See https://github.com/twbs/bootstrap/issues/12359
401
- // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
402
- min-width: 0;
403
- // Reset the default outline behavior of fieldsets so they don't affect page layout.
404
- padding: 0;
405
- margin: 0;
406
- border: 0;
407
- }
408
-
409
- // 1. Correct the text wrapping in Edge and IE.
410
- // 2. Correct the color inheritance from `fieldset` elements in IE.
411
- legend {
412
- display: block;
413
- width: 100%;
414
- max-width: 100%; // 1
415
- padding: 0;
416
- margin-bottom: .5rem;
417
- font-size: 1.5rem;
418
- line-height: inherit;
419
- color: inherit; // 2
420
- white-space: normal; // 1
421
- }
422
-
423
- progress {
424
- vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
425
- }
426
-
427
- // Correct the cursor style of increment and decrement buttons in Chrome.
428
- [type="number"]::-webkit-inner-spin-button,
429
- [type="number"]::-webkit-outer-spin-button {
430
- height: auto;
431
- }
432
-
433
- [type="search"] {
434
- // This overrides the extra rounded corners on search inputs in iOS so that our
435
- // `.form-control` class can properly style them. Note that this cannot simply
436
- // be added to `.form-control` as it's not specific enough. For details, see
437
- // https://github.com/twbs/bootstrap/issues/11586.
438
- outline-offset: -2px; // 2. Correct the outline style in Safari.
439
- -webkit-appearance: none;
440
- }
441
-
442
- //
443
- // Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
444
- //
445
-
446
- [type="search"]::-webkit-search-cancel-button,
447
- [type="search"]::-webkit-search-decoration {
448
- -webkit-appearance: none;
449
- }
450
-
451
- //
452
- // 1. Correct the inability to style clickable types in iOS and Safari.
453
- // 2. Change font properties to `inherit` in Safari.
454
- //
455
-
456
- ::-webkit-file-upload-button {
457
- font: inherit; // 2
458
- -webkit-appearance: button; // 1
459
- }
460
-
461
- //
462
- // Correct element displays
463
- //
464
-
465
- output {
466
- display: inline-block;
467
- }
468
-
469
- summary {
470
- display: list-item; // Add the correct display in all browsers
471
- cursor: pointer;
472
- }
473
-
474
- template {
475
- display: none; // Add the correct display in IE
476
- }
477
-
478
- // Always hide an element with the `hidden` HTML attribute (from PureCSS).
479
- // Needed for proper display in IE 10-.
480
- [hidden] {
481
- display: none !important;
482
- }