flipper-ui 0.16.1 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
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,69 +0,0 @@
1
- // Fixed-width, centered column for site content.
2
- .container {
3
- width: $container-width;
4
- margin-right: auto;
5
- margin-left: auto;
6
- @include clearfix;
7
- }
8
-
9
- // Grid system
10
- //
11
- // Create rows with `.columns` to clear the floated columns and outdent the
12
- // padding on `.column`s with negative margin for alignment.
13
-
14
- .columns {
15
- margin-right: -$grid-gutter;
16
- margin-left: -$grid-gutter;
17
- @include clearfix;
18
- }
19
-
20
- // Base class for every column (requires a column width from below)
21
- .column {
22
- float: left;
23
- padding-right: $grid-gutter;
24
- padding-left: $grid-gutter;
25
- }
26
-
27
- // Column widths
28
- .one-third {
29
- width: 33.333333%;
30
- }
31
-
32
- .two-thirds {
33
- width: 66.666667%;
34
- }
35
-
36
- .one-fourth {
37
- width: 25%;
38
- }
39
-
40
- .one-half {
41
- width: 50%;
42
- }
43
-
44
- .three-fourths {
45
- width: 75%;
46
- }
47
-
48
- .one-fifth {
49
- width: 20%;
50
- }
51
-
52
- .four-fifths {
53
- width: 80%;
54
- }
55
-
56
- // Single column hack
57
- .single-column {
58
- padding-right: $grid-gutter;
59
- padding-left: $grid-gutter;
60
- }
61
-
62
- // Equal width columns via table sorcery.
63
- .table-column {
64
- display: table-cell;
65
- width: 1%;
66
- padding-right: $grid-gutter;
67
- padding-left: $grid-gutter;
68
- vertical-align: top;
69
- }
@@ -1,113 +0,0 @@
1
- // Side menu
2
- //
3
- // A menu on the side of a page, defaults to left side. e.g. github.com/about
4
-
5
- .menu {
6
- margin-bottom: 15px;
7
- list-style: none;
8
- background-color: #fff;
9
- border: 1px solid #d8d8d8;
10
- border-radius: 3px;
11
- }
12
-
13
- .menu-item {
14
- position: relative;
15
- display: block;
16
- padding: 8px 10px;
17
- text-shadow: 0 1px 0 #fff;
18
- border-bottom: 1px solid #eee;
19
-
20
- &:first-child {
21
- border-top: 0;
22
- border-top-right-radius: 2px;
23
- border-top-left-radius: 2px;
24
-
25
- &:before { border-top-left-radius: 2px; }
26
- }
27
-
28
- &:last-child {
29
- border-bottom: 0;
30
- border-bottom-right-radius: 2px;
31
- border-bottom-left-radius: 2px;
32
-
33
- &:before { border-bottom-left-radius: 2px; }
34
- }
35
-
36
- &:hover {
37
- text-decoration: none;
38
- background-color: #f9f9f9;
39
- }
40
-
41
- &.selected {
42
- font-weight: bold;
43
- color: #222;
44
- cursor: default;
45
- background-color: #fff;
46
-
47
- &:before {
48
- position: absolute;
49
- top: 0;
50
- left: 0;
51
- bottom: 0;
52
- width: 2px;
53
- content: "";
54
- background-color: #d26911;
55
- }
56
- }
57
-
58
- .octicon {
59
- margin-right: 5px;
60
- width: 16px;
61
- color: $brand-gray-dark;
62
- text-align: center;
63
- }
64
-
65
- .counter {
66
- float: right;
67
- margin-left: 5px;
68
- }
69
-
70
- .menu-warning {
71
- float: right;
72
- color: #d26911;
73
- }
74
-
75
- .avatar {
76
- float: left;
77
- margin-right: 5px;
78
- }
79
-
80
- &.alert {
81
- .counter {
82
- color: $brand-red;
83
- }
84
- }
85
- }
86
-
87
- .menu-heading {
88
- display: block;
89
- padding: 8px 10px;
90
- margin-top: 0;
91
- margin-bottom: 0;
92
- font-size: 13px;
93
- font-weight: bold;
94
- line-height: 20px;
95
- color: #555;
96
- background-color: #f7f7f7;
97
- border-bottom: 1px solid #eee;
98
-
99
- &:hover {
100
- text-decoration: none;
101
- }
102
-
103
- &:first-child {
104
- border-top-right-radius: 2px;
105
- border-top-left-radius: 2px;
106
- }
107
-
108
- &:last-child {
109
- border-bottom-right-radius: 2px;
110
- border-bottom-left-radius: 2px;
111
- border-bottom: 0;
112
- }
113
- }
@@ -1,53 +0,0 @@
1
- // Clearfix
2
- //
3
- // Clears floats via mixin (avoid using as a class).
4
-
5
- @mixin clearfix {
6
- &:before {
7
- display: table;
8
- content: "";
9
- }
10
-
11
- &:after {
12
- display: table;
13
- clear: both;
14
- content: "";
15
- }
16
- }
17
-
18
- // Creates a linear gradient background, from top to bottom.
19
- //
20
- // $start - The color hex at the top.
21
- // $end - The color hex at the bottom.
22
-
23
- @mixin gradient($start: #fafafa, $end: #eaeaea) {
24
- @warn "Gradient mixin is deprecated.";
25
- background-color: $end;
26
- // FF 3.6+
27
- background-image: -moz-linear-gradient($start, $end);
28
- // Safari 5.1+, Chrome 10+
29
- background-image: -webkit-linear-gradient($start, $end);
30
- background-image: linear-gradient($start, $end);
31
- background-repeat: repeat-x;
32
- }
33
-
34
- // Text hiding for image based text replacement.
35
- // Higher performance than -9999px because it only renders
36
- // the size of the actual text, not a full 9999px box.
37
-
38
- @mixin hide-text() {
39
- overflow: hidden;
40
- text-indent: 100%;
41
- white-space: nowrap;
42
- }
43
-
44
- // Octicon bootstrap
45
- //
46
- // Quickly load the typography requirements for Octicons icon font.
47
-
48
- @mixin icon-bootstrap($size) {
49
- font: normal normal #{$size}/1 "octicons";
50
- display: inline-block;
51
- text-decoration: none;
52
- -webkit-font-smoothing: antialiased;
53
- }
@@ -1,425 +0,0 @@
1
- /*! normalize.css v3.0.1 | MIT License | git.io/normalize */
2
-
3
- /**
4
- * 1. Set default font family to sans-serif.
5
- * 2. Prevent iOS text size adjust after orientation change, without disabling
6
- * user zoom.
7
- */
8
-
9
- html {
10
- font-family: sans-serif; /* 1 */
11
- -ms-text-size-adjust: 100%; /* 2 */
12
- -webkit-text-size-adjust: 100%; /* 2 */
13
- }
14
-
15
- /**
16
- * Remove default margin.
17
- */
18
-
19
- body {
20
- margin: 0;
21
- }
22
-
23
- /* HTML5 display definitions
24
- ========================================================================== */
25
-
26
- /**
27
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
- * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
29
- * Correct `block` display not defined for `main` in IE 11.
30
- */
31
-
32
- article,
33
- aside,
34
- details,
35
- figcaption,
36
- figure,
37
- footer,
38
- header,
39
- hgroup,
40
- main,
41
- nav,
42
- section,
43
- summary {
44
- display: block;
45
- }
46
-
47
- /**
48
- * 1. Correct `inline-block` display not defined in IE 8/9.
49
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
50
- */
51
-
52
- audio,
53
- canvas,
54
- progress,
55
- video {
56
- display: inline-block; /* 1 */
57
- vertical-align: baseline; /* 2 */
58
- }
59
-
60
- /**
61
- * Prevent modern browsers from displaying `audio` without controls.
62
- * Remove excess height in iOS 5 devices.
63
- */
64
-
65
- audio:not([controls]) {
66
- display: none;
67
- height: 0;
68
- }
69
-
70
- /**
71
- * Address `[hidden]` styling not present in IE 8/9/10.
72
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
73
- */
74
-
75
- [hidden],
76
- template {
77
- display: none;
78
- }
79
-
80
- /* Links
81
- ========================================================================== */
82
-
83
- /**
84
- * Remove the gray background color from active links in IE 10.
85
- */
86
-
87
- a {
88
- background: transparent;
89
- }
90
-
91
- /**
92
- * Improve readability when focused and also mouse hovered in all browsers.
93
- */
94
-
95
- a:active,
96
- a:hover {
97
- outline: 0;
98
- }
99
-
100
- /* Text-level semantics
101
- ========================================================================== */
102
-
103
- /**
104
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
105
- */
106
-
107
- abbr[title] {
108
- border-bottom: 1px dotted;
109
- }
110
-
111
- /**
112
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
113
- */
114
-
115
- b,
116
- strong {
117
- font-weight: bold;
118
- }
119
-
120
- /**
121
- * Address styling not present in Safari and Chrome.
122
- */
123
-
124
- dfn {
125
- font-style: italic;
126
- }
127
-
128
- /**
129
- * Address variable `h1` font-size and margin within `section` and `article`
130
- * contexts in Firefox 4+, Safari, and Chrome.
131
- */
132
-
133
- h1 {
134
- font-size: 2em;
135
- margin: 0.67em 0;
136
- }
137
-
138
- /**
139
- * Address styling not present in IE 8/9.
140
- */
141
-
142
- mark {
143
- background: #ff0;
144
- color: #000;
145
- }
146
-
147
- /**
148
- * Address inconsistent and variable font size in all browsers.
149
- */
150
-
151
- small {
152
- font-size: 80%;
153
- }
154
-
155
- /**
156
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
157
- */
158
-
159
- sub,
160
- sup {
161
- font-size: 75%;
162
- line-height: 0;
163
- position: relative;
164
- vertical-align: baseline;
165
- }
166
-
167
- sup {
168
- top: -0.5em;
169
- }
170
-
171
- sub {
172
- bottom: -0.25em;
173
- }
174
-
175
- /* Embedded content
176
- ========================================================================== */
177
-
178
- /**
179
- * Remove border when inside `a` element in IE 8/9/10.
180
- */
181
-
182
- img {
183
- border: 0;
184
- }
185
-
186
- /**
187
- * Correct overflow not hidden in IE 9/10/11.
188
- */
189
-
190
- svg:not(:root) {
191
- overflow: hidden;
192
- }
193
-
194
- /* Grouping content
195
- ========================================================================== */
196
-
197
- /**
198
- * Address margin not present in IE 8/9 and Safari.
199
- */
200
-
201
- figure {
202
- margin: 1em 40px;
203
- }
204
-
205
- /**
206
- * Address differences between Firefox and other browsers.
207
- */
208
-
209
- hr {
210
- -moz-box-sizing: content-box;
211
- box-sizing: content-box;
212
- height: 0;
213
- }
214
-
215
- /**
216
- * Contain overflow in all browsers.
217
- */
218
-
219
- pre {
220
- overflow: auto;
221
- }
222
-
223
- /**
224
- * Address odd `em`-unit font size rendering in all browsers.
225
- */
226
-
227
- code,
228
- kbd,
229
- pre,
230
- samp {
231
- font-family: monospace, monospace;
232
- font-size: 1em;
233
- }
234
-
235
- /* Forms
236
- ========================================================================== */
237
-
238
- /**
239
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
240
- * styling of `select`, unless a `border` property is set.
241
- */
242
-
243
- /**
244
- * 1. Correct color not being inherited.
245
- * Known issue: affects color of disabled elements.
246
- * 2. Correct font properties not being inherited.
247
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
248
- */
249
-
250
- button,
251
- input,
252
- optgroup,
253
- select,
254
- textarea {
255
- color: inherit; /* 1 */
256
- font: inherit; /* 2 */
257
- margin: 0; /* 3 */
258
- }
259
-
260
- /**
261
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
262
- */
263
-
264
- button {
265
- overflow: visible;
266
- }
267
-
268
- /**
269
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
270
- * All other form control elements do not inherit `text-transform` values.
271
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
272
- * Correct `select` style inheritance in Firefox.
273
- */
274
-
275
- button,
276
- select {
277
- text-transform: none;
278
- }
279
-
280
- /**
281
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
282
- * and `video` controls.
283
- * 2. Correct inability to style clickable `input` types in iOS.
284
- * 3. Improve usability and consistency of cursor style between image-type
285
- * `input` and others.
286
- */
287
-
288
- button,
289
- html input[type="button"], /* 1 */
290
- input[type="reset"],
291
- input[type="submit"] {
292
- -webkit-appearance: button; /* 2 */
293
- cursor: pointer; /* 3 */
294
- }
295
-
296
- /**
297
- * Re-set default cursor for disabled elements.
298
- */
299
-
300
- button[disabled],
301
- html input[disabled] {
302
- cursor: default;
303
- }
304
-
305
- /**
306
- * Remove inner padding and border in Firefox 4+.
307
- */
308
-
309
- button::-moz-focus-inner,
310
- input::-moz-focus-inner {
311
- border: 0;
312
- padding: 0;
313
- }
314
-
315
- /**
316
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
317
- * the UA stylesheet.
318
- */
319
-
320
- input {
321
- line-height: normal;
322
- }
323
-
324
- /**
325
- * It's recommended that you don't attempt to style these elements.
326
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
327
- *
328
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
329
- * 2. Remove excess padding in IE 8/9/10.
330
- */
331
-
332
- input[type="checkbox"],
333
- input[type="radio"] {
334
- box-sizing: border-box; /* 1 */
335
- padding: 0; /* 2 */
336
- }
337
-
338
- /**
339
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
340
- * `font-size` values of the `input`, it causes the cursor style of the
341
- * decrement button to change from `default` to `text`.
342
- */
343
-
344
- input[type="number"]::-webkit-inner-spin-button,
345
- input[type="number"]::-webkit-outer-spin-button {
346
- height: auto;
347
- }
348
-
349
- /**
350
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
351
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
352
- * (include `-moz` to future-proof).
353
- */
354
-
355
- input[type="search"] {
356
- -webkit-appearance: textfield; /* 1 */
357
- -moz-box-sizing: content-box;
358
- -webkit-box-sizing: content-box; /* 2 */
359
- box-sizing: content-box;
360
- }
361
-
362
- /**
363
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
364
- * Safari (but not Chrome) clips the cancel button when the search input has
365
- * padding (and `textfield` appearance).
366
- */
367
-
368
- input[type="search"]::-webkit-search-cancel-button,
369
- input[type="search"]::-webkit-search-decoration {
370
- -webkit-appearance: none;
371
- }
372
-
373
- /**
374
- * Define consistent border, margin, and padding.
375
- */
376
-
377
- fieldset {
378
- border: 1px solid #c0c0c0;
379
- margin: 0 2px;
380
- padding: 0.35em 0.625em 0.75em;
381
- }
382
-
383
- /**
384
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
385
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
386
- */
387
-
388
- legend {
389
- border: 0; /* 1 */
390
- padding: 0; /* 2 */
391
- }
392
-
393
- /**
394
- * Remove default vertical scrollbar in IE 8/9/10/11.
395
- */
396
-
397
- textarea {
398
- overflow: auto;
399
- }
400
-
401
- /**
402
- * Don't inherit the `font-weight` (applied by a rule above).
403
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
404
- */
405
-
406
- optgroup {
407
- font-weight: bold;
408
- }
409
-
410
- /* Tables
411
- ========================================================================== */
412
-
413
- /**
414
- * Remove most spacing between table cells.
415
- */
416
-
417
- table {
418
- border-collapse: collapse;
419
- border-spacing: 0;
420
- }
421
-
422
- td,
423
- th {
424
- padding: 0;
425
- }