spiderfw 0.6.22 → 0.6.23

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 (251) hide show
  1. data/CHANGELOG +9 -0
  2. data/VERSION +1 -1
  3. data/apps/app_server/controllers/app_server_controller.rb +7 -2
  4. data/apps/app_server/lib/git_app.rb +5 -3
  5. data/apps/cas_server/controllers/mixins/cas_login_mixin.rb +2 -1
  6. data/apps/core/admin/controllers/admin_controller.rb +4 -4
  7. data/apps/core/admin/controllers/app_admin_controller.rb +3 -2
  8. data/apps/core/admin/public/css/sass/admin.css +56 -31
  9. data/apps/core/admin/public/sass/admin.scss +38 -4
  10. data/apps/core/admin/views/_breadcrumb.shtml +8 -0
  11. data/apps/core/admin/views/admin.layout.shtml +8 -5
  12. data/apps/core/auth/controllers/login_controller.rb +3 -8
  13. data/apps/core/components/assets.rb +37 -1
  14. data/apps/core/components/public/bootstrap/LICENSE +13 -0
  15. data/apps/core/components/public/bootstrap/README.md +28 -0
  16. data/apps/core/components/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
  17. data/apps/core/components/public/bootstrap/img/glyphicons-halflings.png +0 -0
  18. data/apps/core/components/public/bootstrap/js/README.md +106 -0
  19. data/apps/core/components/public/bootstrap/js/bootstrap-alert.js +91 -0
  20. data/apps/core/components/public/bootstrap/js/bootstrap-button.js +98 -0
  21. data/apps/core/components/public/bootstrap/js/bootstrap-carousel.js +154 -0
  22. data/apps/core/components/public/bootstrap/js/bootstrap-collapse.js +136 -0
  23. data/apps/core/components/public/bootstrap/js/bootstrap-dropdown.js +92 -0
  24. data/apps/core/components/public/bootstrap/js/bootstrap-modal.js +209 -0
  25. data/apps/core/components/public/bootstrap/js/bootstrap-popover.js +95 -0
  26. data/apps/core/components/public/bootstrap/js/bootstrap-scrollspy.js +125 -0
  27. data/apps/core/components/public/bootstrap/js/bootstrap-tab.js +130 -0
  28. data/apps/core/components/public/bootstrap/js/bootstrap-tooltip.js +270 -0
  29. data/apps/core/components/public/bootstrap/js/bootstrap-transition.js +51 -0
  30. data/apps/core/components/public/bootstrap/js/bootstrap-typeahead.js +271 -0
  31. data/apps/core/components/public/bootstrap/js/tests/index.html +49 -0
  32. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-alert.js +41 -0
  33. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-button.js +54 -0
  34. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-collapse.js +25 -0
  35. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-dropdown.js +53 -0
  36. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-modal.js +85 -0
  37. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-popover.js +93 -0
  38. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-scrollspy.js +31 -0
  39. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tab.js +45 -0
  40. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tooltip.js +62 -0
  41. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-transition.js +13 -0
  42. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-typeahead.js +128 -0
  43. data/apps/core/components/public/bootstrap/js/tests/vendor/jquery.js +9252 -0
  44. data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.css +232 -0
  45. data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.js +1510 -0
  46. data/apps/core/components/public/bootstrap/scss/_accordion.scss +28 -0
  47. data/apps/core/components/public/bootstrap/scss/_alerts.scss +70 -0
  48. data/apps/core/components/public/bootstrap/scss/_breadcrumbs.scss +22 -0
  49. data/apps/core/components/public/bootstrap/scss/_button-groups.scss +146 -0
  50. data/apps/core/components/public/bootstrap/scss/_buttons.scss +165 -0
  51. data/apps/core/components/public/bootstrap/scss/_carousel.scss +121 -0
  52. data/apps/core/components/public/bootstrap/scss/_close.scss +18 -0
  53. data/apps/core/components/public/bootstrap/scss/_code.scss +44 -0
  54. data/apps/core/components/public/bootstrap/scss/_component-animations.scss +18 -0
  55. data/apps/core/components/public/bootstrap/scss/_custom.css +0 -0
  56. data/apps/core/components/public/bootstrap/scss/_dropdowns.scss +131 -0
  57. data/apps/core/components/public/bootstrap/scss/_forms.scss +516 -0
  58. data/apps/core/components/public/bootstrap/scss/_grid.scss +8 -0
  59. data/apps/core/components/public/bootstrap/scss/_hero-unit.scss +20 -0
  60. data/apps/core/components/public/bootstrap/scss/_labels.scss +16 -0
  61. data/apps/core/components/public/bootstrap/scss/_layouts.scss +17 -0
  62. data/apps/core/components/public/bootstrap/scss/_mixins.scss +538 -0
  63. data/apps/core/components/public/bootstrap/scss/_modals.scss +72 -0
  64. data/apps/core/components/public/bootstrap/scss/_navbar.scss +292 -0
  65. data/apps/core/components/public/bootstrap/scss/_navs.scss +343 -0
  66. data/apps/core/components/public/bootstrap/scss/_pager.scss +30 -0
  67. data/apps/core/components/public/bootstrap/scss/_pagination.scss +64 -0
  68. data/apps/core/components/public/bootstrap/scss/_patterns.scss +13 -0
  69. data/apps/core/components/public/bootstrap/scss/_popovers.scss +49 -0
  70. data/apps/core/components/public/bootstrap/scss/_print.scss +18 -0
  71. data/apps/core/components/public/bootstrap/scss/_progress-bars.scss +95 -0
  72. data/apps/core/{admin/public/sass/bootstrap/reset.scss → components/public/bootstrap/scss/_reset.scss} +36 -51
  73. data/apps/core/components/public/bootstrap/scss/_scaffolding.scss +29 -0
  74. data/apps/core/components/public/bootstrap/scss/_sprites.scss +156 -0
  75. data/apps/core/components/public/bootstrap/scss/_tables.scss +139 -0
  76. data/apps/core/components/public/bootstrap/scss/_thumbnails.scss +35 -0
  77. data/apps/core/components/public/bootstrap/scss/_tooltip.scss +35 -0
  78. data/apps/core/components/public/bootstrap/scss/_type.scss +217 -0
  79. data/apps/core/components/public/bootstrap/scss/_utilities.scss +23 -0
  80. data/apps/core/components/public/bootstrap/scss/_variables.scss +99 -0
  81. data/apps/core/components/public/bootstrap/scss/_wells.scss +17 -0
  82. data/apps/core/components/public/bootstrap/scss/bootstrap-responsive.css +707 -0
  83. data/apps/core/components/public/bootstrap/scss/bootstrap-responsive.scss +323 -0
  84. data/apps/core/components/public/bootstrap/scss/bootstrap.css +4604 -0
  85. data/apps/core/components/public/bootstrap/scss/bootstrap.scss +62 -0
  86. data/apps/core/components/public/bootstrap/scss/config.rb +36 -0
  87. data/apps/core/components/public/css/admin.css +2 -1
  88. data/apps/core/components/public/css/sass/bootstrap/bootstrap.css +3107 -0
  89. data/apps/core/components/public/css/table_base.css +9 -0
  90. data/apps/core/components/public/widgets/month_calendar.js +9 -0
  91. data/apps/core/components/widgets/crud/crud.rb +9 -1
  92. data/apps/core/components/widgets/crud/crud.shtml +2 -2
  93. data/apps/core/components/widgets/month_calendar/month_calendar.shtml +1 -0
  94. data/apps/core/components/widgets/table/table.rb +84 -55
  95. data/apps/core/components/widgets/table/table.shtml +2 -1
  96. data/apps/core/forms/public/ckeditor/CHANGES.html +139 -1
  97. data/apps/core/forms/public/ckeditor/LICENSE.html +1 -8
  98. data/apps/core/forms/public/ckeditor/ckeditor.js +141 -137
  99. data/apps/core/forms/public/ckeditor/ckeditor_basic.js +3 -3
  100. data/apps/core/forms/public/ckeditor/ckeditor_basic_source.js +1 -1
  101. data/apps/core/forms/public/ckeditor/ckeditor_source.js +13 -3
  102. data/apps/core/forms/public/ckeditor/contents.css +4 -2
  103. data/apps/core/forms/public/ckeditor/lang/_translationstatus.txt +59 -59
  104. data/apps/core/forms/public/ckeditor/lang/af.js +1 -1
  105. data/apps/core/forms/public/ckeditor/lang/ar.js +1 -1
  106. data/apps/core/forms/public/ckeditor/lang/bg.js +1 -1
  107. data/apps/core/forms/public/ckeditor/lang/bn.js +1 -1
  108. data/apps/core/forms/public/ckeditor/lang/bs.js +1 -1
  109. data/apps/core/forms/public/ckeditor/lang/ca.js +1 -1
  110. data/apps/core/forms/public/ckeditor/lang/cs.js +1 -1
  111. data/apps/core/forms/public/ckeditor/lang/cy.js +1 -1
  112. data/apps/core/forms/public/ckeditor/lang/da.js +1 -1
  113. data/apps/core/forms/public/ckeditor/lang/de.js +1 -1
  114. data/apps/core/forms/public/ckeditor/lang/el.js +1 -1
  115. data/apps/core/forms/public/ckeditor/lang/en-au.js +1 -1
  116. data/apps/core/forms/public/ckeditor/lang/en-ca.js +1 -1
  117. data/apps/core/forms/public/ckeditor/lang/en-gb.js +1 -1
  118. data/apps/core/forms/public/ckeditor/lang/en.js +1 -1
  119. data/apps/core/forms/public/ckeditor/lang/eo.js +1 -1
  120. data/apps/core/forms/public/ckeditor/lang/es.js +1 -1
  121. data/apps/core/forms/public/ckeditor/lang/et.js +1 -1
  122. data/apps/core/forms/public/ckeditor/lang/eu.js +1 -1
  123. data/apps/core/forms/public/ckeditor/lang/fa.js +1 -1
  124. data/apps/core/forms/public/ckeditor/lang/fi.js +1 -1
  125. data/apps/core/forms/public/ckeditor/lang/fo.js +1 -1
  126. data/apps/core/forms/public/ckeditor/lang/fr-ca.js +1 -1
  127. data/apps/core/forms/public/ckeditor/lang/fr.js +1 -1
  128. data/apps/core/forms/public/ckeditor/lang/gl.js +1 -1
  129. data/apps/core/forms/public/ckeditor/lang/gu.js +1 -1
  130. data/apps/core/forms/public/ckeditor/lang/he.js +1 -1
  131. data/apps/core/forms/public/ckeditor/lang/hi.js +1 -1
  132. data/apps/core/forms/public/ckeditor/lang/hr.js +1 -1
  133. data/apps/core/forms/public/ckeditor/lang/hu.js +1 -1
  134. data/apps/core/forms/public/ckeditor/lang/is.js +1 -1
  135. data/apps/core/forms/public/ckeditor/lang/it.js +1 -1
  136. data/apps/core/forms/public/ckeditor/lang/ja.js +1 -1
  137. data/apps/core/forms/public/ckeditor/lang/ka.js +1 -1
  138. data/apps/core/forms/public/ckeditor/lang/km.js +1 -1
  139. data/apps/core/forms/public/ckeditor/lang/ko.js +1 -1
  140. data/apps/core/forms/public/ckeditor/lang/lt.js +1 -1
  141. data/apps/core/forms/public/ckeditor/lang/lv.js +1 -1
  142. data/apps/core/forms/public/ckeditor/lang/mn.js +1 -1
  143. data/apps/core/forms/public/ckeditor/lang/ms.js +1 -1
  144. data/apps/core/forms/public/ckeditor/lang/nb.js +1 -1
  145. data/apps/core/forms/public/ckeditor/lang/nl.js +1 -1
  146. data/apps/core/forms/public/ckeditor/lang/no.js +1 -1
  147. data/apps/core/forms/public/ckeditor/lang/pl.js +1 -1
  148. data/apps/core/forms/public/ckeditor/lang/pt-br.js +1 -1
  149. data/apps/core/forms/public/ckeditor/lang/pt.js +1 -1
  150. data/apps/core/forms/public/ckeditor/lang/ro.js +1 -1
  151. data/apps/core/forms/public/ckeditor/lang/ru.js +1 -1
  152. data/apps/core/forms/public/ckeditor/lang/sk.js +1 -1
  153. data/apps/core/forms/public/ckeditor/lang/sl.js +1 -1
  154. data/apps/core/forms/public/ckeditor/lang/sr-latn.js +1 -1
  155. data/apps/core/forms/public/ckeditor/lang/sr.js +1 -1
  156. data/apps/core/forms/public/ckeditor/lang/sv.js +1 -1
  157. data/apps/core/forms/public/ckeditor/lang/th.js +1 -1
  158. data/apps/core/forms/public/ckeditor/lang/tr.js +1 -1
  159. data/apps/core/forms/public/ckeditor/lang/uk.js +1 -1
  160. data/apps/core/forms/public/ckeditor/lang/vi.js +1 -1
  161. data/apps/core/forms/public/ckeditor/lang/zh-cn.js +1 -1
  162. data/apps/core/forms/public/ckeditor/lang/zh.js +1 -1
  163. data/apps/core/forms/public/ckeditor/plugins/autogrow/plugin.js +1 -1
  164. data/apps/core/forms/public/ckeditor/plugins/bbcode/plugin.js +4 -4
  165. data/apps/core/forms/public/ckeditor/plugins/docprops/dialogs/docprops.js +2 -2
  166. data/apps/core/forms/public/ckeditor/plugins/find/dialogs/find.js +5 -4
  167. data/apps/core/forms/public/ckeditor/plugins/flash/dialogs/flash.js +4 -4
  168. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/select.js +2 -2
  169. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
  170. data/apps/core/forms/public/ckeditor/plugins/iframe/dialogs/iframe.js +2 -2
  171. data/apps/core/forms/public/ckeditor/plugins/image/dialogs/image.js +6 -6
  172. data/apps/core/forms/public/ckeditor/plugins/link/dialogs/link.js +6 -5
  173. data/apps/core/forms/public/ckeditor/plugins/liststyle/dialogs/liststyle.js +2 -1
  174. data/apps/core/forms/public/ckeditor/plugins/pastefromword/filter/default.js +5 -5
  175. data/apps/core/forms/public/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  176. data/apps/core/forms/public/ckeditor/plugins/specialchar/lang/en.js +1 -1
  177. data/apps/core/forms/public/ckeditor/plugins/table/dialogs/table.js +4 -4
  178. data/apps/core/forms/public/ckeditor/plugins/tableresize/plugin.js +2 -2
  179. data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/wsc.js +1 -1
  180. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/README.md +26 -0
  181. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/dialog.css +616 -0
  182. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/editor.css +1088 -0
  183. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/icons.png +0 -0
  184. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides.gif +0 -0
  185. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides.png +0 -0
  186. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides_rtl.png +0 -0
  187. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/mini.png +0 -0
  188. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/noimage.png +0 -0
  189. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/sprites.png +0 -0
  190. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/sprites_ie6.png +0 -0
  191. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/toolbar_start.gif +0 -0
  192. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/skin.js +7 -0
  193. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/templates.css +54 -0
  194. data/apps/core/forms/public/ckeditor/skins/kama/dialog.css +4 -3
  195. data/apps/core/forms/public/ckeditor/skins/kama/editor.css +3 -3
  196. data/apps/core/forms/public/ckeditor/themes/default/theme.js +2 -2
  197. data/apps/core/forms/public/css/form.css +5 -5
  198. data/apps/core/forms/public/html_area.js +5 -5
  199. data/apps/core/forms/tags/element_label.erb +1 -1
  200. data/apps/core/forms/tags/row.erb +1 -1
  201. data/apps/core/forms/widgets/form/form.rb +2 -1
  202. data/apps/core/forms/widgets/form/form.shtml +3 -3
  203. data/apps/core/forms/widgets/inputs/checkbox/checkbox.shtml +1 -1
  204. data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +1 -1
  205. data/apps/core/forms/widgets/inputs/file_input/file_input.shtml +1 -1
  206. data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +1 -1
  207. data/apps/core/forms/widgets/inputs/input/input.shtml +1 -1
  208. data/apps/core/forms/widgets/inputs/input/readonly.shtml +1 -1
  209. data/apps/core/forms/widgets/inputs/password/password.shtml +1 -1
  210. data/apps/core/forms/widgets/inputs/search_select/search_select.shtml +1 -1
  211. data/apps/core/forms/widgets/inputs/select/select.shtml +1 -1
  212. data/apps/core/forms/widgets/inputs/text/text.shtml +1 -1
  213. data/apps/core/forms/widgets/inputs/text_area/text_area.shtml +1 -1
  214. data/apps/core/forms/widgets/inputs/time_span/time_span.shtml +1 -1
  215. data/apps/messenger/controllers/messenger_admin_controller.rb +19 -4
  216. data/apps/messenger/views/admin/_admin.layout.shtml +1 -1
  217. data/apps/messenger/views/admin/queue.shtml +6 -6
  218. data/apps/messenger/views/admin/view_email.shtml +7 -0
  219. data/apps/messenger/views/admin/view_sms.shtml +4 -0
  220. data/blueprints/app/.dirs +2 -1
  221. data/blueprints/app/test/features/support/env.rb +4 -0
  222. data/data/locale/it/LC_MESSAGES/spider.mo +0 -0
  223. data/lib/spiderfw/cmd/commands/config.rb +6 -3
  224. data/lib/spiderfw/config/configuration.rb +11 -2
  225. data/lib/spiderfw/config/options/spider.rb +1 -1
  226. data/lib/spiderfw/controller/controller.rb +27 -15
  227. data/lib/spiderfw/controller/dispatcher.rb +8 -4
  228. data/lib/spiderfw/controller/http_controller.rb +9 -5
  229. data/lib/spiderfw/controller/mixins/static_content.rb +1 -0
  230. data/lib/spiderfw/controller/mixins/visual.rb +48 -31
  231. data/lib/spiderfw/home.rb +8 -0
  232. data/lib/spiderfw/i18n/cldr.rb +1 -0
  233. data/lib/spiderfw/model/base_model.rb +2 -2
  234. data/lib/spiderfw/model/mappers/db_mapper.rb +1 -0
  235. data/lib/spiderfw/model/unit_of_work.rb +2 -2
  236. data/lib/spiderfw/requires.rb +1 -0
  237. data/lib/spiderfw/setup/app_manager.rb +16 -8
  238. data/lib/spiderfw/spider.rb +2 -2
  239. data/lib/spiderfw/templates/layout.rb +16 -9
  240. data/lib/spiderfw/templates/template.rb +28 -8
  241. data/lib/spiderfw/utils/logger.rb +9 -9
  242. data/views/errors/error.layout.shtml +9 -4
  243. metadata +98 -13
  244. data/apps/core/admin/public/sass/bootstrap/bootstrap.scss +0 -29
  245. data/apps/core/admin/public/sass/bootstrap/forms.scss +0 -478
  246. data/apps/core/admin/public/sass/bootstrap/mixins.scss +0 -220
  247. data/apps/core/admin/public/sass/bootstrap/patterns.scss +0 -1062
  248. data/apps/core/admin/public/sass/bootstrap/scaffolding.scss +0 -136
  249. data/apps/core/admin/public/sass/bootstrap/tables.scss +0 -224
  250. data/apps/core/admin/public/sass/bootstrap/type.scss +0 -187
  251. data/apps/core/admin/public/sass/bootstrap/variables.scss +0 -60
