flexa_lib 0.1.3 → 0.1.5
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.
- data/lib/flexa_lib/version.rb +1 -1
- data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/bootstrap-alert.js +94 -0
- data/vendor/assets/javascripts/bootstrap-button.js +98 -0
- data/vendor/assets/javascripts/bootstrap-carousel.js +157 -0
- data/vendor/assets/javascripts/bootstrap-collapse.js +136 -0
- data/vendor/assets/javascripts/bootstrap-dropdown.js +92 -0
- data/vendor/assets/javascripts/bootstrap-modal.js +210 -0
- data/vendor/assets/javascripts/bootstrap-popover.js +95 -0
- data/vendor/assets/javascripts/bootstrap-scrollspy.js +125 -0
- data/vendor/assets/javascripts/bootstrap-tab.js +130 -0
- data/vendor/assets/javascripts/bootstrap-tooltip.js +270 -0
- data/vendor/assets/javascripts/bootstrap-transition.js +51 -0
- data/vendor/assets/javascripts/bootstrap-typeahead.js +271 -0
- data/vendor/assets/javascripts/bootstrap.js +12 -0
- data/vendor/assets/javascripts/flexa-themejs.js +94 -0
- data/vendor/assets/javascripts/jquery.cookie.js +96 -0
- data/vendor/assets/javascripts/jquery.pjax.js +460 -0
- data/vendor/assets/javascripts/populate.js +272 -0
- data/vendor/assets/stylesheets/_bootstrap-responsive.scss +318 -0
- data/vendor/assets/stylesheets/_bootstrap.scss +63 -0
- data/vendor/assets/stylesheets/bootstrap/_accordion.scss +28 -0
- data/vendor/assets/stylesheets/bootstrap/_alerts.scss +62 -0
- data/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +22 -0
- data/vendor/assets/stylesheets/bootstrap/_button-groups.scss +136 -0
- data/vendor/assets/stylesheets/bootstrap/_buttons.scss +163 -0
- data/vendor/assets/stylesheets/bootstrap/_carousel.scss +116 -0
- data/vendor/assets/stylesheets/bootstrap/_close.scss +18 -0
- data/vendor/assets/stylesheets/bootstrap/_code.scss +56 -0
- data/vendor/assets/stylesheets/bootstrap/_component-animations.scss +18 -0
- data/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +126 -0
- data/vendor/assets/stylesheets/bootstrap/_forms.scss +463 -0
- data/vendor/assets/stylesheets/bootstrap/_grid.scss +8 -0
- data/vendor/assets/stylesheets/bootstrap/_hero-unit.scss +20 -0
- data/vendor/assets/stylesheets/bootstrap/_labels.scss +32 -0
- data/vendor/assets/stylesheets/bootstrap/_layouts.scss +17 -0
- data/vendor/assets/stylesheets/bootstrap/_mixins.scss +530 -0
- data/vendor/assets/stylesheets/bootstrap/_modals.scss +83 -0
- data/vendor/assets/stylesheets/bootstrap/_navbar.scss +288 -0
- data/vendor/assets/stylesheets/bootstrap/_navs.scss +329 -0
- data/vendor/assets/stylesheets/bootstrap/_pager.scss +30 -0
- data/vendor/assets/stylesheets/bootstrap/_pagination.scss +53 -0
- data/vendor/assets/stylesheets/bootstrap/_popovers.scss +49 -0
- data/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +95 -0
- data/vendor/assets/stylesheets/bootstrap/_reset.scss +105 -0
- data/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +29 -0
- data/vendor/assets/stylesheets/bootstrap/_sprites.scss +157 -0
- data/vendor/assets/stylesheets/bootstrap/_tables.scss +126 -0
- data/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +35 -0
- data/vendor/assets/stylesheets/bootstrap/_tooltip.scss +35 -0
- data/vendor/assets/stylesheets/bootstrap/_type.scss +209 -0
- data/vendor/assets/stylesheets/bootstrap/_utilities.scss +23 -0
- data/vendor/assets/stylesheets/bootstrap/_variables.scss +103 -0
- data/vendor/assets/stylesheets/bootstrap/_wells.scss +17 -0
- data/vendor/assets/stylesheets/docs.css.scss +790 -0
- data/vendor/assets/stylesheets/flexa-theme.css.scss +32 -0
- data/vendor/assets/stylesheets/override.css.scss +77 -0
- metadata +60 -3
@@ -0,0 +1,530 @@
|
|
1
|
+
// Mixins.less
|
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
|
+
.clearfix { @include clearfix(); }
|
24
|
+
|
25
|
+
// Webkit-style focus
|
26
|
+
// ------------------
|
27
|
+
@mixin tab-focus() {
|
28
|
+
// Default
|
29
|
+
outline: thin dotted #333;
|
30
|
+
// Webkit
|
31
|
+
outline: 5px auto -webkit-focus-ring-color;
|
32
|
+
outline-offset: -2px;
|
33
|
+
}
|
34
|
+
|
35
|
+
// Center-align a block level element
|
36
|
+
// ----------------------------------
|
37
|
+
@mixin center-block() {
|
38
|
+
display: block;
|
39
|
+
margin-left: auto;
|
40
|
+
margin-right: auto;
|
41
|
+
}
|
42
|
+
|
43
|
+
// IE7 inline-block
|
44
|
+
// ----------------
|
45
|
+
@mixin ie7-inline-block() {
|
46
|
+
*display: inline; /* IE7 inline-block hack */
|
47
|
+
*zoom: 1;
|
48
|
+
}
|
49
|
+
|
50
|
+
// IE7 likes to collapse whitespace on either side of the inline-block elements.
|
51
|
+
// Ems because we're attempting to match the width of a space character. Left
|
52
|
+
// version is for form buttons, which typically come after other elements, and
|
53
|
+
// right version is for icons, which come before. Applying both is ok, but it will
|
54
|
+
// mean that space between those elements will be .6em (~2 space characters) in IE7,
|
55
|
+
// instead of the 1 space in other browsers.
|
56
|
+
@mixin ie7-restore-left-whitespace() {
|
57
|
+
*margin-left: .3em;
|
58
|
+
|
59
|
+
&:first-child {
|
60
|
+
*margin-left: 0;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
@mixin ie7-restore-right-whitespace() {
|
65
|
+
*margin-right: .3em;
|
66
|
+
|
67
|
+
&:last-child {
|
68
|
+
*margin-left: 0;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
// Sizing shortcuts
|
73
|
+
// -------------------------
|
74
|
+
@mixin size($height: 5px, $width: 5px) {
|
75
|
+
width: $width;
|
76
|
+
height: $height;
|
77
|
+
}
|
78
|
+
@mixin square($size: 5px) {
|
79
|
+
@include size($size, $size);
|
80
|
+
}
|
81
|
+
|
82
|
+
// Placeholder text
|
83
|
+
// -------------------------
|
84
|
+
@mixin placeholder($color: $placeholderText) {
|
85
|
+
:-moz-placeholder {
|
86
|
+
color: $color;
|
87
|
+
}
|
88
|
+
::-webkit-input-placeholder {
|
89
|
+
color: $color;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
// Text overflow
|
94
|
+
// ------------------------
|
95
|
+
@mixin text-overflow() {
|
96
|
+
overflow: hidden;
|
97
|
+
text-overflow: ellipsis;
|
98
|
+
white-space: nowrap;
|
99
|
+
}
|
100
|
+
|
101
|
+
|
102
|
+
// FONTS
|
103
|
+
// --------------------------------------------------
|
104
|
+
@mixin font-family-serif() {
|
105
|
+
font-family: Georgia, "Times New Roman", Times, serif;
|
106
|
+
}
|
107
|
+
@mixin font-family-sans-serif() {
|
108
|
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
109
|
+
}
|
110
|
+
@mixin font-family-monospace() {
|
111
|
+
font-family: Menlo, Monaco, "Courier New", monospace;
|
112
|
+
}
|
113
|
+
@mixin font-shorthand($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
|
114
|
+
font-size: $size;
|
115
|
+
font-weight: $weight;
|
116
|
+
line-height: $lineHeight;
|
117
|
+
}
|
118
|
+
@mixin font-serif($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
|
119
|
+
@include font-family-serif();
|
120
|
+
@include font-shorthand($size, $weight, $lineHeight);
|
121
|
+
}
|
122
|
+
@mixin font-sans-serif($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
|
123
|
+
@include font-family-sans-serif();
|
124
|
+
@include font-shorthand($size, $weight, $lineHeight);
|
125
|
+
}
|
126
|
+
@mixin font-monospace($size: $baseFontSize, $weight: normal, $lineHeight: $baseLineHeight) {
|
127
|
+
@include font-family-monospace();
|
128
|
+
@include font-shorthand($size, $weight, $lineHeight);
|
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
|
+
|
148
|
+
// Setup the mixins to be used
|
149
|
+
@mixin gridSystemColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $columns) {
|
150
|
+
width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
|
151
|
+
}
|
152
|
+
@mixin gridSystemOffset($gridColumnWidth, $gridGutterWidth, $columns) {
|
153
|
+
margin-left: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1)) + ($gridGutterWidth * 2);
|
154
|
+
}
|
155
|
+
@mixin gridSystemGridColumn($gridGutterWidth) {
|
156
|
+
float: left;
|
157
|
+
margin-left: $gridGutterWidth;
|
158
|
+
}
|
159
|
+
// Take these values and mixins, and make 'em do their thang
|
160
|
+
@mixin gridSystemGenerate($gridColumns, $gridColumnWidth, $gridGutterWidth) {
|
161
|
+
// Row surrounds the columns
|
162
|
+
.row {
|
163
|
+
margin-left: $gridGutterWidth * -1;
|
164
|
+
@include clearfix();
|
165
|
+
}
|
166
|
+
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
|
167
|
+
[class*="span"] {
|
168
|
+
@include gridSystemGridColumn($gridGutterWidth);
|
169
|
+
}
|
170
|
+
// Default columns
|
171
|
+
@for $i from 1 through $gridColumns {
|
172
|
+
.span#{$i} { @include gridSystemColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $i) }
|
173
|
+
}
|
174
|
+
.container { @include gridSystemColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $gridColumns) }
|
175
|
+
|
176
|
+
// Offset column options
|
177
|
+
@for $i from 1 through $gridColumns - 1 {
|
178
|
+
.offset#{$i} { @include gridSystemOffset($gridColumnWidth, $gridGutterWidth, $i) }
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
// Fluid grid system
|
183
|
+
// -------------------------
|
184
|
+
@mixin fluidGridSystemColumns($fluidGridGutterWidth, $fluidGridColumnWidth, $columns) {
|
185
|
+
width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1));
|
186
|
+
}
|
187
|
+
@mixin fluidGridSystemGridColumn($fluidGridGutterWidth) {
|
188
|
+
float: left;
|
189
|
+
margin-left: $fluidGridGutterWidth;
|
190
|
+
}
|
191
|
+
// Take these values and mixins, and make 'em do their thang
|
192
|
+
@mixin fluidGridSystemGenerate($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
|
193
|
+
// Row surrounds the columns
|
194
|
+
.row-fluid {
|
195
|
+
width: 100%;
|
196
|
+
@include clearfix();
|
197
|
+
|
198
|
+
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
|
199
|
+
> [class*="span"] {
|
200
|
+
@include fluidGridSystemGridColumn($fluidGridGutterWidth);
|
201
|
+
}
|
202
|
+
> [class*="span"]:first-child {
|
203
|
+
margin-left: 0;
|
204
|
+
}
|
205
|
+
// Default columns
|
206
|
+
@for $i from 1 through $gridColumns {
|
207
|
+
> .span#{$i} { @include fluidGridSystemColumns($fluidGridGutterWidth, $fluidGridColumnWidth, $i); }
|
208
|
+
}
|
209
|
+
}
|
210
|
+
}
|
211
|
+
|
212
|
+
// Input grid system
|
213
|
+
// -------------------------
|
214
|
+
@mixin inputGridSystemInputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $columns) {
|
215
|
+
width: (($gridColumnWidth) * $columns) + ($gridGutterWidth * ($columns - 1)) - 10;
|
216
|
+
}
|
217
|
+
@mixin inputGridSystemGenerate($gridColumns, $gridColumnWidth, $gridGutterWidth) {
|
218
|
+
input, textarea, .uneditable-input {
|
219
|
+
@for $i from 1 through $gridColumns {
|
220
|
+
&.span#{$i} { @include inputGridSystemInputColumns($gridGutterWidth, $gridColumnWidth, $gridRowWidth, $i); }
|
221
|
+
}
|
222
|
+
}
|
223
|
+
}
|
224
|
+
|
225
|
+
// Make a grid
|
226
|
+
// -------------------------
|
227
|
+
// Use makeRow() and makeColumn() to assign semantic layouts grid system behaviour
|
228
|
+
@mixin makeRow() {
|
229
|
+
margin-left: $gridGutterWidth * -1;
|
230
|
+
@include clearfix();
|
231
|
+
}
|
232
|
+
@mixin makeColumn($columns: 1) {
|
233
|
+
float: left;
|
234
|
+
margin-left: $gridGutterWidth;
|
235
|
+
width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
|
236
|
+
}
|
237
|
+
|
238
|
+
|
239
|
+
// Form field states (used in forms.less)
|
240
|
+
// --------------------------------------------------
|
241
|
+
|
242
|
+
// Mixin for form field states
|
243
|
+
@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
|
244
|
+
// Set the text color
|
245
|
+
> label, .help-block, .help-inline {
|
246
|
+
color: $textColor;
|
247
|
+
}
|
248
|
+
// Style inputs accordingly
|
249
|
+
input, select, textarea {
|
250
|
+
color: $textColor;
|
251
|
+
border-color: $borderColor;
|
252
|
+
&:focus {
|
253
|
+
border-color: darken($borderColor, 10%);
|
254
|
+
@include box-shadow(0 0 6px lighten($borderColor, 20%));
|
255
|
+
}
|
256
|
+
}
|
257
|
+
// Give a small background color for input-prepend/-append
|
258
|
+
.input-prepend .add-on, .input-append .add-on {
|
259
|
+
color: $textColor;
|
260
|
+
background-color: $backgroundColor;
|
261
|
+
border-color: $textColor;
|
262
|
+
}
|
263
|
+
}
|
264
|
+
|
265
|
+
|
266
|
+
// CSS3 PROPERTIES
|
267
|
+
// --------------------------------------------------
|
268
|
+
|
269
|
+
// Border Radius
|
270
|
+
@mixin border-radius($radius: 5px) {
|
271
|
+
-webkit-border-radius: $radius;
|
272
|
+
-moz-border-radius: $radius;
|
273
|
+
border-radius: $radius;
|
274
|
+
}
|
275
|
+
|
276
|
+
// Drop shadows
|
277
|
+
@mixin box-shadow($shadow: 0 1px 3px rgba(0,0,0,.25)) {
|
278
|
+
-webkit-box-shadow: $shadow;
|
279
|
+
-moz-box-shadow: $shadow;
|
280
|
+
box-shadow: $shadow;
|
281
|
+
}
|
282
|
+
|
283
|
+
// Transitions
|
284
|
+
@mixin transition($transition) {
|
285
|
+
-webkit-transition: $transition;
|
286
|
+
-moz-transition: $transition;
|
287
|
+
-ms-transition: $transition;
|
288
|
+
-o-transition: $transition;
|
289
|
+
transition: $transition;
|
290
|
+
}
|
291
|
+
|
292
|
+
// Transformations
|
293
|
+
@mixin rotate($degrees) {
|
294
|
+
-webkit-transform: rotate($degrees);
|
295
|
+
-moz-transform: rotate($degrees);
|
296
|
+
-ms-transform: rotate($degrees);
|
297
|
+
-o-transform: rotate($degrees);
|
298
|
+
transform: rotate($degrees);
|
299
|
+
}
|
300
|
+
@mixin scale($ratio) {
|
301
|
+
-webkit-transform: scale($ratio);
|
302
|
+
-moz-transform: scale($ratio);
|
303
|
+
-ms-transform: scale($ratio);
|
304
|
+
-o-transform: scale($ratio);
|
305
|
+
transform: scale($ratio);
|
306
|
+
}
|
307
|
+
@mixin translate($x: 0, $y: 0) {
|
308
|
+
-webkit-transform: translate($x, $y);
|
309
|
+
-moz-transform: translate($x, $y);
|
310
|
+
-ms-transform: translate($x, $y);
|
311
|
+
-o-transform: translate($x, $y);
|
312
|
+
transform: translate($x, $y);
|
313
|
+
}
|
314
|
+
|
315
|
+
@mixin skew($x: 0, $y: 0) {
|
316
|
+
-webkit-transform: skew($x, $y);
|
317
|
+
-moz-transform: skew($x, $y);
|
318
|
+
-ms-transform: skew($x, $y);
|
319
|
+
-o-transform: skew($x, $y);
|
320
|
+
transform: skew($x, $y);
|
321
|
+
}
|
322
|
+
|
323
|
+
@mixin translate3d($x: 0, $y: 0, $z: 0) {
|
324
|
+
-webkit-transform: translate($x, $y, $z);
|
325
|
+
-moz-transform: translate($x, $y, $z);
|
326
|
+
-ms-transform: translate($x, $y, $z);
|
327
|
+
-o-transform: translate($x, $y, $z);
|
328
|
+
transform: translate($x, $y, $z);
|
329
|
+
}
|
330
|
+
|
331
|
+
// Background clipping
|
332
|
+
// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
|
333
|
+
@mixin background-clip($clip) {
|
334
|
+
-webkit-background-clip: $clip;
|
335
|
+
-moz-background-clip: $clip;
|
336
|
+
background-clip: $clip;
|
337
|
+
}
|
338
|
+
|
339
|
+
// Background sizing
|
340
|
+
@mixin background-size($size){
|
341
|
+
-webkit-background-size: $size;
|
342
|
+
-moz-background-size: $size;
|
343
|
+
-o-background-size: $size;
|
344
|
+
background-size: $size;
|
345
|
+
}
|
346
|
+
|
347
|
+
|
348
|
+
// Box sizing
|
349
|
+
@mixin box-sizing($boxmodel) {
|
350
|
+
-webkit-box-sizing: $boxmodel;
|
351
|
+
-moz-box-sizing: $boxmodel;
|
352
|
+
box-sizing: $boxmodel;
|
353
|
+
}
|
354
|
+
|
355
|
+
// User select
|
356
|
+
// For selecting text on the page
|
357
|
+
@mixin user-select($select) {
|
358
|
+
-webkit-user-select: $select;
|
359
|
+
-moz-user-select: $select;
|
360
|
+
-o-user-select: $select;
|
361
|
+
user-select: $select;
|
362
|
+
}
|
363
|
+
|
364
|
+
// Resize anything
|
365
|
+
@mixin resizable($direction: both) {
|
366
|
+
resize: $direction; // Options: horizontal, vertical, both
|
367
|
+
overflow: auto; // Safari fix
|
368
|
+
}
|
369
|
+
|
370
|
+
// CSS3 Content Columns
|
371
|
+
@mixin content-columns($columnCount, $columnGap: $gridColumnGutter) {
|
372
|
+
-webkit-column-count: $columnCount;
|
373
|
+
-moz-column-count: $columnCount;
|
374
|
+
column-count: $columnCount;
|
375
|
+
-webkit-column-gap: $columnGap;
|
376
|
+
-moz-column-gap: $columnGap;
|
377
|
+
column-gap: $columnGap;
|
378
|
+
}
|
379
|
+
|
380
|
+
// Opacity
|
381
|
+
@mixin opacity($opacity: 1) {
|
382
|
+
opacity: $opacity;
|
383
|
+
filter: alpha(opacity=$opacity * 100);
|
384
|
+
}
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
// BACKGROUNDS
|
389
|
+
// --------------------------------------------------
|
390
|
+
|
391
|
+
// Add an alphatransparency value to any background or border color (via Elyse Holladay)
|
392
|
+
@mixin translucent-background($color: $white, $alpha: 1) {
|
393
|
+
background-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
|
394
|
+
}
|
395
|
+
@mixin translucent-border($color: $white, $alpha: 1) {
|
396
|
+
border-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
|
397
|
+
@include background-clip(padding-box);
|
398
|
+
}
|
399
|
+
|
400
|
+
// Gradient Bar Colors for buttons and alerts
|
401
|
+
@mixin gradientBar($primaryColor, $secondaryColor) {
|
402
|
+
@include gradient-vertical($primaryColor, $secondaryColor);
|
403
|
+
border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
|
404
|
+
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
|
405
|
+
}
|
406
|
+
|
407
|
+
// Gradients
|
408
|
+
@mixin gradient-horizontal($startColor: #555, $endColor: #333) {
|
409
|
+
background-color: $endColor;
|
410
|
+
background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
|
411
|
+
background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
|
412
|
+
background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
|
413
|
+
background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
|
414
|
+
background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
|
415
|
+
background-image: linear-gradient(left, $startColor, $endColor); // Le standard
|
416
|
+
background-repeat: repeat-x;
|
417
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
|
418
|
+
}
|
419
|
+
@mixin gradient-vertical($startColor: #555, $endColor: #333) {
|
420
|
+
background-color: mix($startColor, $endColor, 60%);
|
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, 0 0, 0 100%, from($startColor), to($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, $startColor, $endColor); // The standard
|
427
|
+
background-repeat: repeat-x;
|
428
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($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: mix($midColor, $endColor, 80%);
|
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='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
|
449
|
+
}
|
450
|
+
@mixin gradient-radial($innerColor: #555, $outerColor: #333) {
|
451
|
+
background-color: $outerColor;
|
452
|
+
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor));
|
453
|
+
background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor);
|
454
|
+
background-image: -moz-radial-gradient(circle, $innerColor, $outerColor);
|
455
|
+
background-image: -ms-radial-gradient(circle, $innerColor, $outerColor);
|
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%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0));
|
467
|
+
}
|
468
|
+
// Reset filters for IE
|
469
|
+
@mixin reset-filter() {
|
470
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
471
|
+
}
|
472
|
+
|
473
|
+
|
474
|
+
// Mixin for generating button backgrounds
|
475
|
+
// ---------------------------------------
|
476
|
+
@mixin buttonBackground($startColor, $endColor) {
|
477
|
+
// gradientBar will set the background to a pleasing blend of these, to support IE<=9
|
478
|
+
@include gradientBar($startColor, $endColor);
|
479
|
+
@include reset-filter();
|
480
|
+
|
481
|
+
// in these cases the gradient won't cover the background, so we override
|
482
|
+
&:hover, &:active, &.active, &.disabled, &[disabled] {
|
483
|
+
background-color: $endColor;
|
484
|
+
}
|
485
|
+
|
486
|
+
// IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
|
487
|
+
&:active, &.active {
|
488
|
+
background-color: darken($endColor, 10%) \9;
|
489
|
+
}
|
490
|
+
}
|
491
|
+
|
492
|
+
|
493
|
+
// COMPONENT MIXINS
|
494
|
+
// --------------------------------------------------
|
495
|
+
|
496
|
+
// POPOVER ARROWS
|
497
|
+
// -------------------------
|
498
|
+
// For tipsies and popovers
|
499
|
+
@mixin popoverArrowTop($arrowWidth: 5px) {
|
500
|
+
bottom: 0;
|
501
|
+
left: 50%;
|
502
|
+
margin-left: -$arrowWidth;
|
503
|
+
border-left: $arrowWidth solid transparent;
|
504
|
+
border-right: $arrowWidth solid transparent;
|
505
|
+
border-top: $arrowWidth solid $black;
|
506
|
+
}
|
507
|
+
@mixin popoverArrowLeft($arrowWidth: 5px) {
|
508
|
+
top: 50%;
|
509
|
+
right: 0;
|
510
|
+
margin-top: -$arrowWidth;
|
511
|
+
border-top: $arrowWidth solid transparent;
|
512
|
+
border-bottom: $arrowWidth solid transparent;
|
513
|
+
border-left: $arrowWidth solid $black;
|
514
|
+
}
|
515
|
+
@mixin popoverArrowBottom($arrowWidth: 5px) {
|
516
|
+
top: 0;
|
517
|
+
left: 50%;
|
518
|
+
margin-left: -$arrowWidth;
|
519
|
+
border-left: $arrowWidth solid transparent;
|
520
|
+
border-right: $arrowWidth solid transparent;
|
521
|
+
border-bottom: $arrowWidth solid $black;
|
522
|
+
}
|
523
|
+
@mixin popoverArrowRight($arrowWidth: 5px) {
|
524
|
+
top: 50%;
|
525
|
+
left: 0;
|
526
|
+
margin-top: -$arrowWidth;
|
527
|
+
border-top: $arrowWidth solid transparent;
|
528
|
+
border-bottom: $arrowWidth solid transparent;
|
529
|
+
border-right: $arrowWidth solid $black;
|
530
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
// MODALS
|
2
|
+
// ------
|
3
|
+
|
4
|
+
// Recalculate z-index where appropriate
|
5
|
+
.modal-open {
|
6
|
+
.dropdown-menu { z-index: $zindexDropdown + $zindexModal; }
|
7
|
+
.dropdown.open { *z-index: $zindexDropdown + $zindexModal; }
|
8
|
+
.popover { z-index: $zindexPopover + $zindexModal; }
|
9
|
+
.tooltip { z-index: $zindexTooltip + $zindexModal; }
|
10
|
+
}
|
11
|
+
|
12
|
+
// Background
|
13
|
+
.modal-backdrop {
|
14
|
+
position: fixed;
|
15
|
+
top: 0;
|
16
|
+
right: 0;
|
17
|
+
bottom: 0;
|
18
|
+
left: 0;
|
19
|
+
z-index: $zindexModalBackdrop;
|
20
|
+
background-color: $black;
|
21
|
+
// Fade for backdrop
|
22
|
+
&.fade { opacity: 0; }
|
23
|
+
}
|
24
|
+
|
25
|
+
.modal-backdrop, .modal-backdrop.fade.in {
|
26
|
+
@include opacity(0.8);
|
27
|
+
}
|
28
|
+
|
29
|
+
// Base modal
|
30
|
+
.modal {
|
31
|
+
position: fixed;
|
32
|
+
top: 50%;
|
33
|
+
left: 50%;
|
34
|
+
z-index: $zindexModal;
|
35
|
+
max-height: 500px;
|
36
|
+
overflow: auto;
|
37
|
+
width: 560px;
|
38
|
+
margin: -250px 0 0 -280px;
|
39
|
+
background-color: $white;
|
40
|
+
border: 1px solid #999;
|
41
|
+
border: 1px solid rgba(0,0,0,.3);
|
42
|
+
*border: 1px solid #999; /* IE6-7 */
|
43
|
+
@include border-radius(6px);
|
44
|
+
@include box-shadow(0 3px 7px rgba(0,0,0,0.3));
|
45
|
+
@include background-clip(padding-box);
|
46
|
+
&.fade {
|
47
|
+
$transition: opacity .3s linear, top .3s ease-out;
|
48
|
+
@include transition($transition);
|
49
|
+
top: -25%;
|
50
|
+
}
|
51
|
+
&.fade.in { top: 50%; }
|
52
|
+
}
|
53
|
+
.modal-header {
|
54
|
+
padding: 9px 15px;
|
55
|
+
border-bottom: 1px solid #eee;
|
56
|
+
// Close icon
|
57
|
+
.close { margin-top: 2px; }
|
58
|
+
}
|
59
|
+
|
60
|
+
// Body (where all modal content resides)
|
61
|
+
.modal-body {
|
62
|
+
padding: 15px;
|
63
|
+
}
|
64
|
+
// Remove bottom margin if need be
|
65
|
+
.modal-body .modal-form {
|
66
|
+
margin-bottom: 0;
|
67
|
+
}
|
68
|
+
|
69
|
+
// Footer (for actions)
|
70
|
+
.modal-footer {
|
71
|
+
padding: 14px 15px 15px;
|
72
|
+
margin-bottom: 0;
|
73
|
+
background-color: #f5f5f5;
|
74
|
+
border-top: 1px solid #ddd;
|
75
|
+
@include border-radius(0 0 6px 6px);
|
76
|
+
@include box-shadow(inset 0 1px 0 $white);
|
77
|
+
@include clearfix();
|
78
|
+
.btn {
|
79
|
+
float: right;
|
80
|
+
margin-left: 5px;
|
81
|
+
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
|
82
|
+
}
|
83
|
+
}
|