padrino-admin 0.12.2 → 0.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/lib/padrino-admin.rb +9 -17
  3. data/lib/padrino-admin/access_control.rb +1 -0
  4. data/lib/padrino-admin/bootstrap-less/alerts.less +1 -1
  5. data/lib/padrino-admin/bootstrap-less/badges.less +10 -6
  6. data/lib/padrino-admin/bootstrap-less/bootstrap.less +0 -10
  7. data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +6 -3
  8. data/lib/padrino-admin/bootstrap-less/button-groups.less +22 -44
  9. data/lib/padrino-admin/bootstrap-less/buttons.less +12 -17
  10. data/lib/padrino-admin/bootstrap-less/carousel.less +33 -10
  11. data/lib/padrino-admin/bootstrap-less/code.less +15 -8
  12. data/lib/padrino-admin/bootstrap-less/dropdowns.less +31 -11
  13. data/lib/padrino-admin/bootstrap-less/font-awesome/bordered-pulled.less +16 -0
  14. data/lib/padrino-admin/bootstrap-less/font-awesome/core.less +9 -126
  15. data/lib/padrino-admin/bootstrap-less/font-awesome/fixed-width.less +6 -0
  16. data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome.less +14 -30
  17. data/lib/padrino-admin/bootstrap-less/font-awesome/icons.less +409 -378
  18. data/lib/padrino-admin/bootstrap-less/font-awesome/larger.less +13 -0
  19. data/lib/padrino-admin/bootstrap-less/font-awesome/list.less +19 -0
  20. data/lib/padrino-admin/bootstrap-less/font-awesome/mixins.less +14 -42
  21. data/lib/padrino-admin/bootstrap-less/font-awesome/path.less +6 -6
  22. data/lib/padrino-admin/bootstrap-less/font-awesome/rotated-flipped.less +9 -0
  23. data/lib/padrino-admin/bootstrap-less/font-awesome/spinning.less +30 -0
  24. data/lib/padrino-admin/bootstrap-less/font-awesome/stacked.less +20 -0
  25. data/lib/padrino-admin/bootstrap-less/font-awesome/variables.less +377 -731
  26. data/lib/padrino-admin/bootstrap-less/forms.less +105 -39
  27. data/lib/padrino-admin/bootstrap-less/glyphicons.less +16 -15
  28. data/lib/padrino-admin/bootstrap-less/grid.less +59 -305
  29. data/lib/padrino-admin/bootstrap-less/input-groups.less +43 -13
  30. data/lib/padrino-admin/bootstrap-less/jumbotron.less +12 -8
  31. data/lib/padrino-admin/bootstrap-less/labels.less +6 -0
  32. data/lib/padrino-admin/bootstrap-less/list-group.less +37 -15
  33. data/lib/padrino-admin/bootstrap-less/mixins.less +283 -80
  34. data/lib/padrino-admin/bootstrap-less/modals.less +19 -22
  35. data/lib/padrino-admin/bootstrap-less/navbar.less +73 -78
  36. data/lib/padrino-admin/bootstrap-less/navs.less +45 -32
  37. data/lib/padrino-admin/bootstrap-less/normalize.less +148 -121
  38. data/lib/padrino-admin/bootstrap-less/padrino-admin.less +3 -1
  39. data/lib/padrino-admin/bootstrap-less/pager.less +5 -5
  40. data/lib/padrino-admin/bootstrap-less/pagination.less +8 -3
  41. data/lib/padrino-admin/bootstrap-less/panels.less +102 -20
  42. data/lib/padrino-admin/bootstrap-less/print.less +6 -5
  43. data/lib/padrino-admin/bootstrap-less/progress-bars.less +4 -19
  44. data/lib/padrino-admin/bootstrap-less/responsive-utilities.less +32 -159
  45. data/lib/padrino-admin/bootstrap-less/scaffolding.less +18 -14
  46. data/lib/padrino-admin/bootstrap-less/tables.less +47 -50
  47. data/lib/padrino-admin/bootstrap-less/theme.less +33 -18
  48. data/lib/padrino-admin/bootstrap-less/thumbnails.less +23 -18
  49. data/lib/padrino-admin/bootstrap-less/tooltip.less +9 -9
  50. data/lib/padrino-admin/bootstrap-less/type.less +139 -81
  51. data/lib/padrino-admin/bootstrap-less/utilities.less +15 -1
  52. data/lib/padrino-admin/bootstrap-less/variables.less +398 -191
  53. data/lib/padrino-admin/bootstrap-less/wells.less +1 -1
  54. data/lib/padrino-admin/generators/admin_app.rb +1 -1
  55. data/lib/padrino-admin/generators/templates/account/minirecord.rb.tt +1 -1
  56. data/lib/padrino-admin/generators/templates/assets/images/font/FontAwesome.otf +0 -0
  57. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.eot +0 -0
  58. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.svg +23 -8
  59. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.ttf +0 -0
  60. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.woff +0 -0
  61. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/affix.js +36 -25
  62. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/alert.js +7 -17
  63. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +6 -6
  64. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/button.js +26 -28
  65. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/carousel.js +22 -34
  66. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/collapse.js +9 -18
  67. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/dropdown.js +25 -32
  68. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/modal.js +27 -30
  69. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/popover.js +16 -23
  70. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/scrollspy.js +19 -24
  71. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tab.js +10 -20
  72. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tooltip.js +54 -41
  73. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/transition.js +13 -21
  74. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-1.11.0.min.js +4 -0
  75. data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +4 -1238
  76. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/FontAwesome.otf +0 -0
  77. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.eot +0 -0
  78. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.svg +414 -0
  79. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.ttf +0 -0
  80. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.woff +0 -0
  81. data/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt +5 -5
  82. data/lib/padrino-admin/generators/templates/erb/app/errors/403.erb.tt +1 -1
  83. data/lib/padrino-admin/generators/templates/erb/app/errors/404.erb.tt +1 -1
  84. data/lib/padrino-admin/generators/templates/erb/app/errors/500.erb.tt +1 -1
  85. data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +2 -2
  86. data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +1 -1
  87. data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +5 -5
  88. data/lib/padrino-admin/generators/templates/haml/app/base/index.haml.tt +5 -5
  89. data/lib/padrino-admin/generators/templates/haml/app/errors/403.haml.tt +1 -1
  90. data/lib/padrino-admin/generators/templates/haml/app/errors/404.haml.tt +1 -1
  91. data/lib/padrino-admin/generators/templates/haml/app/errors/500.haml.tt +1 -1
  92. data/lib/padrino-admin/generators/templates/haml/app/layouts/application.haml.tt +2 -2
  93. data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +2 -1
  94. data/lib/padrino-admin/generators/templates/haml/page/index.haml.tt +4 -4
  95. data/lib/padrino-admin/generators/templates/slim/app/base/index.slim.tt +5 -5
  96. data/lib/padrino-admin/generators/templates/slim/app/errors/403.slim.tt +1 -1
  97. data/lib/padrino-admin/generators/templates/slim/app/errors/404.slim.tt +1 -1
  98. data/lib/padrino-admin/generators/templates/slim/app/errors/500.slim.tt +1 -1
  99. data/lib/padrino-admin/generators/templates/slim/app/layouts/application.slim.tt +2 -2
  100. data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +1 -1
  101. data/lib/padrino-admin/generators/templates/slim/page/index.slim.tt +4 -4
  102. data/lib/padrino-admin/helpers/view_helpers.rb +1 -1
  103. data/lib/padrino-admin/locale/admin/zh_tw.yml +22 -22
  104. data/lib/padrino-admin/locale/orm/cs.yml +0 -25
  105. data/lib/padrino-admin/locale/orm/da.yml +0 -25
  106. data/lib/padrino-admin/locale/orm/de.yml +0 -25
  107. data/lib/padrino-admin/locale/orm/en.yml +0 -25
  108. data/lib/padrino-admin/locale/orm/es.yml +0 -25
  109. data/lib/padrino-admin/locale/orm/fr.yml +0 -25
  110. data/lib/padrino-admin/locale/orm/hu.yml +0 -25
  111. data/lib/padrino-admin/locale/orm/it.yml +0 -25
  112. data/lib/padrino-admin/locale/orm/ja.yml +0 -25
  113. data/lib/padrino-admin/locale/orm/lv.yml +0 -25
  114. data/lib/padrino-admin/locale/orm/nl.yml +0 -25
  115. data/lib/padrino-admin/locale/orm/no.yml +1 -26
  116. data/lib/padrino-admin/locale/orm/pt_br.yml +0 -25
  117. data/lib/padrino-admin/locale/orm/ro.yml +0 -25
  118. data/lib/padrino-admin/locale/orm/ru.yml +0 -25
  119. data/lib/padrino-admin/locale/orm/sv.yml +0 -25
  120. data/lib/padrino-admin/locale/orm/tr.yml +0 -25
  121. data/lib/padrino-admin/locale/orm/uk.yml +0 -25
  122. data/lib/padrino-admin/locale/orm/zh_cn.yml +0 -25
  123. data/lib/padrino-admin/locale/orm/zh_tw.yml +0 -25
  124. data/test/fixtures/data_mapper.rb +0 -41
  125. data/test/generators/test_admin_app_generator.rb +3 -6
  126. data/test/test_locale.rb +0 -33
  127. metadata +19 -14
  128. data/lib/padrino-admin/bootstrap-less/accordion.less +0 -31
  129. data/lib/padrino-admin/bootstrap-less/font-awesome-ie7.less +0 -1953
  130. data/lib/padrino-admin/bootstrap-less/font-awesome.less +0 -33
  131. data/lib/padrino-admin/bootstrap-less/font-awesome/bootstrap.less +0 -84
  132. data/lib/padrino-admin/bootstrap-less/font-awesome/extras.less +0 -93
  133. data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome-ie7.less +0 -1953
  134. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-1.9.0.min.js +0 -4
  135. data/lib/padrino-admin/utils/crypt.rb +0 -41
