padrino-admin 0.10.7 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +22 -1
  3. data/lib/padrino-admin.rb +8 -1
  4. data/lib/padrino-admin/access_control.rb +6 -4
  5. data/lib/padrino-admin/bootstrap-less/accordion.less +34 -0
  6. data/lib/padrino-admin/bootstrap-less/alerts.less +98 -0
  7. data/lib/padrino-admin/bootstrap-less/badges.less +58 -0
  8. data/lib/padrino-admin/bootstrap-less/bootstrap.less +62 -0
  9. data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +25 -0
  10. data/lib/padrino-admin/bootstrap-less/button-groups.less +166 -0
  11. data/lib/padrino-admin/bootstrap-less/buttons.less +175 -0
  12. data/lib/padrino-admin/bootstrap-less/carousel.less +192 -0
  13. data/lib/padrino-admin/bootstrap-less/close.less +32 -0
  14. data/lib/padrino-admin/bootstrap-less/code.less +61 -0
  15. data/lib/padrino-admin/bootstrap-less/component-animations.less +32 -0
  16. data/lib/padrino-admin/bootstrap-less/dropdowns.less +223 -0
  17. data/lib/padrino-admin/bootstrap-less/font-awesome-ie7.less +350 -0
  18. data/lib/padrino-admin/bootstrap-less/font-awesome.less +537 -0
  19. data/lib/padrino-admin/bootstrap-less/forms.less +543 -0
  20. data/lib/padrino-admin/bootstrap-less/glyphicons.less +200 -0
  21. data/lib/padrino-admin/bootstrap-less/grid.less +49 -0
  22. data/lib/padrino-admin/bootstrap-less/jumbotron.less +32 -0
  23. data/lib/padrino-admin/bootstrap-less/labels.less +46 -0
  24. data/lib/padrino-admin/bootstrap-less/media.less +54 -0
  25. data/lib/padrino-admin/bootstrap-less/mixins.less +530 -0
  26. data/lib/padrino-admin/bootstrap-less/modals.less +136 -0
  27. data/lib/padrino-admin/bootstrap-less/navbar.less +379 -0
  28. data/lib/padrino-admin/bootstrap-less/navs.less +277 -0
  29. data/lib/padrino-admin/bootstrap-less/normalize.less +396 -0
  30. data/lib/padrino-admin/bootstrap-less/padrino-admin.less +16 -0
  31. data/lib/padrino-admin/bootstrap-less/pager.less +43 -0
  32. data/lib/padrino-admin/bootstrap-less/pagination.less +100 -0
  33. data/lib/padrino-admin/bootstrap-less/popovers.less +133 -0
  34. data/lib/padrino-admin/bootstrap-less/print.less +74 -0
  35. data/lib/padrino-admin/bootstrap-less/progress-bars.less +118 -0
  36. data/lib/padrino-admin/bootstrap-less/responsive-utilities.less +59 -0
  37. data/lib/padrino-admin/bootstrap-less/scaffolding.less +90 -0
  38. data/lib/padrino-admin/bootstrap-less/tables.less +231 -0
  39. data/lib/padrino-admin/bootstrap-less/thumbnails.less +42 -0
  40. data/lib/padrino-admin/bootstrap-less/tooltip.less +71 -0
  41. data/lib/padrino-admin/bootstrap-less/type.less +252 -0
  42. data/lib/padrino-admin/bootstrap-less/utilities.less +42 -0
  43. data/lib/padrino-admin/bootstrap-less/variables.less +316 -0
  44. data/lib/padrino-admin/bootstrap-less/wells.less +29 -0
  45. data/lib/padrino-admin/generators/actions.rb +18 -2
  46. data/lib/padrino-admin/generators/admin_app.rb +38 -26
  47. data/lib/padrino-admin/generators/admin_page.rb +8 -1
  48. data/lib/padrino-admin/generators/orm.rb +58 -11
  49. data/lib/padrino-admin/generators/templates/account/couchrest.rb.tt +1 -1
  50. data/lib/padrino-admin/generators/templates/account/{mini_record.rb.tt → minirecord.rb.tt} +0 -0
  51. data/lib/padrino-admin/generators/templates/account/mongoid.rb.tt +1 -1
  52. data/lib/padrino-admin/generators/templates/account/ohm.rb.tt +61 -0
  53. data/lib/padrino-admin/generators/templates/account/sequel.rb.tt +1 -1
  54. data/lib/padrino-admin/generators/templates/app.rb.tt +36 -29
  55. data/lib/padrino-admin/generators/templates/app/controllers/{base.rb → base.rb.tt} +1 -2
  56. data/lib/padrino-admin/generators/templates/app/controllers/sessions.rb.tt +6 -3
  57. data/lib/padrino-admin/generators/templates/assets/images/favicon.ico +0 -0
  58. data/lib/padrino-admin/generators/templates/assets/images/font/FontAwesome.otf +0 -0
  59. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.eot +0 -0
  60. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.svg +284 -0
  61. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.ttf +0 -0
  62. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.woff +0 -0
  63. data/lib/padrino-admin/generators/templates/assets/images/logo.png +0 -0
  64. data/lib/padrino-admin/generators/templates/assets/javascripts/application.js +117 -0
  65. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-affix.js +117 -0
  66. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-alert.js +99 -0
  67. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-button.js +105 -0
  68. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-carousel.js +207 -0
  69. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-collapse.js +167 -0
  70. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-dropdown.js +165 -0
  71. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-modal.js +251 -0
  72. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-popover.js +114 -0
  73. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-scrollspy.js +162 -0
  74. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-tab.js +144 -0
  75. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-tooltip.js +361 -0
  76. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-transition.js +60 -0
  77. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-typeahead.js +335 -0
  78. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +6 -0
  79. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-1.9.0.min.js +4 -0
  80. data/lib/padrino-admin/generators/templates/assets/stylesheets/application.css +346 -0
  81. data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +952 -0
  82. data/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt +13 -15
  83. data/lib/padrino-admin/generators/templates/erb/app/errors/403.erb.tt +3 -0
  84. data/lib/padrino-admin/generators/templates/erb/app/errors/404.erb.tt +3 -0
  85. data/lib/padrino-admin/generators/templates/erb/app/errors/500.erb.tt +3 -0
  86. data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +59 -39
  87. data/lib/padrino-admin/generators/templates/erb/app/layouts/error.erb.tt +23 -0
  88. data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +41 -53
  89. data/lib/padrino-admin/generators/templates/erb/page/_form.erb.tt +16 -9
  90. data/lib/padrino-admin/generators/templates/erb/page/edit.erb.tt +9 -17
  91. data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +73 -31
  92. data/lib/padrino-admin/generators/templates/erb/page/new.erb.tt +8 -16
  93. data/lib/padrino-admin/generators/templates/haml/app/base/index.haml.tt +11 -24
  94. data/lib/padrino-admin/generators/templates/haml/app/errors/403.haml.tt +3 -0
  95. data/lib/padrino-admin/generators/templates/haml/app/errors/404.haml.tt +3 -0
  96. data/lib/padrino-admin/generators/templates/haml/app/errors/500.haml.tt +3 -0
  97. data/lib/padrino-admin/generators/templates/haml/app/layouts/application.haml.tt +47 -29
  98. data/lib/padrino-admin/generators/templates/haml/app/layouts/error.haml.tt +18 -0
  99. data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +33 -28
  100. data/lib/padrino-admin/generators/templates/haml/page/_form.haml.tt +13 -9
  101. data/lib/padrino-admin/generators/templates/haml/page/edit.haml.tt +7 -14
  102. data/lib/padrino-admin/generators/templates/haml/page/index.haml.tt +56 -27
  103. data/lib/padrino-admin/generators/templates/haml/page/new.haml.tt +6 -13
  104. data/lib/padrino-admin/generators/templates/page/controller.rb.tt +57 -12
  105. data/lib/padrino-admin/generators/templates/slim/app/base/index.slim.tt +11 -24
  106. data/lib/padrino-admin/generators/templates/slim/app/errors/403.slim.tt +3 -0
  107. data/lib/padrino-admin/generators/templates/slim/app/errors/404.slim.tt +3 -0
  108. data/lib/padrino-admin/generators/templates/slim/app/errors/500.slim.tt +3 -0
  109. data/lib/padrino-admin/generators/templates/slim/app/layouts/application.slim.tt +43 -26
  110. data/lib/padrino-admin/generators/templates/slim/app/layouts/error.slim.tt +19 -0
  111. data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +31 -27
  112. data/lib/padrino-admin/generators/templates/slim/page/_form.slim.tt +13 -11
  113. data/lib/padrino-admin/generators/templates/slim/page/edit.slim.tt +7 -15
  114. data/lib/padrino-admin/generators/templates/slim/page/index.slim.tt +54 -28
  115. data/lib/padrino-admin/generators/templates/slim/page/new.slim.tt +6 -14
  116. data/lib/padrino-admin/helpers/authentication_helpers.rb +6 -4
  117. data/lib/padrino-admin/helpers/view_helpers.rb +27 -5
  118. data/lib/padrino-admin/locale/admin/cs.yml +53 -13
  119. data/lib/padrino-admin/locale/admin/da.yml +53 -13
  120. data/lib/padrino-admin/locale/admin/de.yml +53 -13
  121. data/lib/padrino-admin/locale/admin/en.yml +53 -13
  122. data/lib/padrino-admin/locale/admin/es.yml +53 -13
  123. data/lib/padrino-admin/locale/admin/fr.yml +53 -13
  124. data/lib/padrino-admin/locale/admin/hu.yml +53 -13
  125. data/lib/padrino-admin/locale/admin/it.yml +53 -13
  126. data/lib/padrino-admin/locale/admin/ja.yml +54 -13
  127. data/lib/padrino-admin/locale/admin/lv.yml +53 -13
  128. data/lib/padrino-admin/locale/admin/nl.yml +53 -13
  129. data/lib/padrino-admin/locale/admin/no.yml +53 -13
  130. data/lib/padrino-admin/locale/admin/pl.yml +53 -13
  131. data/lib/padrino-admin/locale/admin/pt_br.yml +53 -13
  132. data/lib/padrino-admin/locale/admin/ro.yml +53 -13
  133. data/lib/padrino-admin/locale/admin/ru.yml +54 -13
  134. data/lib/padrino-admin/locale/admin/sv.yml +53 -13
  135. data/lib/padrino-admin/locale/admin/tr.yml +53 -13
  136. data/lib/padrino-admin/locale/admin/uk.yml +53 -13
  137. data/lib/padrino-admin/locale/admin/zh_cn.yml +53 -13
  138. data/lib/padrino-admin/locale/admin/zh_tw.yml +53 -13
  139. data/lib/padrino-admin/locale/orm/fr.yml +8 -8
  140. data/padrino-admin.gemspec +2 -0
  141. data/test/fixtures/data_mapper.rb +0 -4
  142. data/test/generators/test_account_model_generator.rb +88 -18
  143. data/test/generators/test_admin_app_generator.rb +120 -165
  144. data/test/generators/test_admin_page_generator.rb +53 -56
  145. data/test/helper.rb +4 -0
  146. data/test/test_admin_application.rb +5 -5
  147. data/test/test_locale.rb +3 -3
  148. metadata +119 -35
  149. data/lib/padrino-admin/generators/templates/assets/stylesheets/base.css +0 -95
  150. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/amro/style.css +0 -364
  151. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/bec-green/style.css +0 -290
  152. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/bec/style.css +0 -301
  153. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/blue/style.css +0 -287
  154. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/default/style.css +0 -373
  155. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/djime-cerulean/style.css +0 -305
  156. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/kathleene/style.css +0 -279
  157. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/olive/style.css +0 -345
  158. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/orange/style.css +0 -269
  159. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/reidb-greenish/style.css +0 -302
  160. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/ruby/style.css +0 -281
  161. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/warehouse/style.css +0 -391
  162. data/lib/padrino-admin/generators/templates/erb/app/base/_sidebar.erb.tt +0 -13
  163. data/lib/padrino-admin/generators/templates/haml/app/base/_sidebar.haml.tt +0 -11
  164. data/lib/padrino-admin/generators/templates/slim/app/base/_sidebar.slim.tt +0 -11
