todc-bootstrap-sass 0.0.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.
- checksums.yaml +15 -0
- data/LICENSE +22 -0
- data/README.md +60 -0
- data/lib/assets/images/checkmark.png +0 -0
- data/lib/assets/images/glyphicons-halflings-white.png +0 -0
- data/lib/assets/images/glyphicons-halflings.png +0 -0
- data/lib/assets/stylesheets/todc-bootstrap-responsive.scss +1 -0
- data/lib/assets/stylesheets/todc-bootstrap.scss +1 -0
- data/lib/assets/stylesheets/todc-bootstrap/_alerts.scss +45 -0
- data/lib/assets/stylesheets/todc-bootstrap/_breadcrumbs.scss +10 -0
- data/lib/assets/stylesheets/todc-bootstrap/_button-groups.scss +153 -0
- data/lib/assets/stylesheets/todc-bootstrap/_buttons.scss +239 -0
- data/lib/assets/stylesheets/todc-bootstrap/_dropdowns.scss +117 -0
- data/lib/assets/stylesheets/todc-bootstrap/_forms.scss +248 -0
- data/lib/assets/stylesheets/todc-bootstrap/_google-mixins.scss +71 -0
- data/lib/assets/stylesheets/todc-bootstrap/_labels-badges.scss +31 -0
- data/lib/assets/stylesheets/todc-bootstrap/_modals.scss +20 -0
- data/lib/assets/stylesheets/todc-bootstrap/_navbar.scss +718 -0
- data/lib/assets/stylesheets/todc-bootstrap/_navs.scss +147 -0
- data/lib/assets/stylesheets/todc-bootstrap/_pager.scss +53 -0
- data/lib/assets/stylesheets/todc-bootstrap/_pagination.scss +58 -0
- data/lib/assets/stylesheets/todc-bootstrap/_popovers.scss +12 -0
- data/lib/assets/stylesheets/todc-bootstrap/_progress-bars.scss +65 -0
- data/lib/assets/stylesheets/todc-bootstrap/_responsive-navbar.scss +147 -0
- data/lib/assets/stylesheets/todc-bootstrap/_scaffolding.scss +37 -0
- data/lib/assets/stylesheets/todc-bootstrap/_scrollbars.scss +48 -0
- data/lib/assets/stylesheets/todc-bootstrap/_sprites.scss +24 -0
- data/lib/assets/stylesheets/todc-bootstrap/_tables.scss +51 -0
- data/lib/assets/stylesheets/todc-bootstrap/_thumbnails.scss +24 -0
- data/lib/assets/stylesheets/todc-bootstrap/_todc-mixins.scss +71 -0
- data/lib/assets/stylesheets/todc-bootstrap/_tooltip.scss +13 -0
- data/lib/assets/stylesheets/todc-bootstrap/_variables.scss +386 -0
- data/lib/assets/stylesheets/todc-bootstrap/_wells.scss +20 -0
- data/lib/assets/stylesheets/todc-bootstrap/bootstrap.scss +39 -0
- data/lib/assets/stylesheets/todc-bootstrap/responsive.scss +5 -0
- data/lib/todc-bootstrap-sass.rb +49 -0
- data/lib/todc-bootstrap-sass/compass_functions.rb +14 -0
- data/lib/todc-bootstrap-sass/engine.rb +8 -0
- data/lib/todc-bootstrap-sass/rails_functions.rb +14 -0
- data/lib/todc-bootstrap-sass/version.rb +7 -0
- metadata +124 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
//
|
2
|
+
// Dropdown menus
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// The dropdown menu (ul)
|
7
|
+
// ----------------------
|
8
|
+
.dropdown-menu {
|
9
|
+
position: absolute;
|
10
|
+
top: 100%;
|
11
|
+
left: 0;
|
12
|
+
z-index: $zindexDropdown;
|
13
|
+
display: none; // none by default, but block on "open" of the menu
|
14
|
+
float: left;
|
15
|
+
min-width: 160px;
|
16
|
+
padding: 0 0 6px 0;
|
17
|
+
margin: 1px 0 0; // override default ul
|
18
|
+
list-style: none;
|
19
|
+
background-color: $dropdownBackground;
|
20
|
+
border: 1px solid #ccc;
|
21
|
+
border: 1px solid rgba(0,0,0,.2);
|
22
|
+
*border-right-width: 2px;
|
23
|
+
*border-bottom-width: 2px;
|
24
|
+
@include border-radius(0);
|
25
|
+
@include box-shadow(0 2px 4px rgba(0,0,0,.2));
|
26
|
+
-webkit-background-clip: padding-box;
|
27
|
+
-moz-background-clip: padding;
|
28
|
+
background-clip: padding-box;
|
29
|
+
|
30
|
+
// Aligns the dropdown menu to right
|
31
|
+
&.pull-right {
|
32
|
+
right: 0;
|
33
|
+
left: auto;
|
34
|
+
}
|
35
|
+
|
36
|
+
// Dividers (basically an hr) within the dropdown
|
37
|
+
.divider {
|
38
|
+
@include nav-divider($dropdownDividerTop, $dropdownDividerBottom);
|
39
|
+
}
|
40
|
+
|
41
|
+
// Links within the dropdown menu
|
42
|
+
li > a {
|
43
|
+
padding: 3px 30px;
|
44
|
+
position: relative;
|
45
|
+
|
46
|
+
// icon within the menu item
|
47
|
+
i {
|
48
|
+
position: absolute;
|
49
|
+
left: 7px;
|
50
|
+
top: 4px;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
// Hover state
|
56
|
+
// -----------
|
57
|
+
.dropdown-menu li > a:hover,
|
58
|
+
.dropdown-menu li > a:focus,
|
59
|
+
.dropdown-submenu:hover > a {
|
60
|
+
color: $dropdownLinkColorHover;
|
61
|
+
@include gradient-vertical($dropdownLinkBackgroundHover, $dropdownLinkBackgroundHover);
|
62
|
+
}
|
63
|
+
|
64
|
+
// Active state
|
65
|
+
// ------------
|
66
|
+
.dropdown-menu .active > a,
|
67
|
+
.dropdown-menu .active > a:hover {
|
68
|
+
color: $dropdownLinkColorActive;
|
69
|
+
@include gradient-vertical($dropdownLinkBackgroundHover, $dropdownLinkBackgroundHover);
|
70
|
+
}
|
71
|
+
|
72
|
+
// Open state for the dropdown
|
73
|
+
// ---------------------------
|
74
|
+
.open {
|
75
|
+
// IE7's z-index only goes to the nearest positioned ancestor, which would
|
76
|
+
// make the menu appear below buttons that appeared later on the page
|
77
|
+
*z-index: $zindexDropdown;
|
78
|
+
|
79
|
+
& > .dropdown-menu {
|
80
|
+
display: block;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
// Sub menus
|
85
|
+
// ---------------------------
|
86
|
+
// Default dropdowns
|
87
|
+
.dropdown-submenu > .dropdown-menu {
|
88
|
+
@include border-radius(0);
|
89
|
+
}
|
90
|
+
|
91
|
+
// Dropups
|
92
|
+
.dropup .dropdown-submenu > .dropdown-menu {
|
93
|
+
@include border-radius(0);
|
94
|
+
}
|
95
|
+
|
96
|
+
// Caret to indicate there is a submenu
|
97
|
+
.dropdown-submenu > a:after {
|
98
|
+
border-left-color: darken($dropdownBackground, 50%);
|
99
|
+
margin-right: -20px;
|
100
|
+
}
|
101
|
+
.dropdown-submenu:hover > a:after {
|
102
|
+
border-left-color: #000000;
|
103
|
+
}
|
104
|
+
|
105
|
+
// Left aligned submenus
|
106
|
+
.dropdown-submenu.pull-left {
|
107
|
+
> .dropdown-menu {
|
108
|
+
@include border-radius(0);
|
109
|
+
margin-left: 18px;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
// Typeahead
|
114
|
+
// ---------
|
115
|
+
.typeahead {
|
116
|
+
@include border-radius(0);
|
117
|
+
}
|
@@ -0,0 +1,248 @@
|
|
1
|
+
//
|
2
|
+
// Forms
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// Form controls
|
7
|
+
// -------------------------
|
8
|
+
|
9
|
+
// Shared size and type resets
|
10
|
+
select,
|
11
|
+
textarea,
|
12
|
+
input[type="text"],
|
13
|
+
input[type="password"],
|
14
|
+
input[type="datetime"],
|
15
|
+
input[type="datetime-local"],
|
16
|
+
input[type="date"],
|
17
|
+
input[type="month"],
|
18
|
+
input[type="time"],
|
19
|
+
input[type="week"],
|
20
|
+
input[type="number"],
|
21
|
+
input[type="email"],
|
22
|
+
input[type="url"],
|
23
|
+
input[type="search"],
|
24
|
+
input[type="tel"],
|
25
|
+
input[type="color"],
|
26
|
+
.uneditable-input {
|
27
|
+
padding: 4px 8px;
|
28
|
+
font-size: $baseFontSize;
|
29
|
+
@include border-radius($inputBorderRadius);
|
30
|
+
}
|
31
|
+
|
32
|
+
// Reset appearance properties for textual inputs and textarea
|
33
|
+
// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
|
34
|
+
input,
|
35
|
+
textarea {
|
36
|
+
width: 210px;
|
37
|
+
}
|
38
|
+
// Reset height since textareas have rows
|
39
|
+
textarea {
|
40
|
+
padding-right: 4px;
|
41
|
+
}
|
42
|
+
// Everything else
|
43
|
+
textarea,
|
44
|
+
input[type="text"],
|
45
|
+
input[type="password"],
|
46
|
+
input[type="datetime"],
|
47
|
+
input[type="datetime-local"],
|
48
|
+
input[type="date"],
|
49
|
+
input[type="month"],
|
50
|
+
input[type="time"],
|
51
|
+
input[type="week"],
|
52
|
+
input[type="number"],
|
53
|
+
input[type="email"],
|
54
|
+
input[type="url"],
|
55
|
+
input[type="search"],
|
56
|
+
input[type="tel"],
|
57
|
+
input[type="color"],
|
58
|
+
.uneditable-input {
|
59
|
+
border: 1px solid $inputBorder;
|
60
|
+
border-top-color: darken($inputBorder, 10%);
|
61
|
+
@include box-shadow(none);
|
62
|
+
@include transition(none);
|
63
|
+
|
64
|
+
&:hover {
|
65
|
+
border: 1px solid #b9b9b9;
|
66
|
+
border-top-color: #a0a0a0;
|
67
|
+
@include box-shadow(inset 0 1px 2px rgba(0,0,0,0.1));
|
68
|
+
}
|
69
|
+
|
70
|
+
// Focus state
|
71
|
+
&:focus {
|
72
|
+
outline: 0 \9;
|
73
|
+
border-color: #4d90fe;
|
74
|
+
@include box-shadow(inset 0 1px 2px rgba(0,0,0,0.3));
|
75
|
+
@include transition(none);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
|
80
|
+
// CHECKBOXES & RADIOS
|
81
|
+
// -------------------
|
82
|
+
|
83
|
+
// Google style
|
84
|
+
input[type="checkbox"],
|
85
|
+
input[type="radio"] {
|
86
|
+
-webkit-appearance: none;
|
87
|
+
appearance: none;
|
88
|
+
width: 13px;
|
89
|
+
height: 13px;
|
90
|
+
background: white;
|
91
|
+
border: 1px solid #dcdcdc;
|
92
|
+
@include border-radius(1px);
|
93
|
+
@include box-sizing(border-box);
|
94
|
+
position: relative;
|
95
|
+
|
96
|
+
// override styles for IE
|
97
|
+
box-sizing: content-box \9;
|
98
|
+
width: 16px \9;
|
99
|
+
height: 16px \9;
|
100
|
+
border-width: 0 \9;
|
101
|
+
}
|
102
|
+
input[type="radio"] {
|
103
|
+
@include border-radius(1em);
|
104
|
+
width: 15px;
|
105
|
+
height: 15px;
|
106
|
+
}
|
107
|
+
input[type="checkbox"]:hover {
|
108
|
+
border-color: #c6c6c6;
|
109
|
+
@include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.1));
|
110
|
+
|
111
|
+
// no box shadow for IE
|
112
|
+
box-shadow: none \9;
|
113
|
+
}
|
114
|
+
input[type="checkbox"]:active,
|
115
|
+
input[type="radio"]:active {
|
116
|
+
border-color: #c6c6c6;
|
117
|
+
background-color: #ebebeb;
|
118
|
+
// override the bkgd color for IE
|
119
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffffffff', GradientType=0);
|
120
|
+
}
|
121
|
+
input[type="checkbox"]:checked,
|
122
|
+
input[type="radio"]:checked {
|
123
|
+
background: #fff;
|
124
|
+
}
|
125
|
+
input[type="checkbox"]:checked::after {
|
126
|
+
content: url($iconCheckMarkPath);
|
127
|
+
display: block;
|
128
|
+
position: absolute;
|
129
|
+
top: -6px;
|
130
|
+
left: -5px;
|
131
|
+
}
|
132
|
+
input[type="radio"]:checked::after {
|
133
|
+
content: '';
|
134
|
+
display: block;
|
135
|
+
position: relative;
|
136
|
+
top: 3px;
|
137
|
+
left: 3px;
|
138
|
+
width: 7px;
|
139
|
+
height: 7px;
|
140
|
+
background: #666;
|
141
|
+
@include border-radius(1em);
|
142
|
+
}
|
143
|
+
input[type="checkbox"]:focus,
|
144
|
+
input[type="radio"]:focus {
|
145
|
+
outline: none;
|
146
|
+
border-color: #4d90fe;
|
147
|
+
}
|
148
|
+
|
149
|
+
|
150
|
+
// DISABLED STATE
|
151
|
+
// --------------
|
152
|
+
|
153
|
+
// Disabled and read-only inputs
|
154
|
+
input[disabled],
|
155
|
+
select[disabled],
|
156
|
+
textarea[disabled] {
|
157
|
+
cursor: not-allowed;
|
158
|
+
border: 1px solid #e5e5e5;
|
159
|
+
background: #f1f1f1;
|
160
|
+
|
161
|
+
&:hover {
|
162
|
+
@include box-shadow(none);
|
163
|
+
}
|
164
|
+
}
|
165
|
+
input[readonly],
|
166
|
+
select[readonly],
|
167
|
+
textarea[readonly] {
|
168
|
+
cursor: not-allowed;
|
169
|
+
border: 1px solid $inputBorder;
|
170
|
+
|
171
|
+
&:hover,
|
172
|
+
&:focus {
|
173
|
+
@include box-shadow(none);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
|
178
|
+
// INPUT GROUPS
|
179
|
+
// ------------
|
180
|
+
|
181
|
+
.input-prepend {
|
182
|
+
input,
|
183
|
+
select,
|
184
|
+
.uneditable-input {
|
185
|
+
@include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
.input-append {
|
190
|
+
input,
|
191
|
+
select,
|
192
|
+
.uneditable-input {
|
193
|
+
@include border-radius($inputBorderRadius 0 0 $inputBorderRadius);
|
194
|
+
}
|
195
|
+
}
|
196
|
+
|
197
|
+
// Remove all border-radius for inputs with both prepend and append
|
198
|
+
.input-prepend.input-append {
|
199
|
+
input,
|
200
|
+
select,
|
201
|
+
.uneditable-input {
|
202
|
+
@include border-radius(0);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
|
206
|
+
|
207
|
+
// FORM FIELD FEEDBACK STATES
|
208
|
+
// --------------------------
|
209
|
+
|
210
|
+
// HTML5 invalid states
|
211
|
+
// Shares styles with the .control-group.error above
|
212
|
+
input:focus:required:invalid,
|
213
|
+
textarea:focus:required:invalid,
|
214
|
+
select:focus:required:invalid {
|
215
|
+
color: #b94a48;
|
216
|
+
border-color: #ee5f5b;
|
217
|
+
&:focus {
|
218
|
+
border-color: #4d90fe;
|
219
|
+
@include box-shadow(0);
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
|
224
|
+
// HORIZONTAL & VERTICAL FORMS
|
225
|
+
// ---------------------------
|
226
|
+
|
227
|
+
// Common properties
|
228
|
+
// -----------------
|
229
|
+
|
230
|
+
.form-search,
|
231
|
+
.form-inline,
|
232
|
+
.form-horizontal {
|
233
|
+
input,
|
234
|
+
textarea,
|
235
|
+
select,
|
236
|
+
.help-inline,
|
237
|
+
.uneditable-input,
|
238
|
+
.input-prepend,
|
239
|
+
.input-append {
|
240
|
+
display: inline-block;
|
241
|
+
@include ie7-inline-block();
|
242
|
+
margin-bottom: 0;
|
243
|
+
}
|
244
|
+
// Re-hide hidden elements due to specifity
|
245
|
+
.hide {
|
246
|
+
display: none;
|
247
|
+
}
|
248
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
// Mixins.less
|
2
|
+
// Snippets of reusable CSS to develop faster and keep code readable
|
3
|
+
// -----------------------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// COMPONENT MIXINS
|
7
|
+
// --------------------------------------------------
|
8
|
+
|
9
|
+
// Navbar vertical align
|
10
|
+
// -------------------------
|
11
|
+
// Vertically center elements in the navbar or other bars.
|
12
|
+
// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
|
13
|
+
// Example: an element has a height of 30px and you want to vertically center it in a bar other than the navbar:
|
14
|
+
// @include navbarVerticalAlign(32px, $navbarGoogleNavHeight);
|
15
|
+
@mixin navbarVerticalAlign($elementHeight, $barHeight: $navbarHeight) {
|
16
|
+
margin-top: ($barHeight - $elementHeight) / 2;
|
17
|
+
}
|
18
|
+
|
19
|
+
// Override Bootstrap's mixin
|
20
|
+
@mixin nav-divider($top: #ebebeb, $bottom: $white) {
|
21
|
+
// IE7 needs a set width since we gave a height. Restricting just
|
22
|
+
// to IE7 to keep the 1px left/right space in other browsers.
|
23
|
+
// It is unclear where IE is getting the extra space that we need
|
24
|
+
// to negative-margin away, but so it goes.
|
25
|
+
*width: 100%;
|
26
|
+
height: 1px;
|
27
|
+
margin: (($baseLineHeight / 2) - 1) 0; // 8px 0px
|
28
|
+
*margin: -5px 0 5px;
|
29
|
+
overflow: hidden;
|
30
|
+
background-color: $top;
|
31
|
+
border-bottom: 1px solid $bottom;
|
32
|
+
}
|
33
|
+
|
34
|
+
// Button backgrounds
|
35
|
+
// ------------------
|
36
|
+
@mixin btnBackground($startColor, $endColor, $textColor, $borderColor) {
|
37
|
+
border: 1px solid $borderColor;
|
38
|
+
color: $textColor;
|
39
|
+
@include gradient-vertical($startColor, $endColor);
|
40
|
+
*background-color: $startColor;
|
41
|
+
@include reset-filter();
|
42
|
+
|
43
|
+
// in these cases the gradient won't cover the background, so we override
|
44
|
+
&:hover, &:active, &.active, &:focus {
|
45
|
+
border: 1px solid darken($borderColor, 5%);
|
46
|
+
color: $textColor;
|
47
|
+
@include gradient-vertical($startColor, darken($endColor, 5%));
|
48
|
+
@include reset-filter();
|
49
|
+
background-color: darken($endColor, 5%);
|
50
|
+
background-color: darken($endColor, 5%) \9;
|
51
|
+
}
|
52
|
+
&:active, &.active {
|
53
|
+
border: 1px solid darken($borderColor, 10%);
|
54
|
+
@include gradient-vertical($startColor, darken($endColor, 10%));
|
55
|
+
@include reset-filter();
|
56
|
+
}
|
57
|
+
&:focus {
|
58
|
+
border: 1px solid $borderColor;
|
59
|
+
@include box-shadow(inset 0 0 0 1px #fff);
|
60
|
+
}
|
61
|
+
&.disabled, &[disabled],
|
62
|
+
&.disabled:hover, &[disabled]:hover,
|
63
|
+
&.disabled:active, &[disabled]:active,
|
64
|
+
&.disabled:focus, &[disabled]:focus {
|
65
|
+
border: 1px solid $borderColor;
|
66
|
+
@include gradient-vertical($startColor, $endColor);
|
67
|
+
@include reset-filter();
|
68
|
+
background-color: $startColor;
|
69
|
+
background-color: $startColor \9;
|
70
|
+
}
|
71
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
//
|
2
|
+
// Labels and badges
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// Base classes
|
7
|
+
|
8
|
+
// Set unique padding and border-radii
|
9
|
+
.label {
|
10
|
+
@include border-radius(0);
|
11
|
+
}
|
12
|
+
|
13
|
+
// Colors
|
14
|
+
// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
|
15
|
+
@each $item in label, badge {
|
16
|
+
// Important (red)
|
17
|
+
.#{$item}-important { background-color: $errorText; }
|
18
|
+
.#{$item}-important[href] { background-color: darken($errorText, 10%); }
|
19
|
+
// Warnings (orange)
|
20
|
+
.#{$item}-warning { background-color: $orange; }
|
21
|
+
.#{$item}-warning[href] { background-color: darken($orange, 10%); }
|
22
|
+
// Success (green)
|
23
|
+
.#{$item}-success { background-color: $successText; }
|
24
|
+
.#{$item}-success[href] { background-color: darken($successText, 10%); }
|
25
|
+
// Info (turquoise)
|
26
|
+
.#{$item}-info { background-color: $infoText; }
|
27
|
+
.#{$item}-info[href] { background-color: darken($infoText, 10%); }
|
28
|
+
// Inverse (black)
|
29
|
+
.#{$item}-inverse { background-color: $grayDark; }
|
30
|
+
.#{$item}-inverse[href] { background-color: darken($grayDark, 10%); }
|
31
|
+
}
|