bootstrap3-wip-rails 0.1.2

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 (68) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +54 -0
  6. data/Rakefile +1 -0
  7. data/bootstrap3-wip-rails.gemspec +25 -0
  8. data/lib/assets/javascripts/bootstrap.js +14 -0
  9. data/lib/bootstrap3/wip/rails.rb +10 -0
  10. data/lib/bootstrap3/wip/rails/version.rb +7 -0
  11. data/vendor/assets/images/glyphiconshalflings-regular.eot +0 -0
  12. data/vendor/assets/images/glyphiconshalflings-regular.otf +0 -0
  13. data/vendor/assets/images/glyphiconshalflings-regular.svg +175 -0
  14. data/vendor/assets/images/glyphiconshalflings-regular.ttf +0 -0
  15. data/vendor/assets/images/glyphiconshalflings-regular.woff +0 -0
  16. data/vendor/assets/javascripts/bootstrap-affix.js +117 -0
  17. data/vendor/assets/javascripts/bootstrap-alert.js +99 -0
  18. data/vendor/assets/javascripts/bootstrap-button.js +105 -0
  19. data/vendor/assets/javascripts/bootstrap-carousel.js +207 -0
  20. data/vendor/assets/javascripts/bootstrap-collapse.js +167 -0
  21. data/vendor/assets/javascripts/bootstrap-dropdown.js +165 -0
  22. data/vendor/assets/javascripts/bootstrap-modal.js +251 -0
  23. data/vendor/assets/javascripts/bootstrap-popover.js +114 -0
  24. data/vendor/assets/javascripts/bootstrap-scrollspy.js +162 -0
  25. data/vendor/assets/javascripts/bootstrap-tab.js +144 -0
  26. data/vendor/assets/javascripts/bootstrap-tooltip.js +361 -0
  27. data/vendor/assets/javascripts/bootstrap-transition.js +60 -0
  28. data/vendor/assets/javascripts/bootstrap-typeahead.js +335 -0
  29. data/vendor/assets/stylesheets/accordion.less +34 -0
  30. data/vendor/assets/stylesheets/alerts.less +97 -0
  31. data/vendor/assets/stylesheets/badges.less +58 -0
  32. data/vendor/assets/stylesheets/bootstrap.less +64 -0
  33. data/vendor/assets/stylesheets/breadcrumbs.less +28 -0
  34. data/vendor/assets/stylesheets/button-groups.less +166 -0
  35. data/vendor/assets/stylesheets/buttons.less +175 -0
  36. data/vendor/assets/stylesheets/carousel.less +191 -0
  37. data/vendor/assets/stylesheets/close.less +33 -0
  38. data/vendor/assets/stylesheets/code.less +61 -0
  39. data/vendor/assets/stylesheets/component-animations.less +32 -0
  40. data/vendor/assets/stylesheets/dropdowns.less +223 -0
  41. data/vendor/assets/stylesheets/forms.less +553 -0
  42. data/vendor/assets/stylesheets/glyphicons.less +200 -0
  43. data/vendor/assets/stylesheets/grid.less +57 -0
  44. data/vendor/assets/stylesheets/jumbotron.less +32 -0
  45. data/vendor/assets/stylesheets/labels.less +46 -0
  46. data/vendor/assets/stylesheets/list-group.less +96 -0
  47. data/vendor/assets/stylesheets/media.less +54 -0
  48. data/vendor/assets/stylesheets/mixins.less +551 -0
  49. data/vendor/assets/stylesheets/modals.less +137 -0
  50. data/vendor/assets/stylesheets/navbar.less +389 -0
  51. data/vendor/assets/stylesheets/navs.less +283 -0
  52. data/vendor/assets/stylesheets/normalize.less +396 -0
  53. data/vendor/assets/stylesheets/pager.less +54 -0
  54. data/vendor/assets/stylesheets/pagination.less +100 -0
  55. data/vendor/assets/stylesheets/panels.less +86 -0
  56. data/vendor/assets/stylesheets/popovers.less +133 -0
  57. data/vendor/assets/stylesheets/print.less +74 -0
  58. data/vendor/assets/stylesheets/progress-bars.less +118 -0
  59. data/vendor/assets/stylesheets/responsive-utilities.less +59 -0
  60. data/vendor/assets/stylesheets/scaffolding.less +91 -0
  61. data/vendor/assets/stylesheets/tables.less +241 -0
  62. data/vendor/assets/stylesheets/thumbnails.less +42 -0
  63. data/vendor/assets/stylesheets/tooltip.less +71 -0
  64. data/vendor/assets/stylesheets/type.less +253 -0
  65. data/vendor/assets/stylesheets/utilities.less +42 -0
  66. data/vendor/assets/stylesheets/variables.less +354 -0
  67. data/vendor/assets/stylesheets/wells.less +29 -0
  68. metadata +166 -0
