romo 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +9 -1
  3. data/README.md +1 -1
  4. data/assets/css/romo/_mixins.scss +486 -0
  5. data/assets/css/romo/_vars.scss +159 -0
  6. data/assets/css/romo/base.scss +454 -0
  7. data/assets/css/romo/buttons.scss +211 -0
  8. data/assets/css/romo/datepicker.scss +73 -0
  9. data/assets/css/romo/dropdown.scss +33 -0
  10. data/assets/css/romo/forms.scss +193 -0
  11. data/assets/css/romo/grid.scss +271 -0
  12. data/assets/css/romo/grid_table.scss +129 -0
  13. data/assets/css/romo/labels.scss +41 -0
  14. data/assets/css/romo/lists.scss +37 -0
  15. data/assets/css/romo/modal.scss +32 -0
  16. data/assets/css/romo/normalize.scss +425 -0
  17. data/assets/css/romo/select.scss +89 -0
  18. data/assets/css/romo/sortable.scss +14 -0
  19. data/assets/css/romo/table.scss +99 -0
  20. data/assets/css/romo/tabs.scss +71 -0
  21. data/assets/css/romo/tooltip.scss +89 -0
  22. data/assets/css/romo/z_index.scss +26 -0
  23. data/assets/js/romo/base.js +177 -0
  24. data/assets/js/romo/datepicker.js +541 -0
  25. data/assets/js/romo/dropdown.js +309 -0
  26. data/assets/js/romo/dropdown_form.js +92 -0
  27. data/assets/js/romo/form.js +182 -0
  28. data/assets/js/romo/indicator.js +88 -0
  29. data/assets/js/romo/inline.js +77 -0
  30. data/assets/js/romo/inline_form.js +86 -0
  31. data/assets/js/romo/invoke.js +87 -0
  32. data/assets/js/romo/modal.js +311 -0
  33. data/assets/js/romo/modal_form.js +101 -0
  34. data/assets/js/romo/select.js +139 -0
  35. data/assets/js/romo/select_dropdown.js +325 -0
  36. data/assets/js/romo/sortable.js +201 -0
  37. data/assets/js/romo/tooltip.js +258 -0
  38. data/lib/romo/dassets.rb +64 -0
  39. data/lib/romo/version.rb +1 -1
  40. data/lib/romo.rb +9 -0
  41. data/romo.gemspec +4 -2
  42. data/test/support/.gitkeep +0 -0
  43. data/test/system/.gitkeep +0 -0
  44. data/test/unit/dassets_tests.rb +67 -0
  45. data/test/unit/romo_tests.rb +21 -0
  46. metadata +53 -10
data/.gitignore CHANGED
@@ -2,8 +2,10 @@
2
2
  *.log
3
3
  *.rbc
4
4
  .rbx/
5
+ .sass-cache/
5
6
  .bundle
6
7
  .config
8
+ .powrc
7
9
  .yardoc
8
10
  Gemfile.lock
9
11
  InstalledFiles
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
@@ -4,7 +4,7 @@ A UI Toolkit _loosely_ based on conventions from [Bootstrap v2.3.2](http://getbo
4
4
 
5
5
  ## Usage
6
6
 
7
- TODO: Write code samples and usage instructions here
7
+ http://redding.github.io/romo/index.html
8
8
 
9
9
  ## Installation
10
10
 
@@ -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;