romo 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/Gemfile +9 -1
- data/README.md +1 -1
- data/assets/css/romo/_mixins.scss +486 -0
- data/assets/css/romo/_vars.scss +159 -0
- data/assets/css/romo/base.scss +454 -0
- data/assets/css/romo/buttons.scss +211 -0
- data/assets/css/romo/datepicker.scss +73 -0
- data/assets/css/romo/dropdown.scss +33 -0
- data/assets/css/romo/forms.scss +193 -0
- data/assets/css/romo/grid.scss +271 -0
- data/assets/css/romo/grid_table.scss +129 -0
- data/assets/css/romo/labels.scss +41 -0
- data/assets/css/romo/lists.scss +37 -0
- data/assets/css/romo/modal.scss +32 -0
- data/assets/css/romo/normalize.scss +425 -0
- data/assets/css/romo/select.scss +89 -0
- data/assets/css/romo/sortable.scss +14 -0
- data/assets/css/romo/table.scss +99 -0
- data/assets/css/romo/tabs.scss +71 -0
- data/assets/css/romo/tooltip.scss +89 -0
- data/assets/css/romo/z_index.scss +26 -0
- data/assets/js/romo/base.js +177 -0
- data/assets/js/romo/datepicker.js +541 -0
- data/assets/js/romo/dropdown.js +309 -0
- data/assets/js/romo/dropdown_form.js +92 -0
- data/assets/js/romo/form.js +182 -0
- data/assets/js/romo/indicator.js +88 -0
- data/assets/js/romo/inline.js +77 -0
- data/assets/js/romo/inline_form.js +86 -0
- data/assets/js/romo/invoke.js +87 -0
- data/assets/js/romo/modal.js +311 -0
- data/assets/js/romo/modal_form.js +101 -0
- data/assets/js/romo/select.js +139 -0
- data/assets/js/romo/select_dropdown.js +325 -0
- data/assets/js/romo/sortable.js +201 -0
- data/assets/js/romo/tooltip.js +258 -0
- data/lib/romo/dassets.rb +64 -0
- data/lib/romo/version.rb +1 -1
- data/lib/romo.rb +9 -0
- data/romo.gemspec +4 -2
- data/test/support/.gitkeep +0 -0
- data/test/system/.gitkeep +0 -0
- data/test/unit/dassets_tests.rb +67 -0
- data/test/unit/romo_tests.rb +21 -0
- metadata +53 -10
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -3,4 +3,12 @@ source "https://rubygems.org"
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
gem 'rake'
|
6
|
-
gem 'pry'
|
6
|
+
gem 'pry', "~> 0.9.0"
|
7
|
+
|
8
|
+
gem 'rack'
|
9
|
+
gem "deas", "~> 0.27"
|
10
|
+
gem "dassets", '~> 0.9'
|
11
|
+
gem "dassets-sass", "~> 0.3"
|
12
|
+
gem "dassets-erb", "~> 0.1"
|
13
|
+
gem "kramdown", "~> 1.4"
|
14
|
+
gem "scmd", "~> 2.3"
|
data/README.md
CHANGED
@@ -0,0 +1,486 @@
|
|
1
|
+
@import 'css/romo/vars';
|
2
|
+
|
3
|
+
/* Globals */
|
4
|
+
/* ------- */
|
5
|
+
|
6
|
+
@mixin border-box($i:"") {
|
7
|
+
-webkit-box-sizing: border-box #{$i};
|
8
|
+
-moz-box-sizing: border-box #{$i};
|
9
|
+
box-sizing: border-box #{$i};
|
10
|
+
}
|
11
|
+
|
12
|
+
@mixin box-shadow($shadow, $i:"") {
|
13
|
+
-webkit-box-shadow: $shadow #{$i};
|
14
|
+
-moz-box-shadow: $shadow #{$i};
|
15
|
+
box-shadow: $shadow #{$i};
|
16
|
+
}
|
17
|
+
|
18
|
+
@mixin opacity($opacity, $i:"") {
|
19
|
+
opacity: $opacity / 100;
|
20
|
+
}
|
21
|
+
|
22
|
+
@mixin clearfix { /* h5bp.com/q */
|
23
|
+
&:before,
|
24
|
+
&:after { display: table; content: ""; line-height: 0; }
|
25
|
+
&:after { clear: both; }
|
26
|
+
}
|
27
|
+
|
28
|
+
@mixin cursor-grab {
|
29
|
+
cursor: grab;
|
30
|
+
cursor: -moz-grab;
|
31
|
+
cursor: -webkit-grab;
|
32
|
+
}
|
33
|
+
|
34
|
+
@mixin cursor-grabbing {
|
35
|
+
cursor: grabbing;
|
36
|
+
cursor: -moz-grabbing;
|
37
|
+
cursor: -webkit-grabbing;
|
38
|
+
}
|
39
|
+
|
40
|
+
@mixin user-select($value) {
|
41
|
+
-webkit-user-select: $value;
|
42
|
+
-moz-user-select: $value;
|
43
|
+
-ms-user-select: $value;
|
44
|
+
user-select: $value;
|
45
|
+
}
|
46
|
+
|
47
|
+
/* flexbox */
|
48
|
+
|
49
|
+
@mixin display-flex($i:"") {
|
50
|
+
display: -webkit-flex #{$i};
|
51
|
+
display: flex #{$i};
|
52
|
+
}
|
53
|
+
|
54
|
+
@mixin display-inline-flex($i:"") {
|
55
|
+
display: -webkit-inline-flex #{$i};
|
56
|
+
display: inline-flex #{$i};
|
57
|
+
}
|
58
|
+
|
59
|
+
@mixin flex-direction($val) {
|
60
|
+
-webkit-flex-direction: $val;
|
61
|
+
flex-direction: $val;
|
62
|
+
}
|
63
|
+
|
64
|
+
@mixin flex-wrap($val) {
|
65
|
+
-webkit-flex-wrap: $val;
|
66
|
+
flex-wrap: $val;
|
67
|
+
}
|
68
|
+
|
69
|
+
@mixin flex-justify-content($val) {
|
70
|
+
-webkit-justify-content: $val;
|
71
|
+
justify-content: $val;
|
72
|
+
}
|
73
|
+
|
74
|
+
@mixin flex-align-items($val) {
|
75
|
+
-webkit-align-items: $val;
|
76
|
+
align-items: $val;
|
77
|
+
}
|
78
|
+
|
79
|
+
@mixin flex-align-self($val) {
|
80
|
+
-webkit-align-self: $val;
|
81
|
+
align-self: $val;
|
82
|
+
}
|
83
|
+
|
84
|
+
@mixin flex-grow($val) {
|
85
|
+
-webkit-flex-grow: $val;
|
86
|
+
flex-grow: $val;
|
87
|
+
}
|
88
|
+
|
89
|
+
@mixin flex-shrink($val) {
|
90
|
+
-webkit-flex-shrink: $val;
|
91
|
+
flex-shrink: $val;
|
92
|
+
}
|
93
|
+
|
94
|
+
/* Typography */
|
95
|
+
/* ---------- */
|
96
|
+
|
97
|
+
/* text weight */
|
98
|
+
|
99
|
+
@mixin font-weight($val, $i:"") { font-weight: $val #{$i}; }
|
100
|
+
|
101
|
+
@mixin font-weight0($i:"") { @include font-weight(300, $i); }
|
102
|
+
@mixin font-weight1($i:"") { @include font-weight(300, $i); }
|
103
|
+
@mixin font-weight2($i:"") { @include font-weight(300, $i); }
|
104
|
+
@mixin font-weight3($i:"") { @include font-weight(200, $i); }
|
105
|
+
|
106
|
+
/* text size */
|
107
|
+
|
108
|
+
@mixin font-size0($i:"") { font-size: $fontSize0 #{$i}; }
|
109
|
+
@mixin font-size1($i:"") { font-size: $fontSize1 #{$i}; }
|
110
|
+
@mixin font-size2($i:"") { font-size: $fontSize2 #{$i}; }
|
111
|
+
@mixin font-size3($i:"") { font-size: $fontSize3 #{$i}; }
|
112
|
+
|
113
|
+
@mixin line-height0($i:"") { line-height: $lineHeight0 #{$i}; }
|
114
|
+
@mixin line-height1($i:"") { line-height: $lineHeight1 #{$i}; }
|
115
|
+
@mixin line-height2($i:"") { line-height: $lineHeight2 #{$i}; }
|
116
|
+
@mixin line-height3($i:"") { line-height: $lineHeight3 #{$i}; }
|
117
|
+
|
118
|
+
@mixin text0($i:"") { @include font-size0($i); @include line-height0($i); }
|
119
|
+
@mixin text1($i:"") { @include font-size1($i); @include line-height1($i); }
|
120
|
+
@mixin text2($i:"") { @include font-size2($i); @include line-height2($i); }
|
121
|
+
@mixin text3($i:"") { @include font-size3($i); @include line-height3($i); }
|
122
|
+
|
123
|
+
/* text alignment */
|
124
|
+
|
125
|
+
@mixin align-left($i:"") { text-align: left #{$i}; }
|
126
|
+
@mixin align-center($i:"") { text-align: center #{$i}; }
|
127
|
+
@mixin align-right($i:"") { text-align: right #{$i}; }
|
128
|
+
|
129
|
+
@mixin align-top($i:"") { vertical-align: top #{$i}; }
|
130
|
+
@mixin align-middle($i:"") { vertical-align: middle #{$i}; }
|
131
|
+
@mixin align-bottom($i:"") { vertical-align: bottom #{$i}; }
|
132
|
+
|
133
|
+
/* color emphasis */
|
134
|
+
|
135
|
+
@mixin bg-base($i:"") { background-color: $baseBackground #{$i}; }
|
136
|
+
@mixin bg-alt($i:"") { background-color: $altBackground #{$i}; }
|
137
|
+
@mixin bg-striped($i:"") { background-color: $stripedBackground #{$i}; }
|
138
|
+
@mixin bg-hover($i:"") { background-color: $backgroundHover #{$i}; }
|
139
|
+
|
140
|
+
@mixin border-base($i:"") { border-color: $baseBorderColor #{$i}; }
|
141
|
+
@mixin border-alt($i:"") { border-color: $altBorderColor #{$i}; }
|
142
|
+
@mixin text-border-base($i:"") { color: $baseBorderColor #{$i}; }
|
143
|
+
@mixin text-border-alt($i:"") { color: $altBorderColor #{$i}; }
|
144
|
+
|
145
|
+
@mixin text-muted($i:"") { color: $mutedText #{$i}; }
|
146
|
+
@mixin text-muted-hover($i:"") { color: $mutedTextHover #{$i}; }
|
147
|
+
@mixin bg-muted($i:"") { background-color: $mutedBackground #{$i}; }
|
148
|
+
@mixin bg-muted-hover($i:"") { background-color: $mutedBackgroundHover #{$i}; }
|
149
|
+
@mixin border-muted($i:"") { border-color: $mutedBorder #{$i}; }
|
150
|
+
|
151
|
+
@mixin text-warning($i:"") { color: $warningText #{$i}; }
|
152
|
+
@mixin text-warning-hover($i:"") { color: $warningTextHover #{$i}; }
|
153
|
+
@mixin bg-warning($i:"") { background-color: $warningBackground #{$i}; }
|
154
|
+
@mixin bg-warning-hover($i:"") { background-color: $warningBackgroundHover #{$i}; }
|
155
|
+
@mixin border-warning($i:"") { border-color: $warningBorder #{$i}; }
|
156
|
+
|
157
|
+
@mixin text-error($i:"") { color: $errorText #{$i}; }
|
158
|
+
@mixin text-error-hover($i:"") { color: $errorTextHover #{$i}; }
|
159
|
+
@mixin bg-error($i:"") { background-color: $errorBackground #{$i}; }
|
160
|
+
@mixin bg-error-hover($i:"") { background-color: $errorBackgroundHover #{$i}; }
|
161
|
+
@mixin border-error($i:"") { border-color: $errorBorder #{$i}; }
|
162
|
+
|
163
|
+
@mixin text-info($i:"") { color: $infoText #{$i}; }
|
164
|
+
@mixin text-info-hover($i:"") { color: $infoTextHover #{$i}; }
|
165
|
+
@mixin bg-info($i:"") { background-color: $infoBackground #{$i}; }
|
166
|
+
@mixin bg-info-hover($i:"") { background-color: $infoBackgroundHover #{$i}; }
|
167
|
+
@mixin border-info($i:"") { border-color: $infoBorder #{$i}; }
|
168
|
+
|
169
|
+
@mixin text-success($i:"") { color: $successText #{$i}; }
|
170
|
+
@mixin text-success-hover($i:"") { color: $successTextHover #{$i}; }
|
171
|
+
@mixin bg-success($i:"") { background-color: $successBackground #{$i}; }
|
172
|
+
@mixin bg-success-hover($i:"") { background-color: $successBackgroundHover #{$i}; }
|
173
|
+
@mixin border-success($i:"") { border-color: $successBorder #{$i}; }
|
174
|
+
|
175
|
+
@mixin text-inverse($i:"") { color: $inverseText #{$i}; }
|
176
|
+
@mixin text-inverse-hover($i:"") { color: $inverseTextHover #{$i}; }
|
177
|
+
@mixin bg-inverse($i:"") { background-color: $inverseBackground #{$i}; }
|
178
|
+
@mixin bg-inverse-hover($i:"") { background-color: $inverseBackgroundHover #{$i}; }
|
179
|
+
@mixin border-inverse($i:"") { border-color: $inverseBorder #{$i}; }
|
180
|
+
|
181
|
+
/* Gradients */
|
182
|
+
/* --------- */
|
183
|
+
|
184
|
+
@mixin gradient-horizontal($start, $end) {
|
185
|
+
background-color: $end;
|
186
|
+
background-image: -moz-linear-gradient(left, $start, $end); // FF 3.6+
|
187
|
+
background-image: -webkit-gradient(linear, 0 0, 100% 0, from($start), to($end)); // Safari 4+, Chrome 2+
|
188
|
+
background-image: -webkit-linear-gradient(left, $start, $end); // Safari 5.1+, Chrome 10+
|
189
|
+
background-image: -o-linear-gradient(left, $start, $end); // Opera 11.10
|
190
|
+
background-image: linear-gradient(to right, $start, $end); // Standard, IE10
|
191
|
+
background-repeat: repeat-x;
|
192
|
+
}
|
193
|
+
@mixin gradient-vertical($start, $end) {
|
194
|
+
background-color: mix($start, $end, 60%);
|
195
|
+
background-image: -moz-linear-gradient(top, $start, $end); // FF 3.6+
|
196
|
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($start), to($end)); // Safari 4+, Chrome 2+
|
197
|
+
background-image: -webkit-linear-gradient(top, $start, $end); // Safari 5.1+, Chrome 10+
|
198
|
+
background-image: -o-linear-gradient(top, $start, $end); // Opera 11.10
|
199
|
+
background-image: linear-gradient(to bottom, $start, $end); // Standard, IE10
|
200
|
+
background-repeat: repeat-x;
|
201
|
+
}
|
202
|
+
|
203
|
+
/* Inputs */
|
204
|
+
/* ------ */
|
205
|
+
|
206
|
+
@mixin input-focus {
|
207
|
+
border-color: $inputFocusColor;
|
208
|
+
outline: 0;
|
209
|
+
@include box-shadow((inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6)));
|
210
|
+
}
|
211
|
+
|
212
|
+
@mixin select-optgroup {
|
213
|
+
font-size: $fontSize0;
|
214
|
+
line-height: $lineHeight0;
|
215
|
+
|
216
|
+
background-color: $inputColor;
|
217
|
+
color: $inputBackground;
|
218
|
+
}
|
219
|
+
|
220
|
+
@mixin select-option {
|
221
|
+
font-size: $baseFontSize;
|
222
|
+
line-height: $baseLineHeight;
|
223
|
+
padding: 0 $spacingSize0;
|
224
|
+
|
225
|
+
background-color: $inputBackground;
|
226
|
+
color: $inputColor;
|
227
|
+
}
|
228
|
+
|
229
|
+
/* Buttons */
|
230
|
+
/* ------- */
|
231
|
+
|
232
|
+
@mixin button-bg($start, $end, $text) {
|
233
|
+
color: $text;
|
234
|
+
border-color: $end $end darken($end, 10%);
|
235
|
+
|
236
|
+
background-color: mix($start, $end, 60%);
|
237
|
+
*background-color: $end; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
238
|
+
|
239
|
+
/* in these cases the gradient won't cover the background, so we override */
|
240
|
+
&:hover, &:focus, &.active, &:active, &.disabled, &[disabled] {
|
241
|
+
color: $text;
|
242
|
+
background-color: $end;
|
243
|
+
*background-color: darken($end, 5%);
|
244
|
+
}
|
245
|
+
}
|
246
|
+
|
247
|
+
@mixin button-pad($lineHeight) {
|
248
|
+
$inputHeight: ($lineHeight / 2) * 3; /* 30px */
|
249
|
+
$btnPaddingTopBottom: ($inputHeight - 2 - $lineHeight) / 2; /* 4px; "2" is for the borders */
|
250
|
+
$btnPaddingLeftRight: $btnPaddingTopBottom * 3; /* 12px; keep the 4px to 12px ratio */
|
251
|
+
padding: $btnPaddingTopBottom $btnPaddingLeftRight;
|
252
|
+
}
|
253
|
+
|
254
|
+
@mixin button-pad0 { @include button-pad($lineHeight0); }
|
255
|
+
@mixin button-pad1 { @include button-pad($lineHeight1); }
|
256
|
+
@mixin button-pad2 { @include button-pad($lineHeight2); }
|
257
|
+
@mixin button-pad3 { @include button-pad($lineHeight3); }
|
258
|
+
|
259
|
+
@mixin button-height($lineHeight) {
|
260
|
+
height: ($lineHeight / 2) * 3; /* 30px */
|
261
|
+
line-height: $lineHeight;
|
262
|
+
}
|
263
|
+
|
264
|
+
@mixin button-height0 { @include button-height($lineHeight0); }
|
265
|
+
@mixin button-height1 { @include button-height($lineHeight1); }
|
266
|
+
@mixin button-height2 { @include button-height($lineHeight2); }
|
267
|
+
@mixin button-height3 { @include button-height($lineHeight3); }
|
268
|
+
|
269
|
+
@mixin button-inline($lineHeight) {
|
270
|
+
line-height: ($lineHeight / 2) * 3; /* 30px */
|
271
|
+
@include align-middle;
|
272
|
+
}
|
273
|
+
|
274
|
+
@mixin button-inline0 { @include button-inline($lineHeight0); }
|
275
|
+
@mixin button-inline1 { @include button-inline($lineHeight1); }
|
276
|
+
@mixin button-inline2 { @include button-inline($lineHeight2); }
|
277
|
+
@mixin button-inline3 { @include button-inline($lineHeight3); }
|
278
|
+
|
279
|
+
/* Labels */
|
280
|
+
/* ------- */
|
281
|
+
|
282
|
+
@mixin label-pad($lineHeight) {
|
283
|
+
$inputHeight: ($lineHeight / 2) * 3; /* 30px */
|
284
|
+
$btnPaddingTopBottom: ($inputHeight - $lineHeight) / 2; /* 5px */
|
285
|
+
$btnPaddingLeftRight: ($btnPaddingTopBottom - 1) * 3; /* 12px; subtract "2" to match btn padding */
|
286
|
+
padding: $btnPaddingTopBottom $btnPaddingLeftRight;
|
287
|
+
}
|
288
|
+
|
289
|
+
@mixin label-pad0 { @include label-pad($lineHeight0); }
|
290
|
+
@mixin label-pad1 { @include label-pad($lineHeight1); }
|
291
|
+
@mixin label-pad2 { @include label-pad($lineHeight2); }
|
292
|
+
@mixin label-pad3 { @include label-pad($lineHeight3); }
|
293
|
+
|
294
|
+
@mixin label-inline($lineHeight) {
|
295
|
+
line-height: ($lineHeight / 2) * 3; /* 30px */
|
296
|
+
@include align-middle;
|
297
|
+
}
|
298
|
+
|
299
|
+
@mixin label-inline0 { @include label-inline($lineHeight0); }
|
300
|
+
@mixin label-inline1 { @include label-inline($lineHeight1); }
|
301
|
+
@mixin label-inline2 { @include label-inline($lineHeight2); }
|
302
|
+
@mixin label-inline3 { @include label-inline($lineHeight3); }
|
303
|
+
|
304
|
+
/* Scaffolding */
|
305
|
+
/* ----------- */
|
306
|
+
|
307
|
+
/* grid helpers */
|
308
|
+
|
309
|
+
@mixin grid-span ($num, $total, $i:"") { width: $num * (100% / $total); }
|
310
|
+
@mixin grid-offset($num, $total, $i:"") { margin-left: $num * (100% / $total); }
|
311
|
+
|
312
|
+
/* list helpers */
|
313
|
+
|
314
|
+
@mixin list-unstyled($i:"") {
|
315
|
+
@include rm-push;
|
316
|
+
@include rm-pad;
|
317
|
+
list-style: none #{$i};
|
318
|
+
}
|
319
|
+
@mixin list-styled($i:"") {
|
320
|
+
@include rm-push;
|
321
|
+
@include rm-pad;
|
322
|
+
list-style-position: outside #{$i};
|
323
|
+
padding-left: ($baseFontSize * $lineHeightToSizeRatio) #{$i};
|
324
|
+
}
|
325
|
+
|
326
|
+
/* border helpers */
|
327
|
+
|
328
|
+
@mixin border-style($val, $i:"") { border-style: $val #{$i}; }
|
329
|
+
@mixin border-style-top($val, $i:"") { border-top-style: $val #{$i}; }
|
330
|
+
@mixin border-style-right($val, $i:"") { border-right-style: $val #{$i}; }
|
331
|
+
@mixin border-style-bottom($val, $i:"") { border-bottom-style: $val #{$i}; }
|
332
|
+
@mixin border-style-left($val, $i:"") { border-left-style: $val #{$i}; }
|
333
|
+
|
334
|
+
@mixin border($size, $i:"") { border-width: $size #{$i}; @include border-style(solid); }
|
335
|
+
@mixin border-top($size, $i:"") { border-top-width: $size #{$i}; @include border-style-top(solid); }
|
336
|
+
@mixin border-right($size, $i:"") { border-right-width: $size #{$i}; @include border-style-right(solid); }
|
337
|
+
@mixin border-bottom($size, $i:"") { border-bottom-width: $size #{$i}; @include border-style-bottom(solid); }
|
338
|
+
@mixin border-left($size, $i:"") { border-left-width: $size #{$i}; @include border-style-left(solid); }
|
339
|
+
|
340
|
+
@mixin border0($i:"") { @include border($borderSize0, $i); }
|
341
|
+
@mixin border0-top($i:"") { @include border-top($borderSize0, $i); }
|
342
|
+
@mixin border0-right($i:"") { @include border-right($borderSize0, $i); }
|
343
|
+
@mixin border0-bottom($i:"") { @include border-bottom($borderSize0, $i); }
|
344
|
+
@mixin border0-left($i:"") { @include border-left($borderSize0, $i); }
|
345
|
+
|
346
|
+
@mixin border1($i:"") { @include border($borderSize1, $i); }
|
347
|
+
@mixin border1-top($i:"") { @include border-top($borderSize1, $i); }
|
348
|
+
@mixin border1-right($i:"") { @include border-right($borderSize1, $i); }
|
349
|
+
@mixin border1-bottom($i:"") { @include border-bottom($borderSize1, $i); }
|
350
|
+
@mixin border1-left($i:"") { @include border-left($borderSize1, $i); }
|
351
|
+
|
352
|
+
@mixin border2($i:"") { @include border($borderSize2, $i); }
|
353
|
+
@mixin border2-top($i:"") { @include border-top($borderSize2, $i); }
|
354
|
+
@mixin border2-right($i:"") { @include border-right($borderSize2, $i); }
|
355
|
+
@mixin border2-bottom($i:"") { @include border-bottom($borderSize2, $i); }
|
356
|
+
@mixin border2-left($i:"") { @include border-left($borderSize2, $i); }
|
357
|
+
|
358
|
+
@mixin rm-border($i:"") { @include border(0, $i); }
|
359
|
+
@mixin rm-border-top($i:"") { @include border-top(0, $i); }
|
360
|
+
@mixin rm-border-right($i:"") { @include border-right(0, $i); }
|
361
|
+
@mixin rm-border-bottom($i:"") { @include border-bottom(0, $i); }
|
362
|
+
@mixin rm-border-left($i:"") { @include border-left(0, $i); }
|
363
|
+
|
364
|
+
@mixin border-radius($radius, $i:"") {
|
365
|
+
-webkit-border-radius: $radius #{$i};
|
366
|
+
-moz-border-radius: $radius #{$i};
|
367
|
+
-ms-border-radius: $radius #{$i};
|
368
|
+
border-radius: $radius #{$i};
|
369
|
+
}
|
370
|
+
|
371
|
+
@mixin border-top-left-radius($radius, $i:"") {
|
372
|
+
-webkit-border-top-left-radius: $radius #{$i};
|
373
|
+
-moz-border-radius-topleft: $radius #{$i};
|
374
|
+
-ms-border-top-left-radius: $radius #{$i};
|
375
|
+
border-top-left-radius: $radius #{$i};
|
376
|
+
}
|
377
|
+
|
378
|
+
@mixin border-top-right-radius($radius, $i:"") {
|
379
|
+
-webkit-border-top-right-radius: $radius #{$i};
|
380
|
+
-moz-border-radius-topright: $radius #{$i};
|
381
|
+
-ms-border-top-right-radius: $radius #{$i};
|
382
|
+
border-top-right-radius: $radius #{$i};
|
383
|
+
}
|
384
|
+
|
385
|
+
@mixin border-bottom-right-radius($radius, $i:"") {
|
386
|
+
-webkit-border-bottom-right-radius: $radius #{$i};
|
387
|
+
-moz-border-radius-bottomright: $radius #{$i};
|
388
|
+
-ms-border-bottom-right-radius: $radius #{$i};
|
389
|
+
border-bottom-right-radius: $radius #{$i};
|
390
|
+
}
|
391
|
+
|
392
|
+
@mixin border-bottom-left-radius($radius, $i:"") {
|
393
|
+
-webkit-border-bottom-left-radius: $radius #{$i};
|
394
|
+
-moz-border-radius-bottomleft: $radius #{$i};
|
395
|
+
-ms-border-bottom-left-radius: $radius #{$i};
|
396
|
+
border-bottom-left-radius: $radius #{$i};
|
397
|
+
}
|
398
|
+
|
399
|
+
@mixin border0-radius($i:"") { @include border-radius($borderRadius0, $i); }
|
400
|
+
@mixin border1-radius($i:"") { @include border-radius($borderRadius1, $i); }
|
401
|
+
@mixin border2-radius($i:"") { @include border-radius($borderRadius2, $i); }
|
402
|
+
@mixin rm-border-radius($i:"") { @include border-radius(0px, $i); }
|
403
|
+
|
404
|
+
@mixin border0-top-left-radius($i:"") { @include border-top-left-radius($borderRadius0, $i); }
|
405
|
+
@mixin border1-top-left-radius($i:"") { @include border-top-left-radius($borderRadius1, $i); }
|
406
|
+
@mixin border2-top-left-radius($i:"") { @include border-top-left-radius($borderRadius2, $i); }
|
407
|
+
@mixin rm-border-top-left-radius($i:"") { @include border-top-left-radius(0px, $i); }
|
408
|
+
|
409
|
+
@mixin border0-top-right-radius($i:"") { @include border-top-right-radius($borderRadius0, $i); }
|
410
|
+
@mixin border1-top-right-radius($i:"") { @include border-top-right-radius($borderRadius1, $i); }
|
411
|
+
@mixin border2-top-right-radius($i:"") { @include border-top-right-radius($borderRadius2, $i); }
|
412
|
+
@mixin rm-border-top-right-radius($i:"") { @include border-top-right-radius(0px, $i); }
|
413
|
+
|
414
|
+
@mixin border0-bottom-right-radius($i:"") { @include border-bottom-right-radius($borderRadius0, $i); }
|
415
|
+
@mixin border1-bottom-right-radius($i:"") { @include border-bottom-right-radius($borderRadius1, $i); }
|
416
|
+
@mixin border2-bottom-right-radius($i:"") { @include border-bottom-right-radius($borderRadius2, $i); }
|
417
|
+
@mixin rm-border-bottom-right-radius($i:"") { @include border-bottom-right-radius(0px, $i); }
|
418
|
+
|
419
|
+
@mixin border0-bottom-left-radius($i:"") { @include border-bottom-left-radius($borderRadius0, $i); }
|
420
|
+
@mixin border1-bottom-left-radius($i:"") { @include border-bottom-left-radius($borderRadius1, $i); }
|
421
|
+
@mixin border2-bottom-left-radius($i:"") { @include border-bottom-left-radius($borderRadius2, $i); }
|
422
|
+
@mixin rm-border-bottom-left-radius($i:"") { @include border-bottom-left-radius(0px, $i); }
|
423
|
+
|
424
|
+
/* spacing */
|
425
|
+
|
426
|
+
@mixin pad($size, $i:"") { padding: $size #{$i}; }
|
427
|
+
@mixin pad-top($size, $i:"") { padding-top: $size #{$i}; }
|
428
|
+
@mixin pad-right($size, $i:"") { padding-right: $size #{$i}; }
|
429
|
+
@mixin pad-bottom($size, $i:"") { padding-bottom: $size #{$i}; }
|
430
|
+
@mixin pad-left($size, $i:"") { padding-left: $size #{$i}; }
|
431
|
+
|
432
|
+
@mixin pad0($i:"") { @include pad($spacingSize0, $i); }
|
433
|
+
@mixin pad1($i:"") { @include pad($spacingSize1, $i); }
|
434
|
+
@mixin pad2($i:"") { @include pad($spacingSize2, $i); }
|
435
|
+
@mixin rm-pad($i:"") { @include pad(0, $i); }
|
436
|
+
|
437
|
+
@mixin pad0-top($i:"") { @include pad-top($spacingSize0, $i); }
|
438
|
+
@mixin pad1-top($i:"") { @include pad-top($spacingSize1, $i); }
|
439
|
+
@mixin pad2-top($i:"") { @include pad-top($spacingSize2, $i); }
|
440
|
+
@mixin rm-pad-top($i:"") { @include pad-top(0, $i); }
|
441
|
+
|
442
|
+
@mixin pad0-right($i:"") { @include pad-right($spacingSize0, $i); }
|
443
|
+
@mixin pad1-right($i:"") { @include pad-right($spacingSize1, $i); }
|
444
|
+
@mixin pad2-right($i:"") { @include pad-right($spacingSize2, $i); }
|
445
|
+
@mixin rm-pad-right($i:"") { @include pad-right(0, $i); }
|
446
|
+
|
447
|
+
@mixin pad0-bottom($i:"") { @include pad-bottom($spacingSize0, $i); }
|
448
|
+
@mixin pad1-bottom($i:"") { @include pad-bottom($spacingSize1, $i); }
|
449
|
+
@mixin pad2-bottom($i:"") { @include pad-bottom($spacingSize2, $i); }
|
450
|
+
@mixin rm-pad-bottom($i:"") { @include pad-bottom(0, $i); }
|
451
|
+
|
452
|
+
@mixin pad0-left($i:"") { @include pad-left($spacingSize0, $i); }
|
453
|
+
@mixin pad1-left($i:"") { @include pad-left($spacingSize1, $i); }
|
454
|
+
@mixin pad2-left($i:"") { @include pad-left($spacingSize2, $i); }
|
455
|
+
@mixin rm-pad-left($i:"") { @include pad-left(0, $i); }
|
456
|
+
|
457
|
+
@mixin push($size, $i:"") { margin: $size #{$i}; }
|
458
|
+
@mixin push-top($size, $i:"") { margin-top: $size #{$i}; }
|
459
|
+
@mixin push-right($size, $i:"") { margin-right: $size #{$i}; }
|
460
|
+
@mixin push-bottom($size, $i:"") { margin-bottom: $size #{$i}; }
|
461
|
+
@mixin push-left($size, $i:"") { margin-left: $size #{$i}; }
|
462
|
+
|
463
|
+
@mixin push0($i:"") { @include push($spacingSize0, $i); }
|
464
|
+
@mixin push1($i:"") { @include push($spacingSize1, $i); }
|
465
|
+
@mixin push2($i:"") { @include push($spacingSize2, $i); }
|
466
|
+
@mixin rm-push($i:"") { @include push(0, $i); }
|
467
|
+
|
468
|
+
@mixin push0-top($i:"") { @include push-top($spacingSize0, $i); }
|
469
|
+
@mixin push1-top($i:"") { @include push-top($spacingSize1, $i); }
|
470
|
+
@mixin push2-top($i:"") { @include push-top($spacingSize2, $i); }
|
471
|
+
@mixin rm-push-top($i:"") { @include push-top(0, $i); }
|
472
|
+
|
473
|
+
@mixin push0-right($i:"") { @include push-right($spacingSize0, $i); }
|
474
|
+
@mixin push1-right($i:"") { @include push-right($spacingSize1, $i); }
|
475
|
+
@mixin push2-right($i:"") { @include push-right($spacingSize2, $i); }
|
476
|
+
@mixin rm-push-right($i:"") { @include push-right(0, $i); }
|
477
|
+
|
478
|
+
@mixin push0-bottom($i:"") { @include push-bottom($spacingSize0, $i); }
|
479
|
+
@mixin push1-bottom($i:"") { @include push-bottom($spacingSize1, $i); }
|
480
|
+
@mixin push2-bottom($i:"") { @include push-bottom($spacingSize2, $i); }
|
481
|
+
@mixin rm-push-bottom($i:"") { @include push-bottom(0, $i); }
|
482
|
+
|
483
|
+
@mixin push0-left($i:"") { @include push-left($spacingSize0, $i); }
|
484
|
+
@mixin push1-left($i:"") { @include push-left($spacingSize1, $i); }
|
485
|
+
@mixin push2-left($i:"") { @include push-left($spacingSize2, $i); }
|
486
|
+
@mixin rm-push-left($i:"") { @include push-left(0, $i); }
|
@@ -0,0 +1,159 @@
|
|
1
|
+
/* Base */
|
2
|
+
/* ---- */
|
3
|
+
|
4
|
+
$lineHeightToSizeRatio: 20/14;
|
5
|
+
|
6
|
+
$baseFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
7
|
+
$baseFontSize: 14px;
|
8
|
+
$baseLineHeight: $baseFontSize * $lineHeightToSizeRatio;
|
9
|
+
|
10
|
+
$fontSize0: ($baseFontSize * 0.85); /* ~12px */
|
11
|
+
$fontSize1: $baseFontSize; /* 14px */
|
12
|
+
$fontSize2: ($baseFontSize * 1.25); /* ~18px */
|
13
|
+
$fontSize3: ($baseFontSize * 1.75); /* ~24px */
|
14
|
+
|
15
|
+
$lineHeight0: ($baseLineHeight * 0.75); /* 15px */;
|
16
|
+
$lineHeight1: $baseLineHeight; /* 20px */
|
17
|
+
$lineHeight2: ($baseLineHeight * 1.25); /* 25px */
|
18
|
+
$lineHeight3: ($baseLineHeight * 1.50); /* 30px */
|
19
|
+
|
20
|
+
$imgHeight0: $lineHeight0 * 0.8; /* 12px */;
|
21
|
+
$imgHeight1: $lineHeight1 * 0.8; /* 16px */
|
22
|
+
$imgHeight2: $lineHeight2 * 0.8; /* 20px */
|
23
|
+
$imgHeight3: $lineHeight3 * 0.8; /* 24px */
|
24
|
+
|
25
|
+
$spacingSize1: $baseLineHeight / 2;
|
26
|
+
$spacingSize0: $spacingSize1 * 0.35;
|
27
|
+
$spacingSize2: $spacingSize1 * 2;
|
28
|
+
|
29
|
+
$inputHeight: ($baseLineHeight / 2) * 3; /* 30px */
|
30
|
+
$inputSize1: 220px;
|
31
|
+
$inputSize0: $inputSize1 - 120px;
|
32
|
+
$inputSize2: $inputSize1 + 120px;
|
33
|
+
|
34
|
+
$notAllowedCursor: not-allowed;
|
35
|
+
|
36
|
+
/* colors */
|
37
|
+
|
38
|
+
$baseBackground: #fff;
|
39
|
+
$altBackground: #ededed;
|
40
|
+
$stripedBackground: #fafafa;
|
41
|
+
$backgroundHover: #f5f5f5;
|
42
|
+
|
43
|
+
$baseColor: #444;
|
44
|
+
$disabledColor: #999;
|
45
|
+
|
46
|
+
$baseBorderColor: #ccc;
|
47
|
+
$altBorderColor: #fff;
|
48
|
+
|
49
|
+
$linkColor: #08c;
|
50
|
+
$linkColorHover: darken($linkColor, 15%);
|
51
|
+
|
52
|
+
$inputBackground: #fff;
|
53
|
+
$inputAltBackground: #eee;
|
54
|
+
$inputColor: #444;
|
55
|
+
$inputDisabledColor: #eee;
|
56
|
+
$inputFocusColor: rgba(82, 168, 236, 0.8);
|
57
|
+
$inputHighlightBackround: #3c83c7;
|
58
|
+
|
59
|
+
$btnBorder: $baseBorderColor;
|
60
|
+
$btnBackground: $baseBackground;
|
61
|
+
$btnBackgroundHighlight: darken($btnBackground, 10%);
|
62
|
+
$btnColor: $baseColor;
|
63
|
+
$btnColorHover: #333;
|
64
|
+
|
65
|
+
$btnAltBackground: $altBackground;
|
66
|
+
$btnAltBackgroundHighlight: darken($btnAltBackground, 10%);
|
67
|
+
$btnAltColor: $btnColor;
|
68
|
+
|
69
|
+
$btnPrimaryBackground: $linkColor;
|
70
|
+
$btnPrimaryBackgroundHighlight: adjust_hue($btnPrimaryBackground, 20%);
|
71
|
+
$btnPrimaryColor: #fff;
|
72
|
+
|
73
|
+
$btnWarningBackgroundHighlight: #f89406;
|
74
|
+
$btnWarningBackground: lighten($btnWarningBackgroundHighlight, 15%);
|
75
|
+
$btnWarningColor: #fff;
|
76
|
+
|
77
|
+
$btnDangerBackground: #ee5f5b;
|
78
|
+
$btnDangerBackgroundHighlight: #bd362f;
|
79
|
+
$btnDangerColor: #fff;
|
80
|
+
|
81
|
+
$btnInfoBackground: #5bc0de;
|
82
|
+
$btnInfoBackgroundHighlight: #2f96b4;
|
83
|
+
$btnInfoColor: #fff;
|
84
|
+
|
85
|
+
$btnSuccessBackground: #62c462;
|
86
|
+
$btnSuccessBackgroundHighlight: #51a351;
|
87
|
+
$btnSuccessColor: #fff;
|
88
|
+
|
89
|
+
$btnInverseBackground: #444;
|
90
|
+
$btnInverseBackgroundHighlight: #222;
|
91
|
+
$btnInverseColor: #fff;
|
92
|
+
|
93
|
+
$mutedText: #999999;
|
94
|
+
$mutedTextHover: darken($mutedText, 10%);
|
95
|
+
$mutedBackground: #f9f9f9;
|
96
|
+
$mutedBackgroundHover: darken($mutedBackground, 5%);
|
97
|
+
$mutedBorder: darken(adjust_hue($mutedBackground, -10), 5%);
|
98
|
+
|
99
|
+
$warningText: #c09853;
|
100
|
+
$warningTextHover: darken($warningText, 10%);
|
101
|
+
$warningBackground: #fcf8e3;
|
102
|
+
$warningBackgroundHover: darken($warningBackground, 5%);
|
103
|
+
$warningBorder: darken(adjust_hue($warningBackground, -10), 3%);
|
104
|
+
|
105
|
+
$errorText: #b94a48;
|
106
|
+
$errorTextHover: darken($errorText, 10%);
|
107
|
+
$errorBackground: #f2dede;
|
108
|
+
$errorBackgroundHover: darken($errorBackground, 5%);
|
109
|
+
$errorBorder: darken(adjust_hue($errorBackground, -10), 3%);
|
110
|
+
|
111
|
+
$infoText: #3a87ad;
|
112
|
+
$infoTextHover: darken($infoText, 10%);
|
113
|
+
$infoBackground: #d9edf7;
|
114
|
+
$infoBackgroundHover: darken($infoBackground, 5%);
|
115
|
+
$infoBorder: darken(adjust_hue($infoBackground, -10), 7%);
|
116
|
+
|
117
|
+
$successText: #468847;
|
118
|
+
$successTextHover: darken($successText, 10%);
|
119
|
+
$successBackground: #dff0d8;
|
120
|
+
$successBackgroundHover: darken($successBackground, 5%);
|
121
|
+
$successBorder: darken(adjust_hue($successBackground, -10), 5%);
|
122
|
+
|
123
|
+
$inverseText: #ffffff;
|
124
|
+
$inverseTextHover: darken($inverseText, 10%);
|
125
|
+
$inverseBackground: #444444;
|
126
|
+
$inverseBackgroundHover: darken($inverseBackground, 5%);
|
127
|
+
$inverseBorder: darken(adjust_hue($inverseBackground, -10), 3%);
|
128
|
+
|
129
|
+
$tabBackground: $altBackground;
|
130
|
+
$tabBackgroundHover: darken($altBackground, 5%);
|
131
|
+
$tabBackgroundActive: #222;
|
132
|
+
$tabColor: $baseColor;
|
133
|
+
$tabColorActive: #fff;
|
134
|
+
$tabColorDisabled: $disabledColor;
|
135
|
+
|
136
|
+
$tooltipBackground: #222;
|
137
|
+
$tooltipColor: #eee;
|
138
|
+
|
139
|
+
/* borders */
|
140
|
+
|
141
|
+
$borderSize1: 1px;
|
142
|
+
$borderSize0: $borderSize1 * 1;
|
143
|
+
$borderSize2: $borderSize1 * 2;
|
144
|
+
|
145
|
+
$borderRadius1: 4px;
|
146
|
+
$borderRadius0: 2px;
|
147
|
+
$borderRadius2: 6px;
|
148
|
+
|
149
|
+
/* tabs */
|
150
|
+
|
151
|
+
$tabDividerSize: 4px;
|
152
|
+
|
153
|
+
/* z-index */
|
154
|
+
|
155
|
+
$tooltipZIndex: 1100;
|
156
|
+
$dropdownZIndex: 1200;
|
157
|
+
// 1300 is reserved for app specific things like nav bars, etc
|
158
|
+
// modals should appear on top of everything though
|
159
|
+
$modalZIndex: 1400;
|