@@ -0,0 +1,32 @@
1
+ //
2
+ // Component animations
3
+ // --------------------------------------------------
4
+
5
+
6
+ .fade {
7
+ opacity: 0;
8
+ .transition(opacity .15s linear);
9
+ &.in {
10
+ opacity: 1;
11
+ }
12
+ }
13
+
14
+ /*.collapse {
15
+ position: relative;
16
+ height: 0;
17
+ overflow: hidden;
18
+ .transition(height .35s ease);
19
+ &.in {
20
+ height: auto;
21
+ }
22
+ }*/
23
+
24
+ .collapse {
25
+ position: relative;
26
+ height: 0;
27
+ overflow: hidden;
28
+ .transition(height .35s ease);
29
+ }
30
+ .collapse.in {
31
+ height: auto;
32
+ }
@@ -0,0 +1,223 @@
1
+ //
2
+ // Dropdown menus
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
7
+ .dropup,
8
+ .dropdown {
9
+ position: relative;
10
+ }
11
+ .dropdown-toggle:active,
12
+ .open .dropdown-toggle {
13
+ outline: 0;
14
+ }
15
+
16
+ // Dropdown arrow/caret
17
+ // --------------------
18
+ .caret {
19
+ display: inline-block;
20
+ width: 0;
21
+ height: 0;
22
+ vertical-align: top;
23
+ border-top: 4px solid #000;
24
+ border-right: 4px solid transparent;
25
+ border-left: 4px solid transparent;
26
+ content: "";
27
+ }
28
+
29
+ // Place the caret
30
+ .dropdown .caret {
31
+ margin-top: 8px;
32
+ margin-left: 2px;
33
+ }
34
+
35
+ // The dropdown menu (ul)
36
+ // ----------------------
37
+ .dropdown-menu {
38
+ position: absolute;
39
+ top: 100%;
40
+ left: 0;
41
+ z-index: @zindex-dropdown;
42
+ display: none; // none by default, but block on "open" of the menu
43
+ float: left;
44
+ min-width: 160px;
45
+ padding: 5px 0;
46
+ margin: 2px 0 0; // override default ul
47
+ list-style: none;
48
+ background-color: @dropdown-background;
49
+ border: 1px solid #ccc; // IE8 fallback
50
+ border: 1px solid @dropdown-border;
51
+ border-radius: @border-radius-base;
52
+ .box-shadow(0 6px 12px rgba(0,0,0,.175));
53
+ .background-clip(padding-box);
54
+
55
+ // Aligns the dropdown menu to right
56
+ &.pull-right {
57
+ right: 0;
58
+ left: auto;
59
+ }
60
+
61
+ // Dividers (basically an hr) within the dropdown
62
+ .divider {
63
+ .nav-divider(@dropdown-divider-top, @dropdown-divider-bottom);
64
+ }
65
+
66
+ // Links within the dropdown menu
67
+ > li > a {
68
+ display: block;
69
+ padding: 3px 20px;
70
+ clear: both;
71
+ font-weight: normal;
72
+ line-height: @line-height-base;
73
+ color: @dropdown-link-color;
74
+ white-space: nowrap;
75
+ }
76
+ }
77
+
78
+ // Hover/Focus state
79
+ // -----------
80
+ .dropdown-menu > li > a:hover,
81
+ .dropdown-menu > li > a:focus,
82
+ .dropdown-submenu:hover > a,
83
+ .dropdown-submenu:focus > a {
84
+ text-decoration: none;
85
+ color: @dropdown-link-color-hover;
86
+ #gradient > .vertical(@dropdown-link-background-hover, darken(@dropdown-link-background-hover, 5%));
87
+ }
88
+
89
+ // Active state
90
+ // ------------
91
+ .dropdown-menu > .active > a,
92
+ .dropdown-menu > .active > a:hover,
93
+ .dropdown-menu > .active > a:focus {
94
+ color: @dropdown-link-color-active;
95
+ text-decoration: none;
96
+ outline: 0;
97
+ #gradient > .vertical(@dropdown-link-background-active, darken(@dropdown-link-background-active, 5%));
98
+ }
99
+
100
+ // Disabled state
101
+ // --------------
102
+ // Gray out text and ensure the hover/focus state remains gray
103
+ .dropdown-menu > .disabled > a,
104
+ .dropdown-menu > .disabled > a:hover,
105
+ .dropdown-menu > .disabled > a:focus {
106
+ color: @grayLight;
107
+ }
108
+ // Nuke hover/focus effects
109
+ .dropdown-menu > .disabled > a:hover,
110
+ .dropdown-menu > .disabled > a:focus {
111
+ text-decoration: none;
112
+ background-color: transparent;
113
+ background-image: none; // Remove CSS gradient
114
+ .reset-filter();
115
+ cursor: default;
116
+ }
117
+
118
+ // Open state for the dropdown
119
+ // ---------------------------
120
+ .open {
121
+ & > .dropdown-menu {
122
+ display: block;
123
+ }
124
+ }
125
+
126
+ // Right aligned dropdowns
127
+ // ---------------------------
128
+ .pull-right > .dropdown-menu {
129
+ right: 0;
130
+ left: auto;
131
+ }
132
+
133
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
134
+ // ------------------------------------------------------
135
+ // Just add .dropup after the standard .dropdown class and you're set, bro.
136
+ // TODO: abstract this so that the navbar fixed styles are not placed here?
137
+ .dropup,
138
+ .navbar-fixed-bottom .dropdown {
139
+ // Reverse the caret
140
+ .caret {
141
+ border-top: 0;
142
+ border-bottom: 4px solid #000;
143
+ content: "";
144
+ }
145
+ // Different positioning for bottom up menu
146
+ .dropdown-menu {
147
+ top: auto;
148
+ bottom: 100%;
149
+ margin-bottom: 1px;
150
+ }
151
+ }
152
+
153
+ // Sub menus
154
+ // ---------------------------
155
+ .dropdown-submenu {
156
+ position: relative;
157
+ }
158
+ // Default dropdowns
159
+ .dropdown-submenu > .dropdown-menu {
160
+ top: 0;
161
+ left: 100%;
162
+ margin-top: -6px;
163
+ margin-left: -1px;
164
+ border-top-left-radius: 0; // Nuke the closest corner as appropriate
165
+ }
166
+ .dropdown-submenu:hover > .dropdown-menu {
167
+ display: block;
168
+ }
169
+
170
+ // Dropups
171
+ .dropup .dropdown-submenu > .dropdown-menu {
172
+ top: auto;
173
+ bottom: 0;
174
+ margin-top: 0;
175
+ margin-bottom: -2px;
176
+ border-bottom-left-radius: 0; // Nuke the closest corner as appropriate
177
+ }
178
+
179
+ // Caret to indicate there is a submenu
180
+ .dropdown-submenu > a:after {
181
+ display: block;
182
+ content: " ";
183
+ float: right;
184
+ width: 0;
185
+ height: 0;
186
+ border-color: transparent;
187
+ border-style: solid;
188
+ border-width: 5px 0 5px 5px;
189
+ border-left-color: darken(@dropdown-background, 20%);
190
+ margin-top: 5px;
191
+ margin-right: -10px;
192
+ }
193
+ .dropdown-submenu:hover > a:after {
194
+ border-left-color: @dropdown-link-color-hover;
195
+ }
196
+
197
+ // Left aligned submenus
198
+ .dropdown-submenu.pull-left {
199
+ // Undo the float
200
+ // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
201
+ float: none;
202
+
203
+ // Positioning the submenu
204
+ > .dropdown-menu {
205
+ left: -100%;
206
+ margin-left: 10px;
207
+ border-top-right-radius: 0; // Remove the rounded corner here
208
+ }
209
+ }
210
+
211
+ // Tweak nav headers
212
+ // ---------------------------
213
+ // Increase padding from 15px to 20px on sides
214
+ .dropdown .dropdown-menu .nav-header {
215
+ padding-left: 20px;
216
+ padding-right: 20px;
217
+ }
218
+
219
+ // Typeahead
220
+ // ---------------------------
221
+ .typeahead {
222
+ z-index: 1051;
223
+ }
@@ -0,0 +1,350 @@
1
+ /*!
2
+ * Font Awesome 3.0.2
3
+ * the iconic font designed for use with Twitter Bootstrap
4
+ * -------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation
6
+ * can be found at: http://fortawesome.github.com/Font-Awesome/
7
+ *
8
+ * License
9
+ * -------------------------------------------------------
10
+ * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
11
+ * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
12
+ * http://opensource.org/licenses/mit-license.html
13
+ * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
14
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
15
+ * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
16
+
17
+ * Contact
18
+ * -------------------------------------------------------
19
+ * Email: dave@davegandy.com
20
+ * Twitter: http://twitter.com/fortaweso_me
21
+ * Work: Lead Product Designer @ http://kyruus.com
22
+ */
23
+
24
+ .icon-large {
25
+ font-size: 4/3em;
26
+ margin-top: -4px;
27
+ padding-top: 3px;
28
+ margin-bottom: -4px;
29
+ padding-bottom: 3px;
30
+ vertical-align: middle;
31
+ }
32
+
33
+ .nav {
34
+ [class^="icon-"],
35
+ [class*=" icon-"] {
36
+ vertical-align: inherit;
37
+ margin-top: -4px;
38
+ padding-top: 3px;
39
+ margin-bottom: -4px;
40
+ padding-bottom: 3px;
41
+ &.icon-large {
42
+ vertical-align: -25%;
43
+ }
44
+ }
45
+ }
46
+
47
+ .nav-pills, .nav-tabs {
48
+ [class^="icon-"],
49
+ [class*=" icon-"] {
50
+ &.icon-large {
51
+ line-height: .75em;
52
+ margin-top: -7px;
53
+ padding-top: 5px;
54
+ margin-bottom: -5px;
55
+ padding-bottom: 4px;
56
+ }
57
+ }
58
+ }
59
+
60
+ .btn {
61
+ [class^="icon-"],
62
+ [class*=" icon-"] {
63
+ &.pull-left, &.pull-right { vertical-align: inherit; }
64
+ &.icon-large {
65
+ margin-top: -.5em;
66
+ }
67
+ }
68
+ }
69
+
70
+ a [class^="icon-"],
71
+ a [class*=" icon-"] {
72
+ cursor: pointer;
73
+ }
74
+
75
+ ul.icons {
76
+ text-indent: -1.5em;
77
+ margin-left: 3em;
78
+ }
79
+
80
+
81
+ .ie7icon(@inner) {
82
+ *zoom: ~"expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '@{inner}')";
83
+ }
84
+
85
+ .icon-glass { .ie7icon('&#xf000;'); }
86
+ .icon-music { .ie7icon('&#xf001;'); }
87
+ .icon-search { .ie7icon('&#xf002;'); }
88
+ .icon-envelope { .ie7icon('&#xf003;'); }
89
+ .icon-heart { .ie7icon('&#xf004;'); }
90
+ .icon-star { .ie7icon('&#xf005;'); }
91
+ .icon-star-empty { .ie7icon('&#xf006;'); }
92
+ .icon-user { .ie7icon('&#xf007;'); }
93
+ .icon-film { .ie7icon('&#xf008;'); }
94
+ .icon-th-large { .ie7icon('&#xf009;'); }
95
+ .icon-th { .ie7icon('&#xf00a;'); }
96
+ .icon-th-list { .ie7icon('&#xf00b;'); }
97
+ .icon-ok { .ie7icon('&#xf00c;'); }
98
+ .icon-remove { .ie7icon('&#xf00d;'); }
99
+ .icon-zoom-in { .ie7icon('&#xf00e;'); }
100
+
101
+ .icon-zoom-out { .ie7icon('&#xf010;'); }
102
+ .icon-off { .ie7icon('&#xf011;'); }
103
+ .icon-signal { .ie7icon('&#xf012;'); }
104
+ .icon-cog { .ie7icon('&#xf013;'); }
105
+ .icon-trash { .ie7icon('&#xf014;'); }
106
+ .icon-home { .ie7icon('&#xf015;'); }
107
+ .icon-file { .ie7icon('&#xf016;'); }
108
+ .icon-time { .ie7icon('&#xf017;'); }
109
+ .icon-road { .ie7icon('&#xf018;'); }
110
+ .icon-download-alt { .ie7icon('&#xf019;'); }
111
+ .icon-download { .ie7icon('&#xf01a;'); }
112
+ .icon-upload { .ie7icon('&#xf01b;'); }
113
+ .icon-inbox { .ie7icon('&#xf01c;'); }
114
+ .icon-play-circle { .ie7icon('&#xf01d;'); }
115
+ .icon-repeat { .ie7icon('&#xf01e;'); }
116
+
117
+ .icon-refresh { .ie7icon('&#xf021;'); }
118
+ .icon-list-alt { .ie7icon('&#xf022;'); }
119
+ .icon-lock { .ie7icon('&#xf023;'); }
120
+ .icon-flag { .ie7icon('&#xf024;'); }
121
+ .icon-headphones { .ie7icon('&#xf025;'); }
122
+ .icon-volume-off { .ie7icon('&#xf026;'); }
123
+ .icon-volume-down { .ie7icon('&#xf027;'); }
124
+ .icon-volume-up { .ie7icon('&#xf028;'); }
125
+ .icon-qrcode { .ie7icon('&#xf029;'); }
126
+ .icon-barcode { .ie7icon('&#xf02a;'); }
127
+ .icon-tag { .ie7icon('&#xf02b;'); }
128
+ .icon-tags { .ie7icon('&#xf02c;'); }
129
+ .icon-book { .ie7icon('&#xf02d;'); }
130
+ .icon-bookmark { .ie7icon('&#xf02e;'); }
131
+ .icon-print { .ie7icon('&#xf02f;'); }
132
+
133
+ .icon-camera { .ie7icon('&#xf030;'); }
134
+ .icon-font { .ie7icon('&#xf031;'); }
135
+ .icon-bold { .ie7icon('&#xf032;'); }
136
+ .icon-italic { .ie7icon('&#xf033;'); }
137
+ .icon-text-height { .ie7icon('&#xf034;'); }
138
+ .icon-text-width { .ie7icon('&#xf035;'); }
139
+ .icon-align-left { .ie7icon('&#xf036;'); }
140
+ .icon-align-center { .ie7icon('&#xf037;'); }
141
+ .icon-align-right { .ie7icon('&#xf038;'); }
142
+ .icon-align-justify { .ie7icon('&#xf039;'); }
143
+ .icon-list { .ie7icon('&#xf03a;'); }
144
+ .icon-indent-left { .ie7icon('&#xf03b;'); }
145
+ .icon-indent-right { .ie7icon('&#xf03c;'); }
146
+ .icon-facetime-video { .ie7icon('&#xf03d;'); }
147
+ .icon-picture { .ie7icon('&#xf03e;'); }
148
+
149
+ .icon-pencil { .ie7icon('&#xf040;'); }
150
+ .icon-map-marker { .ie7icon('&#xf041;'); }
151
+ .icon-adjust { .ie7icon('&#xf042;'); }
152
+ .icon-tint { .ie7icon('&#xf043;'); }
153
+ .icon-edit { .ie7icon('&#xf044;'); }
154
+ .icon-share { .ie7icon('&#xf045;'); }
155
+ .icon-check { .ie7icon('&#xf046;'); }
156
+ .icon-move { .ie7icon('&#xf047;'); }
157
+ .icon-step-backward { .ie7icon('&#xf048;'); }
158
+ .icon-fast-backward { .ie7icon('&#xf049;'); }
159
+ .icon-backward { .ie7icon('&#xf04a;'); }
160
+ .icon-play { .ie7icon('&#xf04b;'); }
161
+ .icon-pause { .ie7icon('&#xf04c;'); }
162
+ .icon-stop { .ie7icon('&#xf04d;'); }
163
+ .icon-forward { .ie7icon('&#xf04e;'); }
164
+
165
+ .icon-fast-forward { .ie7icon('&#xf050;'); }
166
+ .icon-step-forward { .ie7icon('&#xf051;'); }
167
+ .icon-eject { .ie7icon('&#xf052;'); }
168
+ .icon-chevron-left { .ie7icon('&#xf053;'); }
169
+ .icon-chevron-right { .ie7icon('&#xf054;'); }
170
+ .icon-plus-sign { .ie7icon('&#xf055;'); }
171
+ .icon-minus-sign { .ie7icon('&#xf056;'); }
172
+ .icon-remove-sign { .ie7icon('&#xf057;'); }
173
+ .icon-ok-sign { .ie7icon('&#xf058;'); }
174
+ .icon-question-sign { .ie7icon('&#xf059;'); }
175
+ .icon-info-sign { .ie7icon('&#xf05a;'); }
176
+ .icon-screenshot { .ie7icon('&#xf05b;'); }
177
+ .icon-remove-circle { .ie7icon('&#xf05c;'); }
178
+ .icon-ok-circle { .ie7icon('&#xf05d;'); }
179
+ .icon-ban-circle { .ie7icon('&#xf05e;'); }
180
+
181
+ .icon-arrow-left { .ie7icon('&#xf060;'); }
182
+ .icon-arrow-right { .ie7icon('&#xf061;'); }
183
+ .icon-arrow-up { .ie7icon('&#xf062;'); }
184
+ .icon-arrow-down { .ie7icon('&#xf063;'); }
185
+ .icon-share-alt { .ie7icon('&#xf064;'); }
186
+ .icon-resize-full { .ie7icon('&#xf065;'); }
187
+ .icon-resize-small { .ie7icon('&#xf066;'); }
188
+ .icon-plus { .ie7icon('&#xf067;'); }
189
+ .icon-minus { .ie7icon('&#xf068;'); }
190
+ .icon-asterisk { .ie7icon('&#xf069;'); }
191
+ .icon-exclamation-sign { .ie7icon('&#xf06a;'); }
192
+ .icon-gift { .ie7icon('&#xf06b;'); }
193
+ .icon-leaf { .ie7icon('&#xf06c;'); }
194
+ .icon-fire { .ie7icon('&#xf06d;'); }
195
+ .icon-eye-open { .ie7icon('&#xf06e;'); }
196
+
197
+ .icon-eye-close { .ie7icon('&#xf070;'); }
198
+ .icon-warning-sign { .ie7icon('&#xf071;'); }
199
+ .icon-plane { .ie7icon('&#xf072;'); }
200
+ .icon-calendar { .ie7icon('&#xf073;'); }
201
+ .icon-random { .ie7icon('&#xf074;'); }
202
+ .icon-comment { .ie7icon('&#xf075;'); }
203
+ .icon-magnet { .ie7icon('&#xf076;'); }
204
+ .icon-chevron-up { .ie7icon('&#xf077;'); }
205
+ .icon-chevron-down { .ie7icon('&#xf078;'); }
206
+ .icon-retweet { .ie7icon('&#xf079;'); }
207
+ .icon-shopping-cart { .ie7icon('&#xf07a;'); }
208
+ .icon-folder-close { .ie7icon('&#xf07b;'); }
209
+ .icon-folder-open { .ie7icon('&#xf07c;'); }
210
+ .icon-resize-vertical { .ie7icon('&#xf07d;'); }
211
+ .icon-resize-horizontal { .ie7icon('&#xf07e;'); }
212
+
213
+ .icon-bar-chart { .ie7icon('&#xf080;'); }
214
+ .icon-twitter-sign { .ie7icon('&#xf081;'); }
215
+ .icon-facebook-sign { .ie7icon('&#xf082;'); }
216
+ .icon-camera-retro { .ie7icon('&#xf083;'); }
217
+ .icon-key { .ie7icon('&#xf084;'); }
218
+ .icon-cogs { .ie7icon('&#xf085;'); }
219
+ .icon-comments { .ie7icon('&#xf086;'); }
220
+ .icon-thumbs-up { .ie7icon('&#xf087;'); }
221
+ .icon-thumbs-down { .ie7icon('&#xf088;'); }
222
+ .icon-star-half { .ie7icon('&#xf089;'); }
223
+ .icon-heart-empty { .ie7icon('&#xf08a;'); }
224
+ .icon-signout { .ie7icon('&#xf08b;'); }
225
+ .icon-linkedin-sign { .ie7icon('&#xf08c;'); }
226
+ .icon-pushpin { .ie7icon('&#xf08d;'); }
227
+ .icon-external-link { .ie7icon('&#xf08e;'); }
228
+
229
+ .icon-signin { .ie7icon('&#xf090;'); }
230
+ .icon-trophy { .ie7icon('&#xf091;'); }
231
+ .icon-github-sign { .ie7icon('&#xf092;'); }
232
+ .icon-upload-alt { .ie7icon('&#xf093;'); }
233
+ .icon-lemon { .ie7icon('&#xf094;'); }
234
+ .icon-phone { .ie7icon('&#xf095;'); }
235
+ .icon-check-empty { .ie7icon('&#xf096;'); }
236
+ .icon-bookmark-empty { .ie7icon('&#xf097;'); }
237
+ .icon-phone-sign { .ie7icon('&#xf098;'); }
238
+ .icon-twitter { .ie7icon('&#xf099;'); }
239
+ .icon-facebook { .ie7icon('&#xf09a;'); }
240
+ .icon-github { .ie7icon('&#xf09b;'); }
241
+ .icon-unlock { .ie7icon('&#xf09c;'); }
242
+ .icon-credit-card { .ie7icon('&#xf09d;'); }
243
+ .icon-rss { .ie7icon('&#xf09e;'); }
244
+
245
+ .icon-hdd { .ie7icon('&#xf0a0;'); }
246
+ .icon-bullhorn { .ie7icon('&#xf0a1;'); }
247
+ .icon-bell { .ie7icon('&#xf0a2;'); }
248
+ .icon-certificate { .ie7icon('&#xf0a3;'); }
249
+ .icon-hand-right { .ie7icon('&#xf0a4;'); }
250
+ .icon-hand-left { .ie7icon('&#xf0a5;'); }
251
+ .icon-hand-up { .ie7icon('&#xf0a6;'); }
252
+ .icon-hand-down { .ie7icon('&#xf0a7;'); }
253
+ .icon-circle-arrow-left { .ie7icon('&#xf0a8;'); }
254
+ .icon-circle-arrow-right { .ie7icon('&#xf0a9;'); }
255
+ .icon-circle-arrow-up { .ie7icon('&#xf0aa;'); }
256
+ .icon-circle-arrow-down { .ie7icon('&#xf0ab;'); }
257
+ .icon-globe { .ie7icon('&#xf0ac;'); }
258
+ .icon-wrench { .ie7icon('&#xf0ad;'); }
259
+ .icon-tasks { .ie7icon('&#xf0ae;'); }
260
+
261
+ .icon-filter { .ie7icon('&#xf0b0;'); }
262
+ .icon-briefcase { .ie7icon('&#xf0b1;'); }
263
+ .icon-fullscreen { .ie7icon('&#xf0b2;'); }
264
+
265
+ .icon-group { .ie7icon('&#xf0c0;'); }
266
+ .icon-link { .ie7icon('&#xf0c1;'); }
267
+ .icon-cloud { .ie7icon('&#xf0c2;'); }
268
+ .icon-beaker { .ie7icon('&#xf0c3;'); }
269
+ .icon-cut { .ie7icon('&#xf0c4;'); }
270
+ .icon-copy { .ie7icon('&#xf0c5;'); }
271
+ .icon-paper-clip { .ie7icon('&#xf0c6;'); }
272
+ .icon-save { .ie7icon('&#xf0c7;'); }
273
+ .icon-sign-blank { .ie7icon('&#xf0c8;'); }
274
+ .icon-reorder { .ie7icon('&#xf0c9;'); }
275
+ .icon-list-ul { .ie7icon('&#xf0ca;'); }
276
+ .icon-list-ol { .ie7icon('&#xf0cb;'); }
277
+ .icon-strikethrough { .ie7icon('&#xf0cc;'); }
278
+ .icon-underline { .ie7icon('&#xf0cd;'); }
279
+ .icon-table { .ie7icon('&#xf0ce;'); }
280
+
281
+ .icon-magic { .ie7icon('&#xf0d0;'); }
282
+ .icon-truck { .ie7icon('&#xf0d1;'); }
283
+ .icon-pinterest { .ie7icon('&#xf0d2;'); }
284
+ .icon-pinterest-sign { .ie7icon('&#xf0d3;'); }
285
+ .icon-google-plus-sign { .ie7icon('&#xf0d4;'); }
286
+ .icon-google-plus { .ie7icon('&#xf0d5;'); }
287
+ .icon-money { .ie7icon('&#xf0d6;'); }
288
+ .icon-caret-down { .ie7icon('&#xf0d7;'); }
289
+ .icon-caret-up { .ie7icon('&#xf0d8;'); }
290
+ .icon-caret-left { .ie7icon('&#xf0d9;'); }
291
+ .icon-caret-right { .ie7icon('&#xf0da;'); }
292
+ .icon-columns { .ie7icon('&#xf0db;'); }
293
+ .icon-sort { .ie7icon('&#xf0dc;'); }
294
+ .icon-sort-down { .ie7icon('&#xf0dd;'); }
295
+ .icon-sort-up { .ie7icon('&#xf0de;'); }
296
+
297
+ .icon-envelope-alt { .ie7icon('&#xf0e0;'); }
298
+ .icon-linkedin { .ie7icon('&#xf0e1;'); }
299
+ .icon-undo { .ie7icon('&#xf0e2;'); }
300
+ .icon-legal { .ie7icon('&#xf0e3;'); }
301
+ .icon-dashboard { .ie7icon('&#xf0e4;'); }
302
+ .icon-comment-alt { .ie7icon('&#xf0e5;'); }
303
+ .icon-comments-alt { .ie7icon('&#xf0e6;'); }
304
+ .icon-bolt { .ie7icon('&#xf0e7;'); }
305
+ .icon-sitemap { .ie7icon('&#xf0e8;'); }
306
+ .icon-umbrella { .ie7icon('&#xf0e9;'); }
307
+ .icon-paste { .ie7icon('&#xf0ea;'); }
308
+ .icon-lightbulb { .ie7icon('&#xf0eb;'); }
309
+ .icon-exchange { .ie7icon('&#xf0ec;'); }
310
+ .icon-cloud-download { .ie7icon('&#xf0ed;'); }
311
+ .icon-cloud-upload { .ie7icon('&#xf0ee;'); }
312
+
313
+ .icon-user-md { .ie7icon('&#xf0f0;'); }
314
+ .icon-stethoscope { .ie7icon('&#xf0f1;'); }
315
+ .icon-suitcase { .ie7icon('&#xf0f2;'); }
316
+ .icon-bell-alt { .ie7icon('&#xf0f3;'); }
317
+ .icon-coffee { .ie7icon('&#xf0f4;'); }
318
+ .icon-food { .ie7icon('&#xf0f5;'); }
319
+ .icon-file-alt { .ie7icon('&#xf0f6;'); }
320
+ .icon-building { .ie7icon('&#xf0f7;'); }
321
+ .icon-hospital { .ie7icon('&#xf0f8;'); }
322
+ .icon-ambulance { .ie7icon('&#xf0f9;'); }
323
+ .icon-medkit { .ie7icon('&#xf0fa;'); }
324
+ .icon-fighter-jet { .ie7icon('&#xf0fb;'); }
325
+ .icon-beer { .ie7icon('&#xf0fc;'); }
326
+ .icon-h-sign { .ie7icon('&#xf0fd;'); }
327
+ .icon-plus-sign-alt { .ie7icon('&#xf0fe;'); }
328
+
329
+ .icon-double-angle-left { .ie7icon('&#xf100;'); }
330
+ .icon-double-angle-right { .ie7icon('&#xf101;'); }
331
+ .icon-double-angle-up { .ie7icon('&#xf102;'); }
332
+ .icon-double-angle-down { .ie7icon('&#xf103;'); }
333
+ .icon-angle-left { .ie7icon('&#xf104;'); }
334
+ .icon-angle-right { .ie7icon('&#xf105;'); }
335
+ .icon-angle-up { .ie7icon('&#xf106;'); }
336
+ .icon-angle-down { .ie7icon('&#xf107;'); }
337
+ .icon-desktop { .ie7icon('&#xf108;'); }
338
+ .icon-laptop { .ie7icon('&#xf109;'); }
339
+ .icon-tablet { .ie7icon('&#xf10a;'); }
340
+ .icon-mobile-phone { .ie7icon('&#xf10b;'); }
341
+ .icon-circle-blank { .ie7icon('&#xf10c;'); }
342
+ .icon-quote-left { .ie7icon('&#xf10d;'); }
343
+ .icon-quote-right { .ie7icon('&#xf10e;'); }
344
+
345
+ .icon-spinner { .ie7icon('&#xf110;'); }
346
+ .icon-circle { .ie7icon('&#xf111;'); }
347
+ .icon-reply { .ie7icon('&#xf112;'); }
348
+ .icon-github-alt { .ie7icon('&#xf113;'); }
349
+ .icon-folder-close-alt { .ie7icon('&#xf114;'); }
350
+ .icon-folder-open-alt { .ie7icon('&#xf115;'); }