@@ -0,0 +1,538 @@
1
+ // MIXINS
2
+ // Snippets of reusable CSS to develop faster and keep code readable
3
+ // -----------------------------------------------------------------
4
+
5
+
6
+ // UTILITY MIXINS
7
+ // -------------------------------------------------
8
+
9
+ // Clearfix
10
+ // --------
11
+ // For clearing floats like a boss h5bp.com/q
12
+ @mixin clearfix() {
13
+ *zoom: 1;
14
+ &:before,
15
+ &:after {
16
+ display: table;
17
+ content: "";
18
+ }
19
+ &:after {
20
+ clear: both;
21
+ }
22
+ }
23
+
24
+ // Webkit-style focus
25
+ // ------------------
26
+ @mixin tab-focus() {
27
+ // Default
28
+ outline: thin dotted;
29
+ // Webkit
30
+ outline: 5px auto -webkit-focus-ring-color;
31
+ outline-offset: -2px;
32
+ }
33
+
34
+ // Center-align a block level element
35
+ // ----------------------------------
36
+ @mixin center-block() {
37
+ display: block;
38
+ margin-left: auto;
39
+ margin-right: auto;
40
+ }
41
+
42
+ // IE7 inline-block
43
+ // ----------------
44
+ @mixin ie7-inline-block() {
45
+ *display: inline; /* IE7 inline-block hack */
46
+ *zoom: 1;
47
+ }
48
+
49
+ // IE7 likes to collapse whitespace on either side of the inline-block elements.
50
+ // Ems because we're attempting to match the width of a space character. Left
51
+ // version is for form buttons, which typically come after other elements, and
52
+ // right version is for icons, which come before. Applying both is ok, but it will
53
+ // mean that space between those elements will be .6em (~2 space characters) in IE7,
54
+ // instead of the 1 space in other browsers.
55
+ @mixin ie7-restore-left-whitespace() {
56
+ *margin-left: .3em;
57
+
58
+ &:first-child {
59
+ *margin-left: 0;
60
+ }
61
+ }
62
+
63
+ @mixin ie7-restore-right-whitespace() {
64
+ *margin-right: .3em;
65
+
66
+ &:last-child {
67
+ *margin-left: 0;
68
+ }
69
+ }
70
+
71
+ // Sizing shortcuts
72
+ // -------------------------
73
+ @mixin size($height: 5px, $width: 5px) {
74
+ width: $width;
75
+ height: $height;
76
+ }
77
+ @mixin square($size: 5px) {
78
+ @include size($size, $size);
79
+ }
80
+
81
+ // Placeholder text
82
+ // -------------------------
83
+ @mixin placeholder($color: $placeholderText) {
84
+ :-moz-placeholder {
85
+ color: $color;
86
+ }
87
+ ::-webkit-input-placeholder {
88
+ color: $color;
89
+ }
90
+ }
91
+
92
+
93
+
94
+ // FONTS
95
+ // --------------------------------------------------
96
+
97
+ // Font Stacks
98
+ @mixin font-shorthand($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
99
+ font-size: $size;
100
+ font-weight: $weight;
101
+ line-height: $lineHeight;
102
+ }
103
+ @mixin font-serif($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
104
+ font-family: Georgia, "Times New Roman", Times, serif;
105
+ @include font-shorthand($size, $weight, $lineHeight);
106
+ }
107
+ @mixin font-sans-serif($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
108
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
109
+ @include font-shorthand($size, $weight, $lineHeight);
110
+ }
111
+ @mixin font-family-monospace {
112
+ font-family: Menlo, Monaco, "Courier New", monospace;
113
+ }
114
+ @mixin font-monospace($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
115
+ @include font-family-monospace;
116
+ @include font-shorthand($size, $weight, $lineHeight);
117
+ }
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ // GRID SYSTEM
134
+ // --------------------------------------------------
135
+
136
+ // Site container
137
+ // -------------------------
138
+ @mixin container-fixed() {
139
+ width: $gridRowWidth;
140
+ margin-left: auto;
141
+ margin-right: auto;
142
+ @include clearfix();
143
+ }
144
+
145
+ // Le grid system
146
+ // -------------------------
147
+ @mixin gridSystem-columns ($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $columns) {
148
+ width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
149
+ }
150
+ @mixin gridSystem-offset($gridColumnWidth, $gridGutterWidth, $columns) {
151
+ margin-left: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1)) + ($gridGutterWidth * 2);
152
+ }
153
+ @mixin gridSystem-gridColumn($gridGutterWidth) {
154
+ float: left;
155
+ margin-left: $gridGutterWidth;
156
+ }
157
+
158
+ // Take these values and mixins, and make 'em do their thang
159
+ @mixin gridSystem-generate($gridColumns, $gridColumnWidth, $gridGutterWidth) {
160
+ // Row surrounds the columns
161
+ .row {
162
+ margin-left: $gridGutterWidth * -1;
163
+ @include clearfix();
164
+ }
165
+ // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks $dhg)
166
+ [class*="span"] {
167
+ @include gridSystem-gridColumn($gridGutterWidth);
168
+ }
169
+ // Default columns
170
+ .span1 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 1); }
171
+ .span2 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 2); }
172
+ .span3 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 3); }
173
+ .span4 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 4); }
174
+ .span5 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 5); }
175
+ .span6 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 6); }
176
+ .span7 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 7); }
177
+ .span8 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 8); }
178
+ .span9 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 9); }
179
+ .span10 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 10); }
180
+ .span11 { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 11); }
181
+ .span12,
182
+ .container { @include gridSystem-columns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 12); }
183
+ // Offset column options
184
+ .offset1 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 1); }
185
+ .offset2 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 2); }
186
+ .offset3 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 3); }
187
+ .offset4 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 4); }
188
+ .offset5 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 5); }
189
+ .offset6 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 6); }
190
+ .offset7 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 7); }
191
+ .offset8 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 8); }
192
+ .offset9 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 9); }
193
+ .offset10 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 10); }
194
+ .offset11 { @include gridSystem-offset($gridColumnWidth, $gridGutterWidth, 11); }
195
+ }
196
+
197
+ // Fluid grid system
198
+ // -------------------------
199
+ @mixin fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, $columns) {
200
+ width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1));
201
+ }
202
+ @mixin fluidGridSystem-gridColumn($fluidGridGutterWidth) {
203
+ float: left;
204
+ margin-left: $fluidGridGutterWidth;
205
+ }
206
+ // Take these values and mixins, and make 'em do their thang
207
+ @mixin fluidGridSystem-generate($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
208
+ // Row surrounds the columns
209
+ .row-fluid {
210
+ width: 100%;
211
+ @include clearfix();
212
+
213
+ // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks $dhg)
214
+ > [class*="span"] {
215
+ @include fluidGridSystem-gridColumn($fluidGridGutterWidth);
216
+ }
217
+ > [class*="span"]:first-child {
218
+ margin-left: 0;
219
+ }
220
+ // Default columns
221
+ .span1 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 1); }
222
+ .span2 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 2); }
223
+ .span3 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 3); }
224
+ .span4 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 4); }
225
+ .span5 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 5); }
226
+ .span6 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 6); }
227
+ .span7 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 7); }
228
+ .span8 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 8); }
229
+ .span9 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 9); }
230
+ .span10 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 10); }
231
+ .span11 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 11); }
232
+ .span12 { @include fluidGridSystem-columns($fluidGridGutterWidth, $fluidGridColumnWidth, 12); }
233
+ }
234
+ }
235
+
236
+
237
+
238
+ // Input grid system
239
+ // -------------------------
240
+ @mixin inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $columns) {
241
+ width: (($gridColumnWidth) * $columns) + ($gridGutterWidth * ($columns - 1)) - 10;
242
+ }
243
+ @mixin inputGridSystem-generate($gridColumns, $gridColumnWidth, $gridGutterWidth) {
244
+ input,
245
+ textarea,
246
+ .uneditable-input {
247
+ &.span1 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 1); }
248
+ &.span2 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 2); }
249
+ &.span3 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 3); }
250
+ &.span4 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 4); }
251
+ &.span5 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 5); }
252
+ &.span6 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 6); }
253
+ &.span7 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 7); }
254
+ &.span8 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 8); }
255
+ &.span9 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 9); }
256
+ &.span10 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 10); }
257
+ &.span11 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 11); }
258
+ &.span12 { @include inputGridSystem-inputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, 12); }
259
+ }
260
+ }
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ // CSS3 PROPERTIES
272
+ // --------------------------------------------------
273
+
274
+ // Border Radius
275
+ @mixin border-radius($radius: 5px) {
276
+ -webkit-border-radius: $radius;
277
+ -moz-border-radius: $radius;
278
+ border-radius: $radius;
279
+ }
280
+
281
+ // Drop shadows
282
+ @mixin box-shadow($shadow: 0 1px 3px rgba(0,0,0,.25)) {
283
+ -webkit-box-shadow: $shadow;
284
+ -moz-box-shadow: $shadow;
285
+ box-shadow: $shadow;
286
+ }
287
+
288
+ // Transitions
289
+ @mixin transition($transition) {
290
+ -webkit-transition: $transition;
291
+ -moz-transition: $transition;
292
+ -ms-transition: $transition;
293
+ -o-transition: $transition;
294
+ transition: $transition;
295
+ }
296
+
297
+ // Transformations
298
+ @mixin rotate($degrees: 5deg) {
299
+ -webkit-transform: rotate($degrees);
300
+ -moz-transform: rotate($degrees);
301
+ -ms-transform: rotate($degrees);
302
+ -o-transform: rotate($degrees);
303
+ transform: rotate($degrees);
304
+ }
305
+ @mixin scale($ratio) {
306
+ -webkit-transform: scale($ratio);
307
+ -moz-transform: scale($ratio);
308
+ -ms-transform: scale($ratio);
309
+ -o-transform: scale($ratio);
310
+ transform: scale($ratio);
311
+ }
312
+ @mixin translate($x: 0, $y: 0) {
313
+ -webkit-transform: translate($x, $y);
314
+ -moz-transform: translate($x, $y);
315
+ -ms-transform: translate($x, $y);
316
+ -o-transform: translate($x, $y);
317
+ transform: translate($x, $y);
318
+ }
319
+ @mixin skew($x: 0, $y: 0) {
320
+ -webkit-transform: translate($x, $y);
321
+ -moz-transform: translate($x, $y);
322
+ -ms-transform: translate($x, $y);
323
+ -o-transform: translate($x, $y);
324
+ transform: translate($x, $y);
325
+ }
326
+ @mixin skew($x: 0, $y: 0) {
327
+ -webkit-transform: skew($x, $y);
328
+ -moz-transform: skew($x, $y);
329
+ -ms-transform: skew($x, $y);
330
+ -o-transform: skew($x, $y);
331
+ transform: skew($x, $y);
332
+ }
333
+
334
+ // Background clipping
335
+ // Heads up: FF 3.6 and under need padding instead of padding-box
336
+ @mixin background-clip($clip) {
337
+ -webkit-background-clip: $clip;
338
+ -moz-background-clip: $clip;
339
+ background-clip: $clip;
340
+ }
341
+
342
+ // Background sizing
343
+ @mixin background-size($size){
344
+ -webkit-background-size: $size;
345
+ -moz-background-size: $size;
346
+ -o-background-size: $size;
347
+ background-size: $size;
348
+ }
349
+
350
+
351
+ // Box sizing
352
+ @mixin box-sizing($boxmodel) {
353
+ -webkit-box-sizing: $boxmodel;
354
+ -moz-box-sizing: $boxmodel;
355
+ box-sizing: $boxmodel;
356
+ }
357
+
358
+ // User select
359
+ // For selecting text on the page
360
+ @mixin user-select($select) {
361
+ -webkit-user-select: $select;
362
+ -moz-user-select: $select;
363
+ -o-user-select: $select;
364
+ user-select: $select;
365
+ }
366
+
367
+ // Resize anything
368
+ @mixin resizable($direction: both) {
369
+ resize: $direction; // Options: horizontal, vertical, both
370
+ overflow: auto; // Safari fix
371
+ }
372
+
373
+ // CSS3 Content Columns
374
+ @mixin content-columns($columnCount, $columnGap: $gridColumnGutter) {
375
+ -webkit-column-count: $columnCount;
376
+ -moz-column-count: $columnCount;
377
+ column-count: $columnCount;
378
+ -webkit-column-gap: $columnGap;
379
+ -moz-column-gap: $columnGap;
380
+ column-gap: $columnGap;
381
+ }
382
+
383
+ // Opacity
384
+ @mixin opacity($opacity: 100) {
385
+ opacity: $opacity / 100;
386
+ filter: alpha(opacity=$opacity);
387
+ }
388
+
389
+
390
+
391
+ // BACKGROUNDS
392
+ // --------------------------------------------------
393
+
394
+ // Add an alphatransparency value to any background or border color (via Elyse Holladay)
395
+ @mixin translucent-background($color: $white, $alpha: 1) {
396
+ background-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
397
+ }
398
+ @mixin translucent-border($color: $white, $alpha: 1) {
399
+ border-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
400
+ @include background-clip(padding-box);
401
+ }
402
+
403
+
404
+
405
+ // Gradients
406
+ @mixin gradient-horizontal($startColor: #555, $endColor: #333) {
407
+ background-color: $endColor;
408
+ background-image: -khtml-gradient(linear, left top, right top, from($startColor), to($endColor)); // Konqueror
409
+ background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
410
+ background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
411
+ background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
412
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
413
+ background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
414
+ background-image: linear-gradient(left, $startColor, $endColor); // Le standard
415
+ background-repeat: repeat-x;
416
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=1); // IE9 and down
417
+ }
418
+ @mixin gradient-vertical($startColor: #555, $endColor: #333) {
419
+ background-color: $endColor;
420
+ background-image: -khtml-gradient(linear, left top, left bottom, from($startColor), to($endColor)); // Konqueror
421
+ background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
422
+ background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
423
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
424
+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
425
+ background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
426
+ //background-image: linear-gradient(top left, $startColor, $endColor); // The standard
427
+ background-repeat: repeat-x;
428
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0); // IE9 and down
429
+ }
430
+ @mixin gradient-directional($startColor: #555, $endColor: #333, $deg: 45deg) {
431
+ background-color: $endColor;
432
+ background-repeat: repeat-x;
433
+ background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
434
+ background-image: -ms-linear-gradient($deg, $startColor, $endColor); // IE10
435
+ background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
436
+ background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
437
+ background-image: linear-gradient($deg, $startColor, $endColor); // The standard
438
+ }
439
+ @mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
440
+ background-color: $endColor;
441
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
442
+ background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
443
+ background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
444
+ background-image: -ms-linear-gradient($startColor, $midColor $colorStop, $endColor);
445
+ background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
446
+ background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
447
+ background-repeat: no-repeat;
448
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0); // IE9 and down, gets no color-stop at all the proper fallback
449
+ }
450
+ @mixin gradient-radial($centerColor: #555, $outsideColor: #333) {
451
+ background-color: $outsideColor;
452
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($centerColor), to($outsideColor));
453
+ background-image: -webkit-radial-gradient(circle, $centerColor, $outsideColor);
454
+ background-image: -moz-radial-gradient(circle, $centerColor, $outsideColor);
455
+ background-image: -ms-radial-gradient(circle, $centerColor, $outsideColor);
456
+ background-repeat: no-repeat;
457
+ // Opera cannot do radial gradients yet
458
+ }
459
+ @mixin gradient-striped($color,$angle: -45deg) {
460
+ background-color: $color;
461
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
462
+ background-image: -webkit-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
463
+ background-image: -moz-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
464
+ background-image: -ms-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
465
+ background-image: -o-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
466
+ //background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
467
+ }
468
+
469
+ // Gradient Bar Colors for buttons and alerts
470
+ @mixin gradientBar($primaryColor, $secondaryColor) {
471
+ @include gradient-vertical($primaryColor, $secondaryColor);
472
+ border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
473
+ border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fade-in(rgba(0,0,0,.1), 0.15);
474
+ }
475
+
476
+ // Reset filters for IE
477
+ @mixin reset-filter() {
478
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
479
+ }
480
+
481
+ // Mixin for generating button backgrounds
482
+ // ---------------------------------------
483
+ @mixin buttonBackground($startColor, $endColor) {
484
+ // gradientBar will set the background to a pleasing blend of these, to support IE<=9
485
+ @include gradientBar($startColor, $endColor);
486
+ @include reset-filter();
487
+
488
+ // in these cases the gradient won't cover the background, so we override
489
+ &:hover, &:active, &.active, &.disabled, &[disabled] {
490
+ background-color: $endColor;
491
+ }
492
+
493
+ // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
494
+ &:active,
495
+ &.active {
496
+ background-color: darken($endColor, 10%) #{"\9"};
497
+ }
498
+ }
499
+
500
+
501
+ // COMPONENT MIXINS
502
+ // --------------------------------------------------
503
+
504
+ // POPOVER ARROWS
505
+ // -------------------------
506
+ // For tipsies and popovers
507
+ @mixin popoverArrow-top($arrowWidth: 5px) {
508
+ bottom: 0;
509
+ left: 50%;
510
+ margin-left: -$arrowWidth;
511
+ border-left: $arrowWidth solid transparent;
512
+ border-right: $arrowWidth solid transparent;
513
+ border-top: $arrowWidth solid $black;
514
+ }
515
+ @mixin popoverArrow-left($arrowWidth: 5px) {
516
+ top: 50%;
517
+ right: 0;
518
+ margin-top: -$arrowWidth;
519
+ border-top: $arrowWidth solid transparent;
520
+ border-bottom: $arrowWidth solid transparent;
521
+ border-left: $arrowWidth solid $black;
522
+ }
523
+ @mixin popoverArrow-bottom($arrowWidth: 5px) {
524
+ top: 0;
525
+ left: 50%;
526
+ margin-left: -$arrowWidth;
527
+ border-left: $arrowWidth solid transparent;
528
+ border-right: $arrowWidth solid transparent;
529
+ border-bottom: $arrowWidth solid $black;
530
+ }
531
+ @mixin popoverArrow-right($arrowWidth: 5px) {
532
+ top: 50%;
533
+ left: 0;
534
+ margin-top: -$arrowWidth;
535
+ border-top: $arrowWidth solid transparent;
536
+ border-bottom: $arrowWidth solid transparent;
537
+ border-right: $arrowWidth solid $black;
538
+ }
@@ -0,0 +1,72 @@
1
+ // MODALS
2
+ // ------
3
+
4
+ .modal-open {
5
+ .dropdown-menu { z-index: $zindexDropdown + $zindexModal; }
6
+ .dropdown.open { *z-index: $zindexDropdown + $zindexModal; }
7
+ .popover { z-index: $zindexPopover + $zindexModal; }
8
+ .tooltip { z-index: $zindexTooltip + $zindexModal; }
9
+ }
10
+
11
+ .modal-backdrop {
12
+ position: fixed;
13
+ top: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ left: 0;
17
+ z-index: $zindexModalBackdrop;
18
+ background-color: $black;
19
+ // Fade for backdrop
20
+ &.fade { opacity: 0; }
21
+ }
22
+
23
+ .modal-backdrop,
24
+ .modal-backdrop.fade.in {
25
+ @include opacity(80);
26
+ }
27
+
28
+ .modal {
29
+ position: fixed;
30
+ top: 50%;
31
+ left: 50%;
32
+ z-index: $zindexModal;
33
+ max-height: 500px;
34
+ overflow: auto;
35
+ width: 560px;
36
+ margin: -250px 0 0 -280px;
37
+ background-color: $white;
38
+ border: 1px solid #999;
39
+ border: 1px solid rgba(0,0,0,.3);
40
+ *border: 1px solid #999; /* IE6-7 */
41
+ @include border-radius(6px);
42
+ @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
43
+ @include background-clip(padding-box);
44
+ &.fade {
45
+ @include transition(opacity .3s linear);
46
+ top: -25%;
47
+ }
48
+ &.fade.in { top: 50%; }
49
+ }
50
+ .modal-header {
51
+ padding: 9px 15px;
52
+ border-bottom: 1px solid #eee;
53
+ // Close icon
54
+ .close { margin-top: 2px; }
55
+ }
56
+ .modal-body {
57
+ padding: 15px;
58
+ }
59
+ .modal-footer {
60
+ padding: 14px 15px 15px;
61
+ margin-bottom: 0;
62
+ background-color: #f5f5f5;
63
+ border-top: 1px solid #ddd;
64
+ @include border-radius(0 0 6px 6px);
65
+ @include box-shadow(inset 0 1px 0 $white);
66
+ @include clearfix();
67
+ .btn {
68
+ float: right;
69
+ margin-left: 5px;
70
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
71
+ }
72
+ }