romo 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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;