@@ -11,6 +11,10 @@ fieldset {
11
11
  padding: 0;
12
12
  margin: 0;
13
13
  border: 0;
14
+ // Chrome and Firefox set a `min-width: -webkit-min-content;` on fieldsets,
15
+ // so we reset that to ensure it behaves more like a standard block element.
16
+ // See https://github.com/twbs/bootstrap/issues/12359.
17
+ min-width: 0;
14
18
  }
15
19
 
16
20
  legend {
@@ -33,6 +37,10 @@ label {
33
37
 
34
38
 
35
39
  // Normalize form controls
40
+ //
41
+ // While most of our form styles require extra classes, some basic normalization
42
+ // is required to ensure optimum display with or without those classes to better
43
+ // address browser inconsistencies.
36
44
 
37
45
  // Override content-box in Normalize (* isn't specific enough)
38
46
  input[type="search"] {
@@ -47,48 +55,37 @@ input[type="checkbox"] {
47
55
  line-height: normal;
48
56
  }
49
57
 
50
- // Set the height of select and file controls to match text inputs
58
+ // Set the height of file controls to match text inputs
51
59
  input[type="file"] {
52
60
  display: block;
53
61
  }
54
62
 
63
+ // Make range inputs behave like textual form controls
64
+ input[type="range"] {
65
+ display: block;
66
+ width: 100%;
67
+ }
68
+
55
69
  // Make multiple select elements height not fixed
56
70
  select[multiple],
57
71
  select[size] {
58
72
  height: auto;
59
73
  }
60
74
 
61
- // Fix optgroup Firefox bug per https://github.com/twbs/bootstrap/issues/7611
62
- select optgroup {
63
- font-size: inherit;
64
- font-style: inherit;
65
- font-family: inherit;
66
- }
67
-
68
- // Focus for select, file, radio, and checkbox
75
+ // Focus for file, radio, and checkbox
69
76
  input[type="file"]:focus,
70
77
  input[type="radio"]:focus,
71
78
  input[type="checkbox"]:focus {
72
79
  .tab-focus();
73
80
  }
74
81
 
75
- // Fix for Chrome number input
76
- // Setting certain font-sizes causes the `I` bar to appear on hover of the bottom increment button.
77
- // See https://github.com/twbs/bootstrap/issues/8350 for more.
78
- input[type="number"] {
79
- &::-webkit-outer-spin-button,
80
- &::-webkit-inner-spin-button {
81
- height: auto;
82
- }
83
- }
84
-
85
-
86
- // Placeholder
87
- //
88
- // Placeholder text gets special styles because when browsers invalidate entire
89
- // lines if it doesn't understand a selector/
90
- .form-control {
91
- .placeholder();
82
+ // Adjust output element
83
+ output {
84
+ display: block;
85
+ padding-top: (@padding-base-vertical + 1);
86
+ font-size: @font-size-base;
87
+ line-height: @line-height-base;
88
+ color: @input-color;
92
89
  }
93
90
 
94
91
 
@@ -122,8 +119,8 @@ input[type="number"] {
122
119
  font-size: @font-size-base;
123
120
  line-height: @line-height-base;
124
121
  color: @input-color;
125
- vertical-align: middle;
126
122
  background-color: @input-bg;
123
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
127
124
  border: 1px solid @input-border;
128
125
  border-radius: @input-border-radius;
129
126
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
@@ -132,6 +129,9 @@ input[type="number"] {
132
129
  // Customize the `:focus` state to imitate native WebKit styles.
133
130
  .form-control-focus();
134
131
 
132
+ // Placeholder
133
+ .placeholder();
134
+
135
135
  // Disabled and read-only inputs
136
136
  // Note: HTML5 says that controls under a fieldset > legend:first-child won't
137
137
  // be disabled if the fieldset is disabled. Due to implementation difficulty,
@@ -141,6 +141,7 @@ input[type="number"] {
141
141
  fieldset[disabled] & {
142
142
  cursor: not-allowed;
143
143
  background-color: @input-bg-disabled;
144
+ opacity: 1; // iOS fix for unreadable disabled content
144
145
  }
145
146
 
146
147
  // Reset height for `textarea`s
@@ -149,6 +150,14 @@ input[type="number"] {
149
150
  }
150
151
  }
151
152
 
153
+ // Special styles for iOS date input
154
+ //
155
+ // In Mobile Safari, date inputs require a pixel line-height that matches the
156
+ // given height of the input.
157
+ input[type="date"] {
158
+ line-height: @input-height-base;
159
+ }
160
+
152
161
 
153
162
  // Form groups
154
163
  //
@@ -171,10 +180,8 @@ input[type="number"] {
171
180
  margin-top: 10px;
172
181
  margin-bottom: 10px;
173
182
  padding-left: 20px;
174
- vertical-align: middle;
175
183
  label {
176
184
  display: inline;
177
- margin-bottom: 0;
178
185
  font-weight: normal;
179
186
  cursor: pointer;
180
187
  }
@@ -222,7 +229,12 @@ input[type="checkbox"],
222
229
  }
223
230
  }
224
231
 
232
+
225
233
  // Form control sizing
234
+ //
235
+ // Build on `.form-control` with modifier classes to decrease or increase the
236
+ // height and font-size of form controls.
237
+
226
238
  .input-sm {
227
239
  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
228
240
  }
@@ -236,18 +248,38 @@ input[type="checkbox"],
236
248
  //
237
249
  // Apply contextual and semantic states to individual form controls.
238
250
 
239
- // Warning
251
+ .has-feedback {
252
+ // Enable absolute positioning
253
+ position: relative;
254
+
255
+ // Ensure icons don't overlap text
256
+ .form-control {
257
+ padding-right: (@input-height-base * 1.25);
258
+ }
259
+
260
+ // Feedback icon (requires .glyphicon classes)
261
+ .form-control-feedback {
262
+ position: absolute;
263
+ top: (@line-height-computed + 5); // Height of the `label` and its margin
264
+ right: 0;
265
+ display: block;
266
+ width: @input-height-base;
267
+ height: @input-height-base;
268
+ line-height: @input-height-base;
269
+ text-align: center;
270
+ }
271
+ }
272
+
273
+ // Feedback states
274
+ .has-success {
275
+ .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
276
+ }
240
277
  .has-warning {
241
278
  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);
242
279
  }
243
- // Error
244
280
  .has-error {
245
281
  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
246
282
  }
247
- // Success
248
- .has-success {
249
- .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
250
- }
251
283
 
252
284
 
253
285
  // Static form control text
@@ -257,7 +289,6 @@ input[type="checkbox"],
257
289
 
258
290
  .form-control-static {
259
291
  margin-bottom: 0; // Remove default margin from `p`
260
- padding-top: (@padding-base-vertical + 1);
261
292
  }
262
293
 
263
294
 
@@ -289,9 +320,9 @@ input[type="checkbox"],
289
320
  .form-inline {
290
321
 
291
322
  // Kick in the inline
292
- @media (min-width: @screen-tablet) {
323
+ @media (min-width: @screen-sm-min) {
293
324
  // Inline-block all the things for "inline"
294
- .form-group {
325
+ .form-group {
295
326
  display: inline-block;
296
327
  margin-bottom: 0;
297
328
  vertical-align: middle;
@@ -300,6 +331,13 @@ input[type="checkbox"],
300
331
  // In navbar-form, allow folks to *not* use `.form-group`
301
332
  .form-control {
302
333
  display: inline-block;
334
+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
335
+ vertical-align: middle;
336
+ }
337
+
338
+ .control-label {
339
+ margin-bottom: 0;
340
+ vertical-align: middle;
303
341
  }
304
342
 
305
343
  // Remove default margin on radios/checkboxes that were used for stacking, and
@@ -311,12 +349,21 @@ input[type="checkbox"],
311
349
  margin-top: 0;
312
350
  margin-bottom: 0;
313
351
  padding-left: 0;
352
+ vertical-align: middle;
314
353
  }
315
354
  .radio input[type="radio"],
316
355
  .checkbox input[type="checkbox"] {
317
356
  float: none;
318
357
  margin-left: 0;
319
358
  }
359
+
360
+ // Validation states
361
+ //
362
+ // Reposition the icon because it's now within a grid column and columns have
363
+ // `position: relative;` on them. Also accounts for the grid gutter padding.
364
+ .has-feedback .form-control-feedback {
365
+ top: 0;
366
+ }
320
367
  }
321
368
  }
322
369
 
@@ -338,16 +385,35 @@ input[type="checkbox"],
338
385
  margin-bottom: 0;
339
386
  padding-top: (@padding-base-vertical + 1); // Default padding plus a border
340
387
  }
388
+ // Account for padding we're adding to ensure the alignment and of help text
389
+ // and other content below items
390
+ .radio,
391
+ .checkbox {
392
+ min-height: (@line-height-computed + (@padding-base-vertical + 1));
393
+ }
341
394
 
342
395
  // Make form groups behave like rows
343
396
  .form-group {
344
397
  .make-row();
345
398
  }
346
399
 
400
+ .form-control-static {
401
+ padding-top: (@padding-base-vertical + 1);
402
+ }
403
+
347
404
  // Only right align form labels here when the columns stop stacking
348
- @media (min-width: @screen-tablet) {
405
+ @media (min-width: @screen-sm-min) {
349
406
  .control-label {
350
407
  text-align: right;
351
408
  }
352
409
  }
410
+
411
+ // Validation states
412
+ //
413
+ // Reposition the icon because it's now within a grid column and columns have
414
+ // `position: relative;` on them. Also accounts for the grid gutter padding.
415
+ .has-feedback .form-control-feedback {
416
+ top: 0;
417
+ right: (@grid-gutter-width / 2);
418
+ }
353
419
  }
@@ -10,11 +10,11 @@
10
10
  // Import the fonts
11
11
  @font-face {
12
12
  font-family: 'Glyphicons Halflings';
13
- src: url('@{icon-font-path}@{icon-font-name}.eot');
14
- src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),
15
- url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),
16
- url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),
17
- url('@{icon-font-path}@{icon-font-name}.svg#glyphicons-halflingsregular') format('svg');
13
+ src: ~"url('@{icon-font-path}@{icon-font-name}.eot')";
14
+ src: ~"url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype')",
15
+ ~"url('@{icon-font-path}@{icon-font-name}.woff') format('woff')",
16
+ ~"url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype')",
17
+ ~"url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg')";
18
18
  }
19
19
 
20
20
  // Catchall baseclass
@@ -27,6 +27,7 @@
27
27
  font-weight: normal;
28
28
  line-height: 1;
29
29
  -webkit-font-smoothing: antialiased;
30
+ -moz-osx-font-smoothing: grayscale;
30
31
  }
31
32
 
32
33
  // Individual icons
@@ -68,6 +69,7 @@
68
69
  .glyphicon-repeat { &:before { content: "\e030"; } }
69
70
  .glyphicon-refresh { &:before { content: "\e031"; } }
70
71
  .glyphicon-list-alt { &:before { content: "\e032"; } }
72
+ .glyphicon-lock { &:before { content: "\e033"; } }
71
73
  .glyphicon-flag { &:before { content: "\e034"; } }
72
74
  .glyphicon-headphones { &:before { content: "\e035"; } }
73
75
  .glyphicon-volume-off { &:before { content: "\e036"; } }
@@ -78,7 +80,9 @@
78
80
  .glyphicon-tag { &:before { content: "\e041"; } }
79
81
  .glyphicon-tags { &:before { content: "\e042"; } }
80
82
  .glyphicon-book { &:before { content: "\e043"; } }
83
+ .glyphicon-bookmark { &:before { content: "\e044"; } }
81
84
  .glyphicon-print { &:before { content: "\e045"; } }
85
+ .glyphicon-camera { &:before { content: "\e046"; } }
82
86
  .glyphicon-font { &:before { content: "\e047"; } }
83
87
  .glyphicon-bold { &:before { content: "\e048"; } }
84
88
  .glyphicon-italic { &:before { content: "\e049"; } }
@@ -132,10 +136,12 @@
132
136
  .glyphicon-exclamation-sign { &:before { content: "\e101"; } }
133
137
  .glyphicon-gift { &:before { content: "\e102"; } }
134
138
  .glyphicon-leaf { &:before { content: "\e103"; } }
139
+ .glyphicon-fire { &:before { content: "\e104"; } }
135
140
  .glyphicon-eye-open { &:before { content: "\e105"; } }
136
141
  .glyphicon-eye-close { &:before { content: "\e106"; } }
137
142
  .glyphicon-warning-sign { &:before { content: "\e107"; } }
138
143
  .glyphicon-plane { &:before { content: "\e108"; } }
144
+ .glyphicon-calendar { &:before { content: "\e109"; } }
139
145
  .glyphicon-random { &:before { content: "\e110"; } }
140
146
  .glyphicon-comment { &:before { content: "\e111"; } }
141
147
  .glyphicon-magnet { &:before { content: "\e112"; } }
@@ -149,6 +155,7 @@
149
155
  .glyphicon-resize-horizontal { &:before { content: "\e120"; } }
150
156
  .glyphicon-hdd { &:before { content: "\e121"; } }
151
157
  .glyphicon-bullhorn { &:before { content: "\e122"; } }
158
+ .glyphicon-bell { &:before { content: "\e123"; } }
152
159
  .glyphicon-certificate { &:before { content: "\e124"; } }
153
160
  .glyphicon-thumbs-up { &:before { content: "\e125"; } }
154
161
  .glyphicon-thumbs-down { &:before { content: "\e126"; } }
@@ -161,13 +168,17 @@
161
168
  .glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
162
169
  .glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
163
170
  .glyphicon-globe { &:before { content: "\e135"; } }
171
+ .glyphicon-wrench { &:before { content: "\e136"; } }
164
172
  .glyphicon-tasks { &:before { content: "\e137"; } }
165
173
  .glyphicon-filter { &:before { content: "\e138"; } }
174
+ .glyphicon-briefcase { &:before { content: "\e139"; } }
166
175
  .glyphicon-fullscreen { &:before { content: "\e140"; } }
167
176
  .glyphicon-dashboard { &:before { content: "\e141"; } }
177
+ .glyphicon-paperclip { &:before { content: "\e142"; } }
168
178
  .glyphicon-heart-empty { &:before { content: "\e143"; } }
169
179
  .glyphicon-link { &:before { content: "\e144"; } }
170
180
  .glyphicon-phone { &:before { content: "\e145"; } }
181
+ .glyphicon-pushpin { &:before { content: "\e146"; } }
171
182
  .glyphicon-usd { &:before { content: "\e148"; } }
172
183
  .glyphicon-gbp { &:before { content: "\e149"; } }
173
184
  .glyphicon-sort { &:before { content: "\e150"; } }
@@ -220,13 +231,3 @@
220
231
  .glyphicon-cloud-upload { &:before { content: "\e198"; } }
221
232
  .glyphicon-tree-conifer { &:before { content: "\e199"; } }
222
233
  .glyphicon-tree-deciduous { &:before { content: "\e200"; } }
223
- .glyphicon-briefcase { &:before { content: "\1f4bc"; } }
224
- .glyphicon-calendar { &:before { content: "\1f4c5"; } }
225
- .glyphicon-pushpin { &:before { content: "\1f4cc"; } }
226
- .glyphicon-paperclip { &:before { content: "\1f4ce"; } }
227
- .glyphicon-camera { &:before { content: "\1f4f7"; } }
228
- .glyphicon-lock { &:before { content: "\1f512"; } }
229
- .glyphicon-bell { &:before { content: "\1f514"; } }
230
- .glyphicon-bookmark { &:before { content: "\1f516"; } }
231
- .glyphicon-fire { &:before { content: "\1f525"; } }
232
- .glyphicon-wrench { &:before { content: "\1f527"; } }
@@ -3,344 +3,98 @@
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
- // Set the container width, and override it for fixed navbars in media queries
6
+ // Container widths
7
+ //
8
+ // Set the container width, and override it for fixed navbars in media queries.
9
+
7
10
  .container {
8
11
  .container-fixed();
12
+
13
+ @media (min-width: @screen-sm-min) {
14
+ width: @container-sm;
15
+ }
16
+ @media (min-width: @screen-md-min) {
17
+ width: @container-md;
18
+ }
19
+ @media (min-width: @screen-lg-min) {
20
+ width: @container-lg;
21
+ }
9
22
  }
10
23
 
11
- // mobile first defaults
24
+
25
+ // Fluid container
26
+ //
27
+ // Utilizes the mixin meant for fixed width containers, but without any defined
28
+ // width for fluid, full width layouts.
29
+
30
+ .container-fluid {
31
+ .container-fixed();
32
+ }
33
+
34
+
35
+ // Row
36
+ //
37
+ // Rows contain and clear the floats of your columns.
38
+
12
39
  .row {
13
40
  .make-row();
14
41
  }
15
42
 
43
+
44
+ // Columns
45
+ //
16
46
  // Common styles for small and large grid columns
17
- .col-xs-1,
18
- .col-xs-2,
19
- .col-xs-3,
20
- .col-xs-4,
21
- .col-xs-5,
22
- .col-xs-6,
23
- .col-xs-7,
24
- .col-xs-8,
25
- .col-xs-9,
26
- .col-xs-10,
27
- .col-xs-11,
28
- .col-xs-12,
29
- .col-sm-1,
30
- .col-sm-2,
31
- .col-sm-3,
32
- .col-sm-4,
33
- .col-sm-5,
34
- .col-sm-6,
35
- .col-sm-7,
36
- .col-sm-8,
37
- .col-sm-9,
38
- .col-sm-10,
39
- .col-sm-11,
40
- .col-sm-12,
41
- .col-md-1,
42
- .col-md-2,
43
- .col-md-3,
44
- .col-md-4,
45
- .col-md-5,
46
- .col-md-6,
47
- .col-md-7,
48
- .col-md-8,
49
- .col-md-9,
50
- .col-md-10,
51
- .col-md-11,
52
- .col-md-12,
53
- .col-lg-1,
54
- .col-lg-2,
55
- .col-lg-3,
56
- .col-lg-4,
57
- .col-lg-5,
58
- .col-lg-6,
59
- .col-lg-7,
60
- .col-lg-8,
61
- .col-lg-9,
62
- .col-lg-10,
63
- .col-lg-11,
64
- .col-lg-12 {
65
- position: relative;
66
- // Prevent columns from collapsing when empty
67
- min-height: 1px;
68
- // Inner gutter via padding
69
- padding-left: (@grid-gutter-width / 2);
70
- padding-right: (@grid-gutter-width / 2);
71
- }
47
+
48
+ .make-grid-columns();
72
49
 
73
50
 
74
51
  // Extra small grid
75
52
  //
76
- // Grid classes for extra small devices like smartphones. No offset, push, or
77
- // pull classes are present here due to the size of the target.
78
- //
79
- // Note that `.col-xs-12` doesn't get floated on purpose—there's no need since
80
- // it's full-width.
53
+ // Columns, offsets, pushes, and pulls for extra small devices like
54
+ // smartphones.
81
55
 
82
- .col-xs-1,
83
- .col-xs-2,
84
- .col-xs-3,
85
- .col-xs-4,
86
- .col-xs-5,
87
- .col-xs-6,
88
- .col-xs-7,
89
- .col-xs-8,
90
- .col-xs-9,
91
- .col-xs-10,
92
- .col-xs-11 {
93
- float: left;
94
- }
95
- .col-xs-1 { width: percentage((1 / @grid-columns)); }
96
- .col-xs-2 { width: percentage((2 / @grid-columns)); }
97
- .col-xs-3 { width: percentage((3 / @grid-columns)); }
98
- .col-xs-4 { width: percentage((4 / @grid-columns)); }
99
- .col-xs-5 { width: percentage((5 / @grid-columns)); }
100
- .col-xs-6 { width: percentage((6 / @grid-columns)); }
101
- .col-xs-7 { width: percentage((7 / @grid-columns)); }
102
- .col-xs-8 { width: percentage((8 / @grid-columns)); }
103
- .col-xs-9 { width: percentage((9 / @grid-columns)); }
104
- .col-xs-10 { width: percentage((10/ @grid-columns)); }
105
- .col-xs-11 { width: percentage((11/ @grid-columns)); }
106
- .col-xs-12 { width: 100%; }
56
+ .make-grid-columns-float(xs);
57
+ .make-grid(@grid-columns, xs, width);
58
+ .make-grid(@grid-columns, xs, pull);
59
+ .make-grid(@grid-columns, xs, push);
60
+ .make-grid(@grid-columns, xs, offset);
107
61
 
108
62
 
109
63
  // Small grid
110
64
  //
111
65
  // Columns, offsets, pushes, and pulls for the small device range, from phones
112
66
  // to tablets.
113
- //
114
- // Note that `.col-sm-12` doesn't get floated on purpose—there's no need since
115
- // it's full-width.
116
-
117
- @media (min-width: @screen-tablet) {
118
- .container {
119
- max-width: @container-tablet;
120
- }
121
-
122
- .col-sm-1,
123
- .col-sm-2,
124
- .col-sm-3,
125
- .col-sm-4,
126
- .col-sm-5,
127
- .col-sm-6,
128
- .col-sm-7,
129
- .col-sm-8,
130
- .col-sm-9,
131
- .col-sm-10,
132
- .col-sm-11 {
133
- float: left;
134
- }
135
- .col-sm-1 { width: percentage((1 / @grid-columns)); }
136
- .col-sm-2 { width: percentage((2 / @grid-columns)); }
137
- .col-sm-3 { width: percentage((3 / @grid-columns)); }
138
- .col-sm-4 { width: percentage((4 / @grid-columns)); }
139
- .col-sm-5 { width: percentage((5 / @grid-columns)); }
140
- .col-sm-6 { width: percentage((6 / @grid-columns)); }
141
- .col-sm-7 { width: percentage((7 / @grid-columns)); }
142
- .col-sm-8 { width: percentage((8 / @grid-columns)); }
143
- .col-sm-9 { width: percentage((9 / @grid-columns)); }
144
- .col-sm-10 { width: percentage((10/ @grid-columns)); }
145
- .col-sm-11 { width: percentage((11/ @grid-columns)); }
146
- .col-sm-12 { width: 100%; }
147
67
 
148
- // Push and pull columns for source order changes
149
- .col-sm-push-1 { left: percentage((1 / @grid-columns)); }
150
- .col-sm-push-2 { left: percentage((2 / @grid-columns)); }
151
- .col-sm-push-3 { left: percentage((3 / @grid-columns)); }
152
- .col-sm-push-4 { left: percentage((4 / @grid-columns)); }
153
- .col-sm-push-5 { left: percentage((5 / @grid-columns)); }
154
- .col-sm-push-6 { left: percentage((6 / @grid-columns)); }
155
- .col-sm-push-7 { left: percentage((7 / @grid-columns)); }
156
- .col-sm-push-8 { left: percentage((8 / @grid-columns)); }
157
- .col-sm-push-9 { left: percentage((9 / @grid-columns)); }
158
- .col-sm-push-10 { left: percentage((10/ @grid-columns)); }
159
- .col-sm-push-11 { left: percentage((11/ @grid-columns)); }
160
-
161
- .col-sm-pull-1 { right: percentage((1 / @grid-columns)); }
162
- .col-sm-pull-2 { right: percentage((2 / @grid-columns)); }
163
- .col-sm-pull-3 { right: percentage((3 / @grid-columns)); }
164
- .col-sm-pull-4 { right: percentage((4 / @grid-columns)); }
165
- .col-sm-pull-5 { right: percentage((5 / @grid-columns)); }
166
- .col-sm-pull-6 { right: percentage((6 / @grid-columns)); }
167
- .col-sm-pull-7 { right: percentage((7 / @grid-columns)); }
168
- .col-sm-pull-8 { right: percentage((8 / @grid-columns)); }
169
- .col-sm-pull-9 { right: percentage((9 / @grid-columns)); }
170
- .col-sm-pull-10 { right: percentage((10/ @grid-columns)); }
171
- .col-sm-pull-11 { right: percentage((11/ @grid-columns)); }
172
-
173
- // Offsets
174
- .col-sm-offset-1 { margin-left: percentage((1 / @grid-columns)); }
175
- .col-sm-offset-2 { margin-left: percentage((2 / @grid-columns)); }
176
- .col-sm-offset-3 { margin-left: percentage((3 / @grid-columns)); }
177
- .col-sm-offset-4 { margin-left: percentage((4 / @grid-columns)); }
178
- .col-sm-offset-5 { margin-left: percentage((5 / @grid-columns)); }
179
- .col-sm-offset-6 { margin-left: percentage((6 / @grid-columns)); }
180
- .col-sm-offset-7 { margin-left: percentage((7 / @grid-columns)); }
181
- .col-sm-offset-8 { margin-left: percentage((8 / @grid-columns)); }
182
- .col-sm-offset-9 { margin-left: percentage((9 / @grid-columns)); }
183
- .col-sm-offset-10 { margin-left: percentage((10/ @grid-columns)); }
184
- .col-sm-offset-11 { margin-left: percentage((11/ @grid-columns)); }
68
+ @media (min-width: @screen-sm-min) {
69
+ .make-grid-columns-float(sm);
70
+ .make-grid(@grid-columns, sm, width);
71
+ .make-grid(@grid-columns, sm, pull);
72
+ .make-grid(@grid-columns, sm, push);
73
+ .make-grid(@grid-columns, sm, offset);
185
74
  }
186
75
 
187
76
 
188
77
  // Medium grid
189
78
  //
190
79
  // Columns, offsets, pushes, and pulls for the desktop device range.
191
- //
192
- // Note that `.col-md-12` doesn't get floated on purpose—there's no need since
193
- // it's full-width.
194
-
195
- @media (min-width: @screen-desktop) {
196
- .container {
197
- max-width: @container-desktop;
198
- }
199
- .col-md-1,
200
- .col-md-2,
201
- .col-md-3,
202
- .col-md-4,
203
- .col-md-5,
204
- .col-md-6,
205
- .col-md-7,
206
- .col-md-8,
207
- .col-md-9,
208
- .col-md-10,
209
- .col-md-11 {
210
- float: left;
211
- }
212
- .col-md-1 { width: percentage((1 / @grid-columns)); }
213
- .col-md-2 { width: percentage((2 / @grid-columns)); }
214
- .col-md-3 { width: percentage((3 / @grid-columns)); }
215
- .col-md-4 { width: percentage((4 / @grid-columns)); }
216
- .col-md-5 { width: percentage((5 / @grid-columns)); }
217
- .col-md-6 { width: percentage((6 / @grid-columns)); }
218
- .col-md-7 { width: percentage((7 / @grid-columns)); }
219
- .col-md-8 { width: percentage((8 / @grid-columns)); }
220
- .col-md-9 { width: percentage((9 / @grid-columns)); }
221
- .col-md-10 { width: percentage((10/ @grid-columns)); }
222
- .col-md-11 { width: percentage((11/ @grid-columns)); }
223
- .col-md-12 { width: 100%; }
224
-
225
- // Push and pull columns for source order changes
226
- .col-md-push-0 { left: auto; }
227
- .col-md-push-1 { left: percentage((1 / @grid-columns)); }
228
- .col-md-push-2 { left: percentage((2 / @grid-columns)); }
229
- .col-md-push-3 { left: percentage((3 / @grid-columns)); }
230
- .col-md-push-4 { left: percentage((4 / @grid-columns)); }
231
- .col-md-push-5 { left: percentage((5 / @grid-columns)); }
232
- .col-md-push-6 { left: percentage((6 / @grid-columns)); }
233
- .col-md-push-7 { left: percentage((7 / @grid-columns)); }
234
- .col-md-push-8 { left: percentage((8 / @grid-columns)); }
235
- .col-md-push-9 { left: percentage((9 / @grid-columns)); }
236
- .col-md-push-10 { left: percentage((10/ @grid-columns)); }
237
- .col-md-push-11 { left: percentage((11/ @grid-columns)); }
238
-
239
- .col-md-pull-0 { right: auto; }
240
- .col-md-pull-1 { right: percentage((1 / @grid-columns)); }
241
- .col-md-pull-2 { right: percentage((2 / @grid-columns)); }
242
- .col-md-pull-3 { right: percentage((3 / @grid-columns)); }
243
- .col-md-pull-4 { right: percentage((4 / @grid-columns)); }
244
- .col-md-pull-5 { right: percentage((5 / @grid-columns)); }
245
- .col-md-pull-6 { right: percentage((6 / @grid-columns)); }
246
- .col-md-pull-7 { right: percentage((7 / @grid-columns)); }
247
- .col-md-pull-8 { right: percentage((8 / @grid-columns)); }
248
- .col-md-pull-9 { right: percentage((9 / @grid-columns)); }
249
- .col-md-pull-10 { right: percentage((10/ @grid-columns)); }
250
- .col-md-pull-11 { right: percentage((11/ @grid-columns)); }
251
80
 
252
- // Offsets
253
- .col-md-offset-0 { margin-left: 0; }
254
- .col-md-offset-1 { margin-left: percentage((1 / @grid-columns)); }
255
- .col-md-offset-2 { margin-left: percentage((2 / @grid-columns)); }
256
- .col-md-offset-3 { margin-left: percentage((3 / @grid-columns)); }
257
- .col-md-offset-4 { margin-left: percentage((4 / @grid-columns)); }
258
- .col-md-offset-5 { margin-left: percentage((5 / @grid-columns)); }
259
- .col-md-offset-6 { margin-left: percentage((6 / @grid-columns)); }
260
- .col-md-offset-7 { margin-left: percentage((7 / @grid-columns)); }
261
- .col-md-offset-8 { margin-left: percentage((8 / @grid-columns)); }
262
- .col-md-offset-9 { margin-left: percentage((9 / @grid-columns)); }
263
- .col-md-offset-10 { margin-left: percentage((10/ @grid-columns)); }
264
- .col-md-offset-11 { margin-left: percentage((11/ @grid-columns)); }
81
+ @media (min-width: @screen-md-min) {
82
+ .make-grid-columns-float(md);
83
+ .make-grid(@grid-columns, md, width);
84
+ .make-grid(@grid-columns, md, pull);
85
+ .make-grid(@grid-columns, md, push);
86
+ .make-grid(@grid-columns, md, offset);
265
87
  }
266
88
 
267
89
 
268
90
  // Large grid
269
91
  //
270
92
  // Columns, offsets, pushes, and pulls for the large desktop device range.
271
- //
272
- // Note that `.col-lg-12` doesn't get floated on purpose—there's no need since
273
- // it's full-width.
274
-
275
- @media (min-width: @screen-lg-desktop) {
276
- .container {
277
- max-width: @container-lg-desktop;
278
- }
279
-
280
- .col-lg-1,
281
- .col-lg-2,
282
- .col-lg-3,
283
- .col-lg-4,
284
- .col-lg-5,
285
- .col-lg-6,
286
- .col-lg-7,
287
- .col-lg-8,
288
- .col-lg-9,
289
- .col-lg-10,
290
- .col-lg-11 {
291
- float: left;
292
- }
293
- .col-lg-1 { width: percentage((1 / @grid-columns)); }
294
- .col-lg-2 { width: percentage((2 / @grid-columns)); }
295
- .col-lg-3 { width: percentage((3 / @grid-columns)); }
296
- .col-lg-4 { width: percentage((4 / @grid-columns)); }
297
- .col-lg-5 { width: percentage((5 / @grid-columns)); }
298
- .col-lg-6 { width: percentage((6 / @grid-columns)); }
299
- .col-lg-7 { width: percentage((7 / @grid-columns)); }
300
- .col-lg-8 { width: percentage((8 / @grid-columns)); }
301
- .col-lg-9 { width: percentage((9 / @grid-columns)); }
302
- .col-lg-10 { width: percentage((10/ @grid-columns)); }
303
- .col-lg-11 { width: percentage((11/ @grid-columns)); }
304
- .col-lg-12 { width: 100%; }
305
-
306
- // Push and pull columns for source order changes
307
- .col-lg-push-0 { left: auto; }
308
- .col-lg-push-1 { left: percentage((1 / @grid-columns)); }
309
- .col-lg-push-2 { left: percentage((2 / @grid-columns)); }
310
- .col-lg-push-3 { left: percentage((3 / @grid-columns)); }
311
- .col-lg-push-4 { left: percentage((4 / @grid-columns)); }
312
- .col-lg-push-5 { left: percentage((5 / @grid-columns)); }
313
- .col-lg-push-6 { left: percentage((6 / @grid-columns)); }
314
- .col-lg-push-7 { left: percentage((7 / @grid-columns)); }
315
- .col-lg-push-8 { left: percentage((8 / @grid-columns)); }
316
- .col-lg-push-9 { left: percentage((9 / @grid-columns)); }
317
- .col-lg-push-10 { left: percentage((10/ @grid-columns)); }
318
- .col-lg-push-11 { left: percentage((11/ @grid-columns)); }
319
-
320
- .col-lg-pull-0 { right: auto; }
321
- .col-lg-pull-1 { right: percentage((1 / @grid-columns)); }
322
- .col-lg-pull-2 { right: percentage((2 / @grid-columns)); }
323
- .col-lg-pull-3 { right: percentage((3 / @grid-columns)); }
324
- .col-lg-pull-4 { right: percentage((4 / @grid-columns)); }
325
- .col-lg-pull-5 { right: percentage((5 / @grid-columns)); }
326
- .col-lg-pull-6 { right: percentage((6 / @grid-columns)); }
327
- .col-lg-pull-7 { right: percentage((7 / @grid-columns)); }
328
- .col-lg-pull-8 { right: percentage((8 / @grid-columns)); }
329
- .col-lg-pull-9 { right: percentage((9 / @grid-columns)); }
330
- .col-lg-pull-10 { right: percentage((10/ @grid-columns)); }
331
- .col-lg-pull-11 { right: percentage((11/ @grid-columns)); }
332
93
 
333
- // Offsets
334
- .col-lg-offset-0 { margin-left: 0; }
335
- .col-lg-offset-1 { margin-left: percentage((1 / @grid-columns)); }
336
- .col-lg-offset-2 { margin-left: percentage((2 / @grid-columns)); }
337
- .col-lg-offset-3 { margin-left: percentage((3 / @grid-columns)); }
338
- .col-lg-offset-4 { margin-left: percentage((4 / @grid-columns)); }
339
- .col-lg-offset-5 { margin-left: percentage((5 / @grid-columns)); }
340
- .col-lg-offset-6 { margin-left: percentage((6 / @grid-columns)); }
341
- .col-lg-offset-7 { margin-left: percentage((7 / @grid-columns)); }
342
- .col-lg-offset-8 { margin-left: percentage((8 / @grid-columns)); }
343
- .col-lg-offset-9 { margin-left: percentage((9 / @grid-columns)); }
344
- .col-lg-offset-10 { margin-left: percentage((10/ @grid-columns)); }
345
- .col-lg-offset-11 { margin-left: percentage((11/ @grid-columns)); }
94
+ @media (min-width: @screen-lg-min) {
95
+ .make-grid-columns-float(lg);
96
+ .make-grid(@grid-columns, lg, width);
97
+ .make-grid(@grid-columns, lg, pull);
98
+ .make-grid(@grid-columns, lg, push);
99
+ .make-grid(@grid-columns, lg, offset);
346
100
  }