fennec 1.0.0 → 2.0.0
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/fennec/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/README.md +106 -0
- data/vendor/assets/javascripts/bootstrap-alert.js +91 -0
- data/vendor/assets/javascripts/bootstrap-button.js +98 -0
- data/vendor/assets/javascripts/bootstrap-carousel.js +154 -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/tests/index.html +49 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-alert.js +41 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-button.js +54 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-collapse.js +25 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-dropdown.js +53 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-modal.js +85 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-popover.js +93 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-scrollspy.js +31 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-tab.js +45 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-tooltip.js +62 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-transition.js +13 -0
- data/vendor/assets/javascripts/tests/unit/bootstrap-typeahead.js +128 -0
- data/vendor/assets/javascripts/tests/vendor/jquery.js +9252 -0
- data/vendor/assets/javascripts/tests/vendor/qunit.css +232 -0
- data/vendor/assets/javascripts/tests/vendor/qunit.js +1510 -0
- data/vendor/assets/stylesheets/bootstrap/accordion.less +28 -0
- data/vendor/assets/stylesheets/bootstrap/alerts.less +70 -0
- data/vendor/assets/stylesheets/bootstrap/bootstrap.less +41 -5
- data/vendor/assets/stylesheets/bootstrap/breadcrumbs.less +22 -0
- data/vendor/assets/stylesheets/bootstrap/button-groups.less +147 -0
- data/vendor/assets/stylesheets/bootstrap/buttons.less +165 -0
- data/vendor/assets/stylesheets/bootstrap/carousel.less +121 -0
- data/vendor/assets/stylesheets/bootstrap/close.less +18 -0
- data/vendor/assets/stylesheets/bootstrap/code.less +44 -0
- data/vendor/assets/stylesheets/bootstrap/component-animations.less +18 -0
- data/vendor/assets/stylesheets/bootstrap/dropdowns.less +131 -0
- data/vendor/assets/stylesheets/bootstrap/forms.less +355 -305
- data/vendor/assets/stylesheets/bootstrap/grid.less +8 -0
- data/vendor/assets/stylesheets/bootstrap/hero-unit.less +20 -0
- data/vendor/assets/stylesheets/bootstrap/labels.less +16 -0
- data/vendor/assets/stylesheets/bootstrap/layouts.less +17 -0
- data/vendor/assets/stylesheets/bootstrap/mixins.less +410 -90
- data/vendor/assets/stylesheets/bootstrap/modals.less +72 -0
- data/vendor/assets/stylesheets/bootstrap/navbar.less +292 -0
- data/vendor/assets/stylesheets/bootstrap/navs.less +344 -0
- data/vendor/assets/stylesheets/bootstrap/pager.less +30 -0
- data/vendor/assets/stylesheets/bootstrap/pagination.less +55 -0
- data/vendor/assets/stylesheets/bootstrap/popovers.less +49 -0
- data/vendor/assets/stylesheets/bootstrap/progress-bars.less +95 -0
- data/vendor/assets/stylesheets/bootstrap/reset.less +37 -52
- data/vendor/assets/stylesheets/bootstrap/responsive.less +323 -0
- data/vendor/assets/stylesheets/bootstrap/scaffolding.less +13 -119
- data/vendor/assets/stylesheets/bootstrap/sprites.less +156 -0
- data/vendor/assets/stylesheets/bootstrap/tables.less +99 -131
- data/vendor/assets/stylesheets/bootstrap/thumbnails.less +35 -0
- data/vendor/assets/stylesheets/bootstrap/tooltip.less +35 -0
- data/vendor/assets/stylesheets/bootstrap/type.less +100 -70
- data/vendor/assets/stylesheets/bootstrap/utilities.less +23 -0
- data/vendor/assets/stylesheets/bootstrap/variables.less +94 -55
- data/vendor/assets/stylesheets/bootstrap/wells.less +17 -0
- data/vendor/assets/stylesheets/bootstrap-responsive.css +567 -0
- data/vendor/assets/stylesheets/bootstrap.css +3365 -0
- data/vendor/assets/stylesheets/docs.css +646 -173
- metadata +70 -23
- data/vendor/assets/javascripts/bootstrap/alerts.js +0 -104
- data/vendor/assets/javascripts/bootstrap/dropdown.js +0 -50
- data/vendor/assets/javascripts/bootstrap/jquery.tablesorter.min.js +0 -4
- data/vendor/assets/javascripts/bootstrap/modal.js +0 -231
- data/vendor/assets/javascripts/bootstrap/popover.js +0 -77
- data/vendor/assets/javascripts/bootstrap/scrollspy.js +0 -105
- data/vendor/assets/javascripts/bootstrap/tabs.js +0 -62
- data/vendor/assets/javascripts/bootstrap/twipsy.js +0 -307
- data/vendor/assets/javascripts/bootstrap.config.js +0 -52
- data/vendor/assets/stylesheets/bootstrap/patterns.less +0 -1005
- data/vendor/assets/stylesheets/bootstrap-1.3.0.css +0 -2362
- data/vendor/assets/stylesheets/bootstrap-1.3.0.min.css +0 -330
|
@@ -1,66 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// Forms.less
|
|
2
|
+
// Base styles for various input types, form layouts, and states
|
|
3
|
+
// -------------------------------------------------------------
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
//
|
|
6
|
+
// GENERAL STYLES
|
|
7
|
+
// --------------
|
|
8
8
|
|
|
9
|
+
// Make all forms have space below them
|
|
9
10
|
form {
|
|
10
|
-
margin
|
|
11
|
+
margin: 0 0 @baseLineHeight;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
// Groups of fields with labels on top (legends)
|
|
14
14
|
fieldset {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
display: block;
|
|
19
|
-
padding-left: 150px;
|
|
20
|
-
font-size: @basefont * 1.5;
|
|
21
|
-
line-height: 1;
|
|
22
|
-
color: @grayDark;
|
|
23
|
-
*padding: 0 0 5px 145px; /* IE6-7 */
|
|
24
|
-
*line-height: 1.5; /* IE6-7 */
|
|
25
|
-
}
|
|
15
|
+
padding: 0;
|
|
16
|
+
margin: 0;
|
|
17
|
+
border: 0;
|
|
26
18
|
}
|
|
27
19
|
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
// Groups of fields with labels on top (legends)
|
|
21
|
+
legend {
|
|
22
|
+
display: block;
|
|
23
|
+
width: 100%;
|
|
24
|
+
padding: 0;
|
|
25
|
+
margin-bottom: @baseLineHeight * 1.5;
|
|
26
|
+
font-size: @baseFontSize * 1.5;
|
|
27
|
+
line-height: @baseLineHeight * 2;
|
|
28
|
+
color: @grayDark;
|
|
29
|
+
border: 0;
|
|
30
|
+
border-bottom: 1px solid #eee;
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
// Set font for forms
|
|
35
34
|
label,
|
|
36
35
|
input,
|
|
36
|
+
button,
|
|
37
37
|
select,
|
|
38
38
|
textarea {
|
|
39
|
-
#font > .sans-serif(
|
|
39
|
+
#font > .sans-serif(@baseFontSize,normal,@baseLineHeight);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
//
|
|
42
|
+
// Identify controls by their labels
|
|
43
43
|
label {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
line-height: @baseline;
|
|
47
|
-
float: left;
|
|
48
|
-
width: 130px;
|
|
49
|
-
text-align: right;
|
|
44
|
+
display: block;
|
|
45
|
+
margin-bottom: 5px;
|
|
50
46
|
color: @grayDark;
|
|
51
47
|
}
|
|
52
48
|
|
|
53
|
-
// Shift over the inside div to align all label's relevant content
|
|
54
|
-
form .input {
|
|
55
|
-
margin-left: 150px;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Checkboxs and radio buttons
|
|
59
|
-
input[type=checkbox],
|
|
60
|
-
input[type=radio] {
|
|
61
|
-
cursor: pointer;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
49
|
// Inputs, Textareas, Selects
|
|
65
50
|
input,
|
|
66
51
|
textarea,
|
|
@@ -68,198 +53,194 @@ select,
|
|
|
68
53
|
.uneditable-input {
|
|
69
54
|
display: inline-block;
|
|
70
55
|
width: 210px;
|
|
71
|
-
height: @
|
|
56
|
+
height: @baseLineHeight;
|
|
72
57
|
padding: 4px;
|
|
73
|
-
|
|
74
|
-
|
|
58
|
+
margin-bottom: 9px;
|
|
59
|
+
font-size: @baseFontSize;
|
|
60
|
+
line-height: @baseLineHeight;
|
|
75
61
|
color: @gray;
|
|
76
62
|
border: 1px solid #ccc;
|
|
77
63
|
.border-radius(3px);
|
|
78
64
|
}
|
|
65
|
+
.uneditable-textarea {
|
|
66
|
+
width: auto;
|
|
67
|
+
height: auto;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Inputs within a label
|
|
71
|
+
label input,
|
|
72
|
+
label textarea,
|
|
73
|
+
label select {
|
|
74
|
+
display: block;
|
|
75
|
+
}
|
|
79
76
|
|
|
80
|
-
|
|
81
|
-
input[type=
|
|
82
|
-
input[type=
|
|
77
|
+
// Mini reset for unique input types
|
|
78
|
+
input[type="image"],
|
|
79
|
+
input[type="checkbox"],
|
|
80
|
+
input[type="radio"] {
|
|
83
81
|
width: auto;
|
|
84
82
|
height: auto;
|
|
85
83
|
padding: 0;
|
|
86
84
|
margin: 3px 0;
|
|
87
|
-
*margin-top: 0; /*
|
|
85
|
+
*margin-top: 0; /* IE7 */
|
|
88
86
|
line-height: normal;
|
|
89
|
-
border:
|
|
87
|
+
border: 0;
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
.border-radius(0);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
// Reset the file input to browser defaults
|
|
93
|
+
input[type="file"] {
|
|
94
94
|
padding: initial;
|
|
95
|
-
border: initial;
|
|
96
95
|
line-height: initial;
|
|
96
|
+
border: initial;
|
|
97
|
+
background-color: @white;
|
|
98
|
+
background-color: initial;
|
|
97
99
|
.box-shadow(none);
|
|
98
100
|
}
|
|
99
101
|
|
|
100
|
-
input
|
|
101
|
-
input[type=
|
|
102
|
-
input[type=
|
|
102
|
+
// Help out input buttons
|
|
103
|
+
input[type="button"],
|
|
104
|
+
input[type="reset"],
|
|
105
|
+
input[type="submit"] {
|
|
103
106
|
width: auto;
|
|
104
107
|
height: auto;
|
|
105
108
|
}
|
|
106
109
|
|
|
110
|
+
// Set the height of select and file controls to match text inputs
|
|
107
111
|
select,
|
|
108
|
-
input[type=file] {
|
|
109
|
-
height:
|
|
110
|
-
line-height: @baseline * 1.5;
|
|
112
|
+
input[type="file"] {
|
|
113
|
+
height: 28px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
|
|
111
114
|
*margin-top: 4px; /* For IE7, add top margin to align select with labels */
|
|
115
|
+
line-height: 28px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Chrome on Linux and Mobile Safari need background-color
|
|
119
|
+
select {
|
|
120
|
+
width: 220px; // default input width + 10px of padding that doesn't get applied
|
|
121
|
+
background-color: @white;
|
|
112
122
|
}
|
|
113
123
|
|
|
114
124
|
// Make multiple select elements height not fixed
|
|
115
|
-
select[multiple]
|
|
116
|
-
|
|
125
|
+
select[multiple],
|
|
126
|
+
select[size] {
|
|
127
|
+
height: auto;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Remove shadow from image inputs
|
|
131
|
+
input[type="image"] {
|
|
132
|
+
.box-shadow(none);
|
|
117
133
|
}
|
|
118
134
|
|
|
135
|
+
// Make textarea height behave
|
|
119
136
|
textarea {
|
|
120
137
|
height: auto;
|
|
121
138
|
}
|
|
122
139
|
|
|
123
|
-
//
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
display: block;
|
|
127
|
-
border-color: #eee;
|
|
128
|
-
.box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
|
|
129
|
-
cursor: not-allowed;
|
|
140
|
+
// Hidden inputs
|
|
141
|
+
input[type="hidden"] {
|
|
142
|
+
display: none;
|
|
130
143
|
}
|
|
131
144
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
// CHECKBOXES & RADIOS
|
|
148
|
+
// -------------------
|
|
149
|
+
|
|
150
|
+
// Indent the labels to position radios/checkboxes as hanging
|
|
151
|
+
.radio,
|
|
152
|
+
.checkbox {
|
|
153
|
+
padding-left: 18px;
|
|
135
154
|
}
|
|
136
|
-
|
|
137
|
-
|
|
155
|
+
.radio input[type="radio"],
|
|
156
|
+
.checkbox input[type="checkbox"] {
|
|
157
|
+
float: left;
|
|
158
|
+
margin-left: -18px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Move the options list down to align with labels
|
|
162
|
+
.controls > .radio:first-child,
|
|
163
|
+
.controls > .checkbox:first-child {
|
|
164
|
+
padding-top: 5px; // has to be padding because margin collaspes
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Radios and checkboxes on same line
|
|
168
|
+
.radio.inline,
|
|
169
|
+
.checkbox.inline {
|
|
170
|
+
display: inline-block;
|
|
171
|
+
margin-bottom: 0;
|
|
172
|
+
vertical-align: middle;
|
|
138
173
|
}
|
|
174
|
+
.radio.inline + .radio.inline,
|
|
175
|
+
.checkbox.inline + .checkbox.inline {
|
|
176
|
+
margin-left: 10px; // space out consecutive inline controls
|
|
177
|
+
}
|
|
178
|
+
// But don't forget to remove their padding on first-child
|
|
179
|
+
.controls > .radio.inline:first-child,
|
|
180
|
+
.controls > .checkbox.inline:first-child {
|
|
181
|
+
padding-top: 0;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
// FOCUS STATE
|
|
187
|
+
// -----------
|
|
139
188
|
|
|
140
|
-
// Focus states
|
|
141
189
|
input,
|
|
142
190
|
textarea {
|
|
191
|
+
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
|
|
143
192
|
@transition: border linear .2s, box-shadow linear .2s;
|
|
144
193
|
.transition(@transition);
|
|
145
|
-
.box-shadow(inset 0 1px 3px rgba(0,0,0,.1));
|
|
146
194
|
}
|
|
147
195
|
input:focus,
|
|
148
196
|
textarea:focus {
|
|
149
|
-
outline: 0;
|
|
150
197
|
border-color: rgba(82,168,236,.8);
|
|
151
|
-
@shadow: inset 0 1px
|
|
198
|
+
@shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
|
|
152
199
|
.box-shadow(@shadow);
|
|
200
|
+
outline: 0;
|
|
201
|
+
outline: thin dotted \9; /* IE6-8 */
|
|
153
202
|
}
|
|
154
|
-
input[type=file]:focus,
|
|
155
|
-
input[type=checkbox]:focus,
|
|
203
|
+
input[type="file"]:focus,
|
|
204
|
+
input[type="checkbox"]:focus,
|
|
156
205
|
select:focus {
|
|
157
206
|
.box-shadow(none); // override for file inputs
|
|
158
|
-
|
|
207
|
+
.tab-focus();
|
|
159
208
|
}
|
|
160
209
|
|
|
161
|
-
// Error styles
|
|
162
|
-
form div.clearfix.error {
|
|
163
|
-
background: lighten(@red, 57%);
|
|
164
|
-
padding: 10px 0;
|
|
165
|
-
margin: -10px 0 10px;
|
|
166
|
-
.border-radius(4px);
|
|
167
|
-
@error-text: desaturate(lighten(@red, 25%), 25%);
|
|
168
|
-
> label,
|
|
169
|
-
span.help-inline,
|
|
170
|
-
span.help-block {
|
|
171
|
-
color: @red;
|
|
172
|
-
}
|
|
173
|
-
input,
|
|
174
|
-
textarea {
|
|
175
|
-
border-color: @error-text;
|
|
176
|
-
.box-shadow(0 0 3px rgba(171,41,32,.25));
|
|
177
|
-
&:focus {
|
|
178
|
-
border-color: darken(@error-text, 10%);
|
|
179
|
-
.box-shadow(0 0 6px rgba(171,41,32,.5));
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
.input-prepend,
|
|
183
|
-
.input-append {
|
|
184
|
-
span.add-on {
|
|
185
|
-
background: lighten(@red, 50%);
|
|
186
|
-
border-color: @error-text;
|
|
187
|
-
color: darken(@error-text, 10%);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
210
|
|
|
192
|
-
|
|
193
|
-
//
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
.input-
|
|
201
|
-
input
|
|
202
|
-
|
|
203
|
-
select.small {
|
|
204
|
-
width: 90px;
|
|
205
|
-
}
|
|
206
|
-
.input-medium,
|
|
207
|
-
input.medium,
|
|
208
|
-
textarea.medium,
|
|
209
|
-
select.medium {
|
|
210
|
-
width: 150px;
|
|
211
|
-
}
|
|
212
|
-
.input-large,
|
|
213
|
-
input.large,
|
|
214
|
-
textarea.large,
|
|
215
|
-
select.large {
|
|
216
|
-
width: 210px;
|
|
217
|
-
}
|
|
218
|
-
.input-xlarge,
|
|
219
|
-
input.xlarge,
|
|
220
|
-
textarea.xlarge,
|
|
221
|
-
select.xlarge {
|
|
222
|
-
width: 270px;
|
|
223
|
-
}
|
|
224
|
-
.input-xxlarge,
|
|
225
|
-
input.xxlarge,
|
|
226
|
-
textarea.xxlarge,
|
|
227
|
-
select.xxlarge {
|
|
228
|
-
width: 530px;
|
|
229
|
-
}
|
|
230
|
-
textarea.xxlarge {
|
|
231
|
-
overflow-y: auto;
|
|
232
|
-
}
|
|
211
|
+
|
|
212
|
+
// INPUT SIZES
|
|
213
|
+
// -----------
|
|
214
|
+
|
|
215
|
+
// General classes for quick sizes
|
|
216
|
+
.input-mini { width: 60px; }
|
|
217
|
+
.input-small { width: 90px; }
|
|
218
|
+
.input-medium { width: 150px; }
|
|
219
|
+
.input-large { width: 210px; }
|
|
220
|
+
.input-xlarge { width: 270px; }
|
|
221
|
+
.input-xxlarge { width: 530px; }
|
|
233
222
|
|
|
234
223
|
// Grid style input sizes
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
224
|
+
input[class*="span"],
|
|
225
|
+
select[class*="span"],
|
|
226
|
+
textarea[class*="span"],
|
|
227
|
+
.uneditable-input {
|
|
238
228
|
float: none;
|
|
239
|
-
width: ((@gridColumnWidth - 10) * @columnSpan) + ((@gridColumnWidth - 10) * (@columnSpan - 1));
|
|
240
229
|
margin-left: 0;
|
|
241
230
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
&.span10 { .formColumns(10); }
|
|
256
|
-
&.span11 { .formColumns(11); }
|
|
257
|
-
&.span12 { .formColumns(12); }
|
|
258
|
-
&.span13 { .formColumns(13); }
|
|
259
|
-
&.span14 { .formColumns(14); }
|
|
260
|
-
&.span15 { .formColumns(15); }
|
|
261
|
-
&.span16 { .formColumns(16); }
|
|
262
|
-
}
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
// GRID SIZING FOR INPUTS
|
|
235
|
+
// ----------------------
|
|
236
|
+
|
|
237
|
+
#inputGridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth);
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
// DISABLED STATE
|
|
243
|
+
// --------------
|
|
263
244
|
|
|
264
245
|
// Disabled and read-only inputs
|
|
265
246
|
input[disabled],
|
|
@@ -273,88 +254,149 @@ textarea[readonly] {
|
|
|
273
254
|
cursor: not-allowed;
|
|
274
255
|
}
|
|
275
256
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
// FORM FIELD FEEDBACK STATES
|
|
261
|
+
// --------------------------
|
|
262
|
+
|
|
263
|
+
// Mixin for form field states
|
|
264
|
+
.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
|
|
265
|
+
// Set the text color
|
|
266
|
+
> label,
|
|
267
|
+
.help-block,
|
|
268
|
+
.help-inline {
|
|
269
|
+
color: @textColor;
|
|
270
|
+
}
|
|
271
|
+
// Style inputs accordingly
|
|
272
|
+
input,
|
|
273
|
+
select,
|
|
274
|
+
textarea {
|
|
275
|
+
color: @textColor;
|
|
276
|
+
border-color: @borderColor;
|
|
277
|
+
&:focus {
|
|
278
|
+
border-color: darken(@borderColor, 10%);
|
|
279
|
+
.box-shadow(0 0 6px lighten(@borderColor, 20%));
|
|
291
280
|
}
|
|
292
281
|
}
|
|
282
|
+
// Give a small background color for input-prepend/-append
|
|
283
|
+
.input-prepend .add-on,
|
|
284
|
+
.input-append .add-on {
|
|
285
|
+
color: @textColor;
|
|
286
|
+
background-color: @backgroundColor;
|
|
287
|
+
border-color: @textColor;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// Warning
|
|
291
|
+
.control-group.warning {
|
|
292
|
+
.formFieldState(@warningText, @warningText, @warningBackground);
|
|
293
|
+
}
|
|
294
|
+
// Error
|
|
295
|
+
.control-group.error {
|
|
296
|
+
.formFieldState(@errorText, @errorText, @errorBackground);
|
|
297
|
+
}
|
|
298
|
+
// Success
|
|
299
|
+
.control-group.success {
|
|
300
|
+
.formFieldState(@successText, @successText, @successBackground);
|
|
293
301
|
}
|
|
294
302
|
|
|
295
|
-
//
|
|
296
|
-
.
|
|
303
|
+
// HTML5 invalid states
|
|
304
|
+
// Shares styles with the .control-group.error above
|
|
305
|
+
input:focus:required:invalid,
|
|
306
|
+
textarea:focus:required:invalid,
|
|
307
|
+
select:focus:required:invalid {
|
|
308
|
+
color: #b94a48;
|
|
309
|
+
border-color: #ee5f5b;
|
|
310
|
+
&:focus {
|
|
311
|
+
border-color: darken(#ee5f5b, 10%);
|
|
312
|
+
.box-shadow(0 0 6px lighten(#ee5f5b, 20%));
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
// FORM ACTIONS
|
|
319
|
+
// ------------
|
|
320
|
+
|
|
321
|
+
.form-actions {
|
|
322
|
+
padding: (@baseLineHeight - 1) 20px @baseLineHeight;
|
|
323
|
+
margin-top: @baseLineHeight;
|
|
324
|
+
margin-bottom: @baseLineHeight;
|
|
325
|
+
background-color: #f5f5f5;
|
|
326
|
+
border-top: 1px solid #ddd;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// For text that needs to appear as an input but should not be an input
|
|
330
|
+
.uneditable-input {
|
|
331
|
+
display: block;
|
|
332
|
+
background-color: @white;
|
|
333
|
+
border-color: #eee;
|
|
334
|
+
.box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
|
|
335
|
+
cursor: not-allowed;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
// Placeholder text gets special styles; can't be bundled together though for some reason
|
|
339
|
+
.placeholder(@grayLight);
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
// HELP TEXT
|
|
344
|
+
// ---------
|
|
345
|
+
|
|
297
346
|
.help-block {
|
|
298
|
-
|
|
299
|
-
|
|
347
|
+
margin-top: 5px;
|
|
348
|
+
margin-bottom: 0;
|
|
300
349
|
color: @grayLight;
|
|
301
350
|
}
|
|
351
|
+
|
|
302
352
|
.help-inline {
|
|
353
|
+
display: inline-block;
|
|
354
|
+
.ie7-inline-block();
|
|
355
|
+
margin-bottom: 9px;
|
|
356
|
+
vertical-align: middle;
|
|
303
357
|
padding-left: 5px;
|
|
304
|
-
*position: relative; /* IE6-7 */
|
|
305
|
-
*top: -5px; /* IE6-7 */
|
|
306
358
|
}
|
|
307
359
|
|
|
308
|
-
// Big blocks of help text
|
|
309
|
-
.help-block {
|
|
310
|
-
display: block;
|
|
311
|
-
max-width: 600px;
|
|
312
|
-
}
|
|
313
360
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
span, input {
|
|
318
|
-
display: inline-block;
|
|
319
|
-
}
|
|
320
|
-
input.mini {
|
|
321
|
-
width: 60px;
|
|
322
|
-
}
|
|
323
|
-
input.small {
|
|
324
|
-
width: 90px;
|
|
325
|
-
}
|
|
326
|
-
span {
|
|
327
|
-
padding: 0 2px 0 1px;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
361
|
+
|
|
362
|
+
// INPUT GROUPS
|
|
363
|
+
// ------------
|
|
330
364
|
|
|
331
365
|
// Allow us to put symbols and text within the input field for a cleaner look
|
|
332
366
|
.input-prepend,
|
|
333
367
|
.input-append {
|
|
334
|
-
|
|
368
|
+
margin-bottom: 5px;
|
|
369
|
+
.clearfix(); // Clear the float to prevent wrapping
|
|
370
|
+
input,
|
|
371
|
+
.uneditable-input {
|
|
335
372
|
.border-radius(0 3px 3px 0);
|
|
373
|
+
&:focus {
|
|
374
|
+
position: relative;
|
|
375
|
+
z-index: 2;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
.uneditable-input {
|
|
379
|
+
border-left-color: #ccc;
|
|
336
380
|
}
|
|
337
381
|
.add-on {
|
|
338
|
-
position: relative;
|
|
339
|
-
background: #f5f5f5;
|
|
340
|
-
border: 1px solid #ccc;
|
|
341
|
-
z-index: 2;
|
|
342
382
|
float: left;
|
|
343
383
|
display: block;
|
|
344
384
|
width: auto;
|
|
345
385
|
min-width: 16px;
|
|
346
|
-
height:
|
|
347
|
-
padding: 4px 4px 4px 5px;
|
|
386
|
+
height: @baseLineHeight;
|
|
348
387
|
margin-right: -1px;
|
|
388
|
+
padding: 4px 5px;
|
|
349
389
|
font-weight: normal;
|
|
350
|
-
line-height:
|
|
390
|
+
line-height: @baseLineHeight;
|
|
351
391
|
color: @grayLight;
|
|
352
392
|
text-align: center;
|
|
353
393
|
text-shadow: 0 1px 0 @white;
|
|
394
|
+
background-color: #f5f5f5;
|
|
395
|
+
border: 1px solid #ccc;
|
|
354
396
|
.border-radius(3px 0 0 3px);
|
|
355
397
|
}
|
|
356
398
|
.active {
|
|
357
|
-
background: lighten(@green, 30);
|
|
399
|
+
background-color: lighten(@green, 30);
|
|
358
400
|
border-color: @green;
|
|
359
401
|
}
|
|
360
402
|
}
|
|
@@ -364,102 +406,110 @@ textarea[readonly] {
|
|
|
364
406
|
}
|
|
365
407
|
}
|
|
366
408
|
.input-append {
|
|
367
|
-
input
|
|
409
|
+
input,
|
|
410
|
+
.uneditable-input {
|
|
368
411
|
float: left;
|
|
369
412
|
.border-radius(3px 0 0 3px);
|
|
370
413
|
}
|
|
414
|
+
.uneditable-input {
|
|
415
|
+
border-right-color: #ccc;
|
|
416
|
+
}
|
|
371
417
|
.add-on {
|
|
372
|
-
.border-radius(0 3px 3px 0);
|
|
373
418
|
margin-right: 0;
|
|
374
419
|
margin-left: -1px;
|
|
420
|
+
.border-radius(0 3px 3px 0);
|
|
375
421
|
}
|
|
376
|
-
|
|
422
|
+
input:first-child {
|
|
423
|
+
// In IE7, having a hasLayout container (from clearfix's zoom:1) can make the first input
|
|
424
|
+
// inherit the sum of its ancestors' margins.
|
|
425
|
+
*margin-left: -160px;
|
|
377
426
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
margin: 0 0 5px;
|
|
381
|
-
width: 100%;
|
|
382
|
-
li {
|
|
383
|
-
display: block;
|
|
384
|
-
padding: 0;
|
|
385
|
-
width: 100%;
|
|
386
|
-
}
|
|
387
|
-
label {
|
|
388
|
-
display: block;
|
|
389
|
-
float: none;
|
|
390
|
-
width: auto;
|
|
391
|
-
padding: 0;
|
|
392
|
-
line-height: @baseline;
|
|
393
|
-
text-align: left;
|
|
394
|
-
white-space: normal;
|
|
395
|
-
strong {
|
|
396
|
-
color: @gray;
|
|
397
|
-
}
|
|
398
|
-
small {
|
|
399
|
-
font-size: @basefont - 2;
|
|
400
|
-
font-weight: normal;
|
|
427
|
+
&+.add-on {
|
|
428
|
+
*margin-left: -21px;
|
|
401
429
|
}
|
|
402
430
|
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
// SEARCH FORM
|
|
436
|
+
// -----------
|
|
437
|
+
|
|
438
|
+
.search-query {
|
|
439
|
+
padding-left: 14px;
|
|
440
|
+
padding-right: 14px;
|
|
441
|
+
margin-bottom: 0; // remove the default margin on all inputs
|
|
442
|
+
.border-radius(14px);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
// HORIZONTAL & VERTICAL FORMS
|
|
448
|
+
// ---------------------------
|
|
449
|
+
|
|
450
|
+
// Common properties
|
|
451
|
+
// -----------------
|
|
452
|
+
|
|
453
|
+
.form-search,
|
|
454
|
+
.form-inline,
|
|
455
|
+
.form-horizontal {
|
|
456
|
+
input,
|
|
457
|
+
textarea,
|
|
458
|
+
select,
|
|
459
|
+
.help-inline,
|
|
460
|
+
.uneditable-input {
|
|
461
|
+
display: inline-block;
|
|
416
462
|
margin-bottom: 0;
|
|
417
463
|
}
|
|
418
464
|
}
|
|
465
|
+
.form-search label,
|
|
466
|
+
.form-inline label,
|
|
467
|
+
.form-search .input-append,
|
|
468
|
+
.form-inline .input-append,
|
|
469
|
+
.form-search .input-prepend,
|
|
470
|
+
.form-inline .input-prepend {
|
|
471
|
+
display: inline-block;
|
|
472
|
+
}
|
|
473
|
+
// Make the prepend and append add-on vertical-align: middle;
|
|
474
|
+
.form-search .input-append .add-on,
|
|
475
|
+
.form-inline .input-prepend .add-on,
|
|
476
|
+
.form-search .input-append .add-on,
|
|
477
|
+
.form-inline .input-prepend .add-on {
|
|
478
|
+
vertical-align: middle;
|
|
479
|
+
}
|
|
419
480
|
|
|
420
|
-
//
|
|
421
|
-
.
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
font-weight: bold;
|
|
434
|
-
text-align: left;
|
|
435
|
-
line-height: 20px;
|
|
436
|
-
padding-top: 0;
|
|
481
|
+
// Margin to space out fieldsets
|
|
482
|
+
.control-group {
|
|
483
|
+
margin-bottom: @baseLineHeight / 2;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// Horizontal-specific styles
|
|
487
|
+
// --------------------------
|
|
488
|
+
|
|
489
|
+
.form-horizontal {
|
|
490
|
+
// Legend collapses margin, so we're relegated to padding
|
|
491
|
+
legend + .control-group {
|
|
492
|
+
margin-top: @baseLineHeight;
|
|
493
|
+
-webkit-margin-top-collapse: separate;
|
|
437
494
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
495
|
+
// Increase spacing between groups
|
|
496
|
+
.control-group {
|
|
497
|
+
margin-bottom: @baseLineHeight;
|
|
498
|
+
.clearfix();
|
|
443
499
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
padding-top: 0;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
500
|
+
// Float the labels left
|
|
501
|
+
.control-group > label {
|
|
502
|
+
float: left;
|
|
503
|
+
width: 140px;
|
|
504
|
+
padding-top: 5px;
|
|
505
|
+
text-align: right;
|
|
453
506
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
padding-left: 10px;
|
|
458
|
-
margin-top: 0;
|
|
459
|
-
margin-left: -10px;
|
|
507
|
+
// Move over all input controls and content
|
|
508
|
+
.controls {
|
|
509
|
+
margin-left: 160px;
|
|
460
510
|
}
|
|
461
|
-
.actions
|
|
462
|
-
|
|
463
|
-
padding-left:
|
|
511
|
+
// Move over buttons in .form-actions to align with .controls
|
|
512
|
+
.form-actions {
|
|
513
|
+
padding-left: 160px;
|
|
464
514
|
}
|
|
465
515
|
}
|