@@ -0,0 +1,553 @@
1
+ //
2
+ // Forms
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Non-controls
7
+ // -------------------------
8
+
9
+ form {
10
+ margin: 0;
11
+ }
12
+
13
+ fieldset {
14
+ padding: 0;
15
+ margin: 0;
16
+ border: 0;
17
+ }
18
+
19
+ legend {
20
+ display: block;
21
+ width: 100%;
22
+ padding: 0;
23
+ margin-bottom: @line-height-base;
24
+ font-size: (@font-size-base * 1.5);
25
+ line-height: (@line-height-base * 2);
26
+ color: @grayDark;
27
+ border: 0;
28
+ border-bottom: 1px solid #e5e5e5;
29
+ }
30
+
31
+ label {
32
+ display: inline-block;
33
+ margin-bottom: 5px;
34
+ font-weight: bold;
35
+ }
36
+
37
+ // Form controls
38
+ // -------------------------
39
+
40
+ // Shared size and type resets
41
+ select,
42
+ textarea,
43
+ input[type="text"],
44
+ input[type="password"],
45
+ input[type="datetime"],
46
+ input[type="datetime-local"],
47
+ input[type="date"],
48
+ input[type="month"],
49
+ input[type="time"],
50
+ input[type="week"],
51
+ input[type="number"],
52
+ input[type="email"],
53
+ input[type="url"],
54
+ input[type="search"],
55
+ input[type="tel"],
56
+ input[type="color"] {
57
+ display: inline-block;
58
+ min-height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
59
+ padding: 6px 9px;
60
+ // margin-bottom: (@line-height-base / 2);
61
+ font-size: @font-size-base;
62
+ line-height: @line-height-base;
63
+ color: @gray;
64
+ vertical-align: middle;
65
+ background-color: @input-bg;
66
+ border: 1px solid @input-border;
67
+ border-radius: @input-border-radius;
68
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
69
+ .transition(~"border linear .2s, box-shadow linear .2s");
70
+ }
71
+
72
+ // Reset appearance properties for textual inputs and textarea
73
+ // Can't be on input[type=*] selectors or it's too specific
74
+ input,
75
+ select,
76
+ textarea {
77
+ width: 100%;
78
+ }
79
+
80
+ // Reset width of input images, buttons, radios, checkboxes
81
+ input[type="file"],
82
+ input[type="image"],
83
+ input[type="submit"],
84
+ input[type="reset"],
85
+ input[type="button"],
86
+ input[type="radio"],
87
+ input[type="checkbox"] {
88
+ width: auto; // Override of generic input selector
89
+ }
90
+
91
+ // Override content-box in Normalize (* isn't specific enough)
92
+ input[type="search"] {
93
+ .box-sizing(border-box);
94
+ }
95
+
96
+ // Reset height since textareas have rows
97
+ textarea {
98
+ height: auto;
99
+ }
100
+
101
+ // Everything else
102
+ textarea,
103
+ input[type="text"],
104
+ input[type="password"],
105
+ input[type="datetime"],
106
+ input[type="datetime-local"],
107
+ input[type="date"],
108
+ input[type="month"],
109
+ input[type="time"],
110
+ input[type="week"],
111
+ input[type="number"],
112
+ input[type="email"],
113
+ input[type="url"],
114
+ input[type="search"],
115
+ input[type="tel"],
116
+ input[type="color"] {
117
+ // Focus state
118
+ &:focus {
119
+ border-color: rgba(82,168,236,.8);
120
+ outline: 0;
121
+ outline: thin dotted \9; /* IE6-9 */
122
+ //.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
123
+ .box-shadow(0 0 8px rgba(82,168,236,.6));
124
+ }
125
+ }
126
+
127
+ // Position radios and checkboxes better
128
+ input[type="radio"],
129
+ input[type="checkbox"] {
130
+ margin: 4px 0 0;
131
+ margin-top: 1px \9; /* IE8-9 */
132
+ line-height: normal;
133
+ }
134
+
135
+ // Set the height of select and file controls to match text inputs
136
+ select,
137
+ input[type="file"] {
138
+ height: @input-height-base; /* In IE7, the height of the select element cannot be changed by height, only font-size. TODO: Check if this is still needed when dropping IE7 support */
139
+ line-height: @input-height-base;
140
+ }
141
+
142
+ // Make multiple select elements height not fixed
143
+ select[multiple],
144
+ select[size] {
145
+ height: auto;
146
+ }
147
+
148
+ // Focus for select, file, radio, and checkbox
149
+ select:focus,
150
+ input[type="file"]:focus,
151
+ input[type="radio"]:focus,
152
+ input[type="checkbox"]:focus {
153
+ .tab-focus();
154
+ }
155
+
156
+
157
+ // Placeholder
158
+ // -------------------------
159
+
160
+ // Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
161
+ input,
162
+ textarea {
163
+ .placeholder();
164
+ }
165
+
166
+
167
+ // CHECKBOXES & RADIOS
168
+ // -------------------
169
+
170
+ // Indent the labels to position radios/checkboxes as hanging
171
+ .radio,
172
+ .checkbox {
173
+ display: block;
174
+ min-height: @line-height-base; // clear the floating input if there is no label text
175
+ margin-bottom: (@line-height-base / 2);
176
+ padding-left: 20px;
177
+ label {
178
+ display: inline;
179
+ margin-bottom: 0;
180
+ font-weight: normal;
181
+ }
182
+ }
183
+
184
+ .radio input[type="radio"],
185
+ .radio-inline input[type="radio"],
186
+ .checkbox input[type="checkbox"],
187
+ .checkbox-inline input[type="checkbox"] {
188
+ float: left;
189
+ margin-left: -20px;
190
+ }
191
+ .radio + .radio,
192
+ .checkbox + .checkbox {
193
+ margin-top: ((@line-height-base / 4) * -1);
194
+ }
195
+
196
+ // Move the options list down to align with labels
197
+ .controls > .radio:first-child,
198
+ .controls > .checkbox:first-child {
199
+ padding-top: 5px; // has to be padding because margin collaspes
200
+ }
201
+
202
+ // Radios and checkboxes on same line
203
+ .radio-inline,
204
+ .checkbox-inline {
205
+ display: inline-block;
206
+ padding-top: 5px;
207
+ padding-left: 20px;
208
+ margin-bottom: 0;
209
+ vertical-align: middle;
210
+ font-weight: normal;
211
+ }
212
+ .radio-inline + .radio-inline,
213
+ .checkbox-inline + .checkbox-inline {
214
+ margin-top: 0;
215
+ margin-left: 10px; // space out consecutive inline controls
216
+ }
217
+
218
+
219
+
220
+ // INPUT SIZES
221
+ // -----------
222
+
223
+ select,
224
+ textarea,
225
+ input[type="text"],
226
+ input[type="password"],
227
+ input[type="datetime"],
228
+ input[type="datetime-local"],
229
+ input[type="date"],
230
+ input[type="month"],
231
+ input[type="time"],
232
+ input[type="week"],
233
+ input[type="number"],
234
+ input[type="email"],
235
+ input[type="url"],
236
+ input[type="search"],
237
+ input[type="tel"],
238
+ input[type="color"] {
239
+ &.input-large {
240
+ padding: @padding-large;
241
+ font-size: @font-size-large;
242
+ border-radius: @border-radius-large;
243
+ }
244
+ &.input-small {
245
+ min-height: @input-height-small;
246
+ padding: @padding-small;
247
+ font-size: @font-size-small;
248
+ border-radius: @border-radius-small;
249
+ }
250
+ }
251
+
252
+
253
+
254
+ // GRID SIZING FOR INPUTS
255
+ // ----------------------
256
+
257
+ // Grid style input sizes
258
+ input[class*="span"],
259
+ select[class*="span"],
260
+ textarea[class*="span"] {
261
+ float: none;
262
+ margin-left: 0;
263
+ margin-right: 0;
264
+ }
265
+
266
+ // Ensure input-prepend/append never wraps
267
+ .input-append input[class*="span"],
268
+ .input-prepend input[class*="span"] {
269
+ display: inline-block;
270
+ }
271
+
272
+ input[class*="span"],
273
+ select[class*="span"],
274
+ textarea[class*="span"] {
275
+ height: @input-height-base;
276
+ }
277
+
278
+
279
+
280
+ // DISABLED STATE
281
+ // --------------
282
+
283
+ // Disabled and read-only inputs
284
+ // Note: HTML5 says that inputs under a fieldset > legend:first-child won't be
285
+ // disabled if the fieldset is disabled. Due to implementation difficulty,
286
+ // we don't honor that edge case; we style them as disabled anyway.
287
+ input,
288
+ select,
289
+ textarea {
290
+ &[disabled],
291
+ &[readonly],
292
+ fieldset[disabled] & {
293
+ cursor: not-allowed;
294
+ background-color: @input-bg-disabled;
295
+ }
296
+ }
297
+ // Explicitly reset the colors here
298
+ input[type="radio"],
299
+ input[type="checkbox"] {
300
+ &[disabled],
301
+ &[readonly],
302
+ fieldset[disabled] & {
303
+ background-color: transparent;
304
+ }
305
+ }
306
+
307
+
308
+
309
+
310
+ // FORM FIELD FEEDBACK STATES
311
+ // --------------------------
312
+
313
+ // Warning
314
+ .has-warning {
315
+ .formFieldState(@state-warning-text, @state-warning-text, @state-warning-bg);
316
+ }
317
+ // Error
318
+ .has-error {
319
+ .formFieldState(@state-danger-text, @state-danger-text, @state-danger-bg);
320
+ }
321
+ // Success
322
+ .has-success {
323
+ .formFieldState(@state-success-text, @state-success-text, @state-success-bg);
324
+ }
325
+
326
+ // HTML5 invalid states
327
+ // Shares styles with the .control-group.error above
328
+ input:focus:invalid,
329
+ textarea:focus:invalid,
330
+ select:focus:invalid {
331
+ color: #b94a48;
332
+ border-color: #ee5f5b;
333
+ &:focus {
334
+ border-color: darken(#ee5f5b, 10%);
335
+ @shadow: 0 0 6px lighten(#ee5f5b, 20%);
336
+ .box-shadow(@shadow);
337
+ }
338
+ }
339
+
340
+
341
+
342
+ // FORM ACTIONS
343
+ // ------------
344
+
345
+ .form-actions {
346
+ padding: (@line-height-base - 1) 20px @line-height-base;
347
+ margin-top: @line-height-base;
348
+ margin-bottom: @line-height-base;
349
+ background-color: @form-actions-bg;
350
+ border-top: 1px solid #e5e5e5;
351
+ .clearfix(); // Adding clearfix to allow for .pull-right button containers
352
+ }
353
+
354
+
355
+
356
+ // HELP TEXT
357
+ // ---------
358
+
359
+ .help-block,
360
+ .help-inline {
361
+ color: lighten(@text-color, 25%); // lighten the text some for contrast
362
+ }
363
+
364
+ .help-block {
365
+ display: block; // account for any element using help-block
366
+ margin-bottom: (@line-height-base / 2);
367
+ }
368
+
369
+ .help-inline {
370
+ display: inline-block;
371
+ vertical-align: middle;
372
+ padding-left: 5px;
373
+ }
374
+
375
+
376
+
377
+ // Input groups
378
+ // --------------------------------------------------
379
+
380
+ // Base styles
381
+ // -------------------------
382
+ .input-group {
383
+ display: table;
384
+
385
+ // Undo padding and float of grid classes
386
+ &[class*="span"] {
387
+ float: none;
388
+ padding: 0;
389
+ }
390
+
391
+ input,
392
+ select {
393
+ width: 100%;
394
+ }
395
+ }
396
+
397
+ // Display as table-cell
398
+ // -------------------------
399
+ .input-group-addon,
400
+ .input-group-btn,
401
+ .input-group input {
402
+ display: table-cell;
403
+ margin: 0;
404
+ border-radius: 0;
405
+ &.input-small {
406
+ border-radius: 0;
407
+ }
408
+ &.input-large {
409
+ border-radius: 0;
410
+ }
411
+ }
412
+ // Addon and addon wrapper for buttons
413
+ .input-group-addon,
414
+ .input-group-btn {
415
+ width: 1%;
416
+ vertical-align: middle; // Match the inputs
417
+ }
418
+
419
+ // Text input groups
420
+ // -------------------------
421
+ .input-group-addon {
422
+ .box-sizing(border-box);
423
+ padding: 6px 8px;
424
+ font-size: @font-size-base;
425
+ font-weight: normal;
426
+ line-height: @line-height-base;
427
+ text-align: center;
428
+ text-shadow: 0 1px 0 #fff;
429
+ background-color: @grayLighter;
430
+ border: 1px solid #ccc;
431
+
432
+ &.input-small {
433
+ padding: @padding-small;
434
+ font-size: @font-size-small;
435
+ }
436
+ &.input-large {
437
+ padding: @padding-large;
438
+ font-size: @font-size-large;
439
+ }
440
+ }
441
+
442
+ // Reset rounded corners
443
+ .input-group input:first-child,
444
+ .input-group-addon:first-child {
445
+ .border-left-radius(@border-radius-base);
446
+ &.input-small {
447
+ .border-left-radius(@border-radius-small);
448
+ }
449
+ &.input-large {
450
+ .border-left-radius(@border-radius-large);
451
+ }
452
+ }
453
+ .input-group-addon:first-child {
454
+ border-right: 0;
455
+ }
456
+ .input-group input:last-child,
457
+ .input-group-addon:last-child {
458
+ .border-right-radius(@border-radius-base);
459
+ &.input-small {
460
+ .border-right-radius(@border-radius-small);
461
+ }
462
+ &.input-large {
463
+ .border-right-radius(@border-radius-large);
464
+ }
465
+ }
466
+ .input-group-addon:last-child {
467
+ border-left: 0;
468
+ }
469
+
470
+ // Button input groups
471
+ // -------------------------
472
+ .input-group-btn {
473
+ position: relative;
474
+ white-space: nowrap;
475
+ }
476
+ .input-group-btn > .btn {
477
+ position: relative;
478
+ float: left; // Collapse white-space
479
+ border-radius: 0;
480
+ + .btn {
481
+ margin-left: -1px;
482
+ }
483
+ // Bring the "active" button to the front
484
+ &:hover,
485
+ &:active {
486
+ z-index: 2;
487
+ }
488
+ }
489
+
490
+ // Prepended buttons
491
+ .input-group-btn:first-child {
492
+ // Round the left corners only
493
+ > .btn:first-child,
494
+ > .dropdown-toggle:first-child {
495
+ .border-left-radius(@border-radius-base);
496
+ &.btn-large { .border-left-radius(@border-radius-large); }
497
+ &.btn-small { .border-left-radius(@border-radius-small); }
498
+ }
499
+ }
500
+
501
+ // Appended buttons
502
+ .input-group-btn:last-child {
503
+ // Round the right corners only
504
+ > .btn:last-child,
505
+ > .dropdown-toggle {
506
+ .border-right-radius(@border-radius-base);
507
+ &.btn-large { .border-right-radius(@border-radius-large); }
508
+ &.btn-small { .border-right-radius(@border-radius-small); }
509
+ }
510
+ }
511
+
512
+
513
+
514
+ // Horizontal forms
515
+ // --------------------------------------------------
516
+
517
+ @media screen and (min-width: 768px) {
518
+
519
+ .form-horizontal {
520
+
521
+ // Increase spacing between groups
522
+ .control-group {
523
+ position: relative;
524
+ margin-bottom: @line-height-base;
525
+ .clearfix();
526
+
527
+ input,
528
+ select,
529
+ textarea {
530
+ margin-bottom: 0;
531
+ }
532
+ }
533
+
534
+ // Float the labels left
535
+ .control-group > .control-label {
536
+ float: left;
537
+ width: (@component-offset-horizontal - 20);
538
+ padding-top: 6px;
539
+ text-align: right;
540
+ }
541
+
542
+ // Move over all input controls and content over
543
+ .control-group > .controls {
544
+ margin-left: @component-offset-horizontal;
545
+ }
546
+
547
+ // Make sure form actions buttons are aligned with controls
548
+ .form-actions {
549
+ padding-left: @component-offset-horizontal;
550
+ }
551
+
552
+ }
553
+ }