codeclimate-styles 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/assets/images/cc/styles/icons/add_collaborator_linear.svg +1 -0
- data/assets/images/cc/styles/icons/add_collaborator_solid.svg +1 -0
- data/assets/images/cc/styles/icons/add_linear.svg +1 -0
- data/assets/images/cc/styles/icons/add_solid.svg +1 -0
- data/assets/images/cc/styles/icons/alert_solid.svg +1 -0
- data/assets/images/cc/styles/icons/arrow_linear.svg +1 -0
- data/assets/images/cc/styles/icons/arrow_solid.svg +1 -0
- data/assets/images/cc/styles/icons/badge_linear.svg +1 -0
- data/assets/images/cc/styles/icons/badge_solid.svg +1 -0
- data/assets/images/cc/styles/icons/branch_solid.svg +1 -0
- data/assets/images/cc/styles/icons/checkmark.svg +1 -0
- data/assets/images/cc/styles/icons/code_badge.svg +1 -0
- data/assets/images/cc/styles/icons/docs_linear.svg +1 -0
- data/assets/images/cc/styles/icons/docs_solid.svg +1 -0
- data/assets/images/cc/styles/icons/error.svg +1 -0
- data/assets/images/cc/styles/icons/eye_disabled.svg +1 -0
- data/assets/images/cc/styles/icons/eye_enabled.svg +1 -0
- data/assets/images/cc/styles/icons/file_linear.svg +1 -0
- data/assets/images/cc/styles/icons/files_linear.svg +1 -0
- data/assets/images/cc/styles/icons/files_solid.svg +1 -0
- data/assets/images/cc/styles/icons/folder_linear.svg +1 -0
- data/assets/images/cc/styles/icons/folder_solid.svg +1 -0
- data/assets/images/cc/styles/icons/hourglass_badge.svg +1 -0
- data/assets/images/cc/styles/icons/info_linear.svg +1 -0
- data/assets/images/cc/styles/icons/info_solid.svg +1 -0
- data/assets/images/cc/styles/icons/link_arrow.svg +1 -0
- data/assets/images/cc/styles/icons/lock_linear.svg +1 -0
- data/assets/images/cc/styles/icons/lock_solid.svg +1 -0
- data/assets/images/cc/styles/icons/logout_linear.svg +1 -0
- data/assets/images/cc/styles/icons/new_alert.svg +1 -0
- data/assets/images/cc/styles/icons/nubbin_arrow.svg +1 -0
- data/assets/images/cc/styles/icons/post_entry.svg +1 -0
- data/assets/images/cc/styles/icons/post_entry_unread.svg +1 -0
- data/assets/images/cc/styles/icons/search_linear.svg +1 -0
- data/assets/images/cc/styles/icons/search_solid.svg +1 -0
- data/assets/images/cc/styles/icons/settings_linear.svg +1 -0
- data/assets/images/cc/styles/icons/settings_solid.svg +1 -0
- data/assets/images/cc/styles/icons/small_dismiss_x.svg +1 -0
- data/assets/images/cc/styles/icons/star_linear.svg +1 -0
- data/assets/images/cc/styles/icons/star_solid.svg +1 -0
- data/assets/images/cc/styles/icons/sucess.svg +1 -0
- data/assets/images/cc/styles/icons/sync.svg +1 -0
- data/assets/images/cc/styles/icons/ticket_linear.svg +1 -0
- data/assets/images/cc/styles/icons/trial_icon.svg +1 -0
- data/assets/images/cc/styles/icons/user_settings_linear.svg +1 -0
- data/assets/images/cc/styles/logo/ff_logo_white.svg +1 -0
- data/assets/images/cc/styles/logo/logo.svg +1 -0
- data/assets/images/cc/styles/logo/logo_with_wordmark.svg +1 -0
- data/assets/javascripts/cc/styles/grid_overlay.js +151 -0
- data/assets/stylesheets/cc/_styles.scss +5 -0
- data/assets/stylesheets/cc/styles/_colors.scss +75 -0
- data/assets/stylesheets/cc/styles/_mixins.scss +2 -0
- data/assets/stylesheets/cc/styles/_modules.scss +9 -0
- data/assets/stylesheets/cc/styles/mixins/_ff_mask_image.scss +9 -0
- data/assets/stylesheets/cc/styles/mixins/_transitions.scss +7 -0
- data/assets/stylesheets/cc/styles/modules/_buttons.scss +186 -0
- data/assets/stylesheets/cc/styles/modules/_code.scss +221 -0
- data/assets/stylesheets/cc/styles/modules/_forms.scss +246 -0
- data/assets/stylesheets/cc/styles/modules/_layout.scss +237 -0
- data/assets/stylesheets/cc/styles/modules/_lists.scss +178 -0
- data/assets/stylesheets/cc/styles/modules/_misc.scss +820 -0
- data/assets/stylesheets/cc/styles/modules/_tabs.scss +80 -0
- data/assets/stylesheets/cc/styles/modules/_typography.scss +220 -0
- data/assets/stylesheets/cc/styles/modules/_util.scss +27 -0
- data/assets/stylesheets/vendor/reset.scss +2 -0
- data/codeclimate-styles.gemspec +18 -0
- data/lib/cc/styles/engine.rb +18 -0
- data/lib/cc/styles/version.rb +5 -0
- data/lib/cc/styles.rb +13 -0
- data/lib/codeclimate-styles.rb +3 -0
- metadata +116 -0
@@ -0,0 +1,237 @@
|
|
1
|
+
.container {
|
2
|
+
margin: 0 auto;
|
3
|
+
max-width: 1050px;
|
4
|
+
position: relative;
|
5
|
+
}
|
6
|
+
|
7
|
+
/*doc
|
8
|
+
---
|
9
|
+
title: Table
|
10
|
+
name: table
|
11
|
+
category: layout
|
12
|
+
---
|
13
|
+
|
14
|
+
```slim_example
|
15
|
+
table.table
|
16
|
+
thead
|
17
|
+
tr
|
18
|
+
td Name
|
19
|
+
td Code
|
20
|
+
tbody
|
21
|
+
tr
|
22
|
+
td foo.rb
|
23
|
+
td B
|
24
|
+
```
|
25
|
+
*/
|
26
|
+
|
27
|
+
.table {
|
28
|
+
margin-bottom: 48px;
|
29
|
+
width: 100%;
|
30
|
+
|
31
|
+
thead td {
|
32
|
+
background: $grayscale-pearl;
|
33
|
+
border-bottom: 1px solid darken($grayscale-pearl, 1%);
|
34
|
+
color: $grayscale-storm;
|
35
|
+
font-size: 12px;
|
36
|
+
letter-spacing: .07em;
|
37
|
+
padding: 13px 18px;
|
38
|
+
text-transform: uppercase;
|
39
|
+
}
|
40
|
+
|
41
|
+
thead a {
|
42
|
+
color: $grayscale-storm;
|
43
|
+
|
44
|
+
&:hover {
|
45
|
+
color: $grayscale-deep;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
tbody td {
|
50
|
+
border-bottom: 1px solid darken($grayscale-pearl, 1%);
|
51
|
+
color: $grayscale-storm;
|
52
|
+
font-size: 15px;
|
53
|
+
padding: 18px;
|
54
|
+
}
|
55
|
+
|
56
|
+
td {
|
57
|
+
vertical-align: middle;
|
58
|
+
}
|
59
|
+
|
60
|
+
a {
|
61
|
+
color: $sky-dark;
|
62
|
+
}
|
63
|
+
|
64
|
+
a:hover {
|
65
|
+
color: $sky-light;
|
66
|
+
}
|
67
|
+
|
68
|
+
.active a {
|
69
|
+
color: $grayscale-deep;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
.table--sortable {
|
74
|
+
|
75
|
+
.asc a,
|
76
|
+
.desc a {
|
77
|
+
display: inline-block;
|
78
|
+
padding-right: 14px;
|
79
|
+
position: relative;
|
80
|
+
|
81
|
+
&::before {
|
82
|
+
@include ff-mask-image(image-url("cc/styles/icons/nubbin_arrow.svg"));
|
83
|
+
background-color: $grayscale-deep;
|
84
|
+
bottom: 0;
|
85
|
+
content: "";
|
86
|
+
mask-position: right center;
|
87
|
+
mask-repeat: no-repeat;
|
88
|
+
mask-size: 100% auto;
|
89
|
+
position: absolute;
|
90
|
+
right: 0;
|
91
|
+
top: 0;
|
92
|
+
width: 7px;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
.asc a {
|
97
|
+
&::before {
|
98
|
+
transform: rotate(180deg);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
/*doc
|
104
|
+
---
|
105
|
+
title: Columns
|
106
|
+
name: columns
|
107
|
+
category: layout
|
108
|
+
---
|
109
|
+
|
110
|
+
Creates a 12-column grid using
|
111
|
+
[flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/). Use the
|
112
|
+
`size` modifiers to specify column size (where the width is n/16th of the
|
113
|
+
container). Use the `offset` modifiers to specify a left margin (where the
|
114
|
+
margin is n/16th of the container).
|
115
|
+
|
116
|
+
```slim_example
|
117
|
+
.cols
|
118
|
+
.col.col--size-2 Foo
|
119
|
+
.col.col--size-8.col--offset-2 Bar
|
120
|
+
```
|
121
|
+
|
122
|
+
The bare `.cols` is best for top-level page structure where wrapping is not
|
123
|
+
needed. For wrapping columns, use `.cols--wrap`.
|
124
|
+
|
125
|
+
For percentage-based columns that aren't strictly aligned to the page layout
|
126
|
+
grid, use `.cols--fluid`.
|
127
|
+
*/
|
128
|
+
|
129
|
+
$columns: 12;
|
130
|
+
$col-width: 60px;
|
131
|
+
$gutter: 30px;
|
132
|
+
|
133
|
+
.cols {
|
134
|
+
display: flex;
|
135
|
+
flex-direction: row;
|
136
|
+
}
|
137
|
+
|
138
|
+
.col {
|
139
|
+
box-sizing: border-box;
|
140
|
+
flex: 0 0 auto;
|
141
|
+
margin-left: $gutter;
|
142
|
+
|
143
|
+
&:first-child {
|
144
|
+
margin-left: 0;
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
.col--pad-gutter-l {
|
149
|
+
padding-left: $gutter;
|
150
|
+
}
|
151
|
+
|
152
|
+
.cols--wrap {
|
153
|
+
$half-gutter: $gutter / 2;
|
154
|
+
|
155
|
+
flex-wrap: wrap;
|
156
|
+
margin: 0 (0 - $half-gutter);
|
157
|
+
|
158
|
+
> .col {
|
159
|
+
margin: 0 0 $gutter;
|
160
|
+
padding: 0 $half-gutter;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
.cols--fluid {
|
165
|
+
$half-gutter: .6rem;
|
166
|
+
|
167
|
+
margin: 0 (0 - $half-gutter);
|
168
|
+
|
169
|
+
> .col {
|
170
|
+
margin: 0 0 $half-gutter;
|
171
|
+
padding: 0 $half-gutter;
|
172
|
+
}
|
173
|
+
}
|
174
|
+
|
175
|
+
@for $i from 1 through $columns {
|
176
|
+
$strict-width: ($col-width * $i) + ($gutter * ($i - 1));
|
177
|
+
$percent-width: (100% / $columns) * $i;
|
178
|
+
|
179
|
+
.col--size-#{$i} {
|
180
|
+
flex-basis: $strict-width;
|
181
|
+
max-width: $strict-width;
|
182
|
+
}
|
183
|
+
|
184
|
+
.col--offset-#{$i} {
|
185
|
+
margin-left: (($gutter + $col-width) * $i) + $gutter;
|
186
|
+
}
|
187
|
+
|
188
|
+
.cols--wrap {
|
189
|
+
> .col--size-#{$i} {
|
190
|
+
flex-basis: $strict-width + $gutter;
|
191
|
+
max-width: $strict-width + $gutter;
|
192
|
+
}
|
193
|
+
|
194
|
+
> .col--offset-#{$i} {
|
195
|
+
margin-left: $strict-width + ($gutter / 2);
|
196
|
+
}
|
197
|
+
}
|
198
|
+
|
199
|
+
.cols--fluid {
|
200
|
+
> .col--size-#{$i} {
|
201
|
+
flex-basis: $percent-width;
|
202
|
+
max-width: $percent-width;
|
203
|
+
}
|
204
|
+
|
205
|
+
> .col--offset-#{$i} {
|
206
|
+
margin-left: $percent-width;
|
207
|
+
}
|
208
|
+
}
|
209
|
+
}
|
210
|
+
|
211
|
+
/*doc
|
212
|
+
---
|
213
|
+
title: Expanding columns
|
214
|
+
name: columns_expand
|
215
|
+
category: layout
|
216
|
+
---
|
217
|
+
|
218
|
+
For cases where some content should expand to fill and other content should not.
|
219
|
+
|
220
|
+
```slim_example
|
221
|
+
.cols.cols--expand
|
222
|
+
.col Left
|
223
|
+
.col.col--shrink Right
|
224
|
+
```
|
225
|
+
*/
|
226
|
+
.cols--expand {
|
227
|
+
justify-content: space-between;
|
228
|
+
|
229
|
+
.col {
|
230
|
+
flex: 1 0 auto;
|
231
|
+
}
|
232
|
+
|
233
|
+
.col--shrink {
|
234
|
+
flex: 0 0 auto;
|
235
|
+
}
|
236
|
+
}
|
237
|
+
|
@@ -0,0 +1,178 @@
|
|
1
|
+
/*doc
|
2
|
+
---
|
3
|
+
title: Bulleted list
|
4
|
+
name: bulleted-list
|
5
|
+
category: lists
|
6
|
+
---
|
7
|
+
|
8
|
+
```slim_example
|
9
|
+
ul.list--bulleted
|
10
|
+
li Item 1
|
11
|
+
li item 2
|
12
|
+
```
|
13
|
+
*/
|
14
|
+
.list--bulleted {
|
15
|
+
list-style: disc outside;
|
16
|
+
margin-left: 0;
|
17
|
+
padding-left: 20px;
|
18
|
+
|
19
|
+
li {
|
20
|
+
margin-bottom: 10px;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
/*doc
|
25
|
+
---
|
26
|
+
title: Filter Lists
|
27
|
+
name: filter
|
28
|
+
category: misc
|
29
|
+
---
|
30
|
+
|
31
|
+
```slim_example
|
32
|
+
ul.filter
|
33
|
+
li.active
|
34
|
+
a href="#" JavaScript
|
35
|
+
li
|
36
|
+
a href="#" Ruby
|
37
|
+
li
|
38
|
+
a href="#" PHP
|
39
|
+
li
|
40
|
+
a href="#" Python
|
41
|
+
```
|
42
|
+
|
43
|
+
```slim_example
|
44
|
+
ul.filter.filter--multiselect
|
45
|
+
li.checkbox
|
46
|
+
input type="checkbox" id="javascript"
|
47
|
+
label(for="javascript") JavaScript
|
48
|
+
li.checkbox
|
49
|
+
input type="checkbox" id="ruby"
|
50
|
+
label(for="ruby") Ruby
|
51
|
+
li.checkbox
|
52
|
+
input type="checkbox" id="php"
|
53
|
+
label(for="php") PHP
|
54
|
+
li.checkbox
|
55
|
+
input type="checkbox" id="python"
|
56
|
+
label(for="python") Python
|
57
|
+
```
|
58
|
+
*/
|
59
|
+
|
60
|
+
$filter-shadow-color: rgba(0, 0, 0, .06);
|
61
|
+
|
62
|
+
.filter {
|
63
|
+
border: 0;
|
64
|
+
list-style: none;
|
65
|
+
margin: 0 0 24px -12px;
|
66
|
+
padding: 0;
|
67
|
+
|
68
|
+
> li {
|
69
|
+
font-size: 14px;
|
70
|
+
line-height: 1;
|
71
|
+
|
72
|
+
> a {
|
73
|
+
border-radius: 3px;
|
74
|
+
color: $green;
|
75
|
+
display: block;
|
76
|
+
padding: 6px 12px;
|
77
|
+
text-decoration: none;
|
78
|
+
}
|
79
|
+
|
80
|
+
> a:hover {
|
81
|
+
color: $green-dark;
|
82
|
+
}
|
83
|
+
|
84
|
+
&.active > a {
|
85
|
+
background-color: $green;
|
86
|
+
box-shadow: 0 1px 2px $filter-shadow-color;
|
87
|
+
color: $white;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
}
|
92
|
+
|
93
|
+
.filter--multiselect {
|
94
|
+
> li {
|
95
|
+
display: block;
|
96
|
+
margin: 10px 13px;
|
97
|
+
}
|
98
|
+
|
99
|
+
label {
|
100
|
+
color: $green;
|
101
|
+
display: block;
|
102
|
+
padding-left: 22px;
|
103
|
+
|
104
|
+
&:hover {
|
105
|
+
color: $green-dark;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
/*doc
|
111
|
+
---
|
112
|
+
title: Icon Menu
|
113
|
+
name: icon-menu
|
114
|
+
category: misc
|
115
|
+
---
|
116
|
+
|
117
|
+
```slim_example
|
118
|
+
ul.icon-menu
|
119
|
+
li.icon-menu__item--icon-add: a(href="index.html") Home
|
120
|
+
li.icon-menu__item--icon-add-collaborator: a(href="about.html") About
|
121
|
+
```
|
122
|
+
*/
|
123
|
+
|
124
|
+
.icon-menu {
|
125
|
+
li {
|
126
|
+
margin-bottom: 6px;
|
127
|
+
}
|
128
|
+
|
129
|
+
a {
|
130
|
+
color: $grayscale-smoke;
|
131
|
+
display: inline-block;
|
132
|
+
font-size: 13px;
|
133
|
+
line-height: 17px;
|
134
|
+
padding-left: 26px;
|
135
|
+
position: relative;
|
136
|
+
|
137
|
+
&:hover {
|
138
|
+
color: $green;
|
139
|
+
}
|
140
|
+
|
141
|
+
&::before {
|
142
|
+
background-color: $grayscale-smoke;
|
143
|
+
bottom: 0;
|
144
|
+
content: "";
|
145
|
+
left: 0;
|
146
|
+
mask-position: center left;
|
147
|
+
mask-repeat: no-repeat;
|
148
|
+
mask-size: auto 100%;
|
149
|
+
position: absolute;
|
150
|
+
top: 0;
|
151
|
+
width: 20px;
|
152
|
+
}
|
153
|
+
|
154
|
+
&:hover::before {
|
155
|
+
background-color: $green;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
}
|
160
|
+
|
161
|
+
.icon-menu__item--icon-add {
|
162
|
+
a::before {
|
163
|
+
@include ff-mask-image(image-url("cc/styles/icons/add_linear.svg"));
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
.icon-menu__item--icon-add-collaborator {
|
168
|
+
a::before {
|
169
|
+
@include ff-mask-image(image-url("cc/styles/icons/add_collaborator_linear.svg"));
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
.icon-menu__item--icon-settings {
|
174
|
+
a::before {
|
175
|
+
@include ff-mask-image(image-url("cc/styles/icons/settings_linear.svg"));
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|