less-rails-bootstrap 1.4.3 → 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/CHANGELOG.md +5 -0
- data/lib/less/rails/bootstrap/version.rb +1 -1
- data/test/cases/usage_css_spec.rb +2 -9
- data/test/cases/usage_js_spec.rb +5 -7
- data/vendor/assets/javascripts/twitter/bootstrap.js +12 -8
- data/vendor/assets/javascripts/twitter/bootstrap/alert.js +91 -0
- data/vendor/assets/javascripts/twitter/bootstrap/button.js +98 -0
- data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +154 -0
- data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +136 -0
- data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +58 -21
- data/vendor/assets/javascripts/twitter/bootstrap/modal.js +63 -114
- data/vendor/assets/javascripts/twitter/bootstrap/popover.js +39 -30
- data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +62 -44
- data/vendor/assets/javascripts/twitter/bootstrap/tab.js +130 -0
- data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +270 -0
- data/vendor/assets/javascripts/twitter/bootstrap/transition.js +51 -0
- data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +271 -0
- data/vendor/frameworks/twitter/bootstrap/accordion.less +28 -0
- data/vendor/frameworks/twitter/bootstrap/alerts.less +70 -0
- data/vendor/frameworks/twitter/bootstrap/bootstrap.less +41 -5
- data/vendor/frameworks/twitter/bootstrap/breadcrumbs.less +22 -0
- data/vendor/frameworks/twitter/bootstrap/button-groups.less +147 -0
- data/vendor/frameworks/twitter/bootstrap/buttons.less +165 -0
- data/vendor/frameworks/twitter/bootstrap/carousel.less +121 -0
- data/vendor/frameworks/twitter/bootstrap/close.less +18 -0
- data/vendor/frameworks/twitter/bootstrap/code.less +44 -0
- data/vendor/frameworks/twitter/bootstrap/component-animations.less +18 -0
- data/vendor/frameworks/twitter/bootstrap/dropdowns.less +131 -0
- data/vendor/frameworks/twitter/bootstrap/forms.less +336 -300
- data/vendor/frameworks/twitter/bootstrap/grid.less +8 -0
- data/vendor/frameworks/twitter/bootstrap/hero-unit.less +20 -0
- data/vendor/frameworks/twitter/bootstrap/labels.less +16 -0
- data/vendor/frameworks/twitter/bootstrap/layouts.less +17 -0
- data/vendor/frameworks/twitter/bootstrap/mixins.less +391 -76
- data/vendor/frameworks/twitter/bootstrap/modals.less +72 -0
- data/vendor/frameworks/twitter/bootstrap/navbar.less +292 -0
- data/vendor/frameworks/twitter/bootstrap/navs.less +343 -0
- data/vendor/frameworks/twitter/bootstrap/pager.less +30 -0
- data/vendor/frameworks/twitter/bootstrap/pagination.less +55 -0
- data/vendor/frameworks/twitter/bootstrap/patterns.less +5 -1052
- data/vendor/frameworks/twitter/bootstrap/popovers.less +49 -0
- data/vendor/frameworks/twitter/bootstrap/print.less +18 -0
- data/vendor/frameworks/twitter/bootstrap/progress-bars.less +95 -0
- data/vendor/frameworks/twitter/bootstrap/reset.less +37 -52
- data/vendor/frameworks/twitter/bootstrap/responsive.less +323 -0
- data/vendor/frameworks/twitter/bootstrap/scaffolding.less +13 -121
- data/vendor/frameworks/twitter/bootstrap/sprites.less +156 -0
- data/vendor/frameworks/twitter/bootstrap/tables.less +75 -160
- data/vendor/frameworks/twitter/bootstrap/thumbnails.less +35 -0
- data/vendor/frameworks/twitter/bootstrap/tooltip.less +35 -0
- data/vendor/frameworks/twitter/bootstrap/type.less +100 -70
- data/vendor/frameworks/twitter/bootstrap/utilities.less +23 -0
- data/vendor/frameworks/twitter/bootstrap/variables.less +94 -55
- data/vendor/frameworks/twitter/bootstrap/wells.less +17 -0
- metadata +44 -11
- data/vendor/assets/javascripts/twitter/bootstrap/alerts.js +0 -113
- data/vendor/assets/javascripts/twitter/bootstrap/buttons.js +0 -62
- data/vendor/assets/javascripts/twitter/bootstrap/tabs.js +0 -80
- data/vendor/assets/javascripts/twitter/bootstrap/twipsy.js +0 -310
@@ -0,0 +1,22 @@
|
|
1
|
+
// BREADCRUMBS
|
2
|
+
// -----------
|
3
|
+
|
4
|
+
.breadcrumb {
|
5
|
+
padding: 7px 14px;
|
6
|
+
margin: 0 0 @baseLineHeight;
|
7
|
+
#gradient > .vertical(@white, #f5f5f5);
|
8
|
+
border: 1px solid #ddd;
|
9
|
+
.border-radius(3px);
|
10
|
+
.box-shadow(inset 0 1px 0 @white);
|
11
|
+
li {
|
12
|
+
display: inline;
|
13
|
+
text-shadow: 0 1px 0 @white;
|
14
|
+
}
|
15
|
+
.divider {
|
16
|
+
padding: 0 5px;
|
17
|
+
color: @grayLight;
|
18
|
+
}
|
19
|
+
.active a {
|
20
|
+
color: @grayDark;
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,147 @@
|
|
1
|
+
// BUTTON GROUPS
|
2
|
+
// -------------
|
3
|
+
|
4
|
+
|
5
|
+
// Make the div behave like a button
|
6
|
+
.btn-group {
|
7
|
+
position: relative;
|
8
|
+
.clearfix(); // clears the floated buttons
|
9
|
+
.ie7-restore-left-whitespace();
|
10
|
+
}
|
11
|
+
|
12
|
+
// Space out series of button groups
|
13
|
+
.btn-group + .btn-group {
|
14
|
+
margin-left: 5px;
|
15
|
+
}
|
16
|
+
|
17
|
+
// Optional: Group multiple button groups together for a toolbar
|
18
|
+
.btn-toolbar {
|
19
|
+
margin-top: @baseLineHeight / 2;
|
20
|
+
margin-bottom: @baseLineHeight / 2;
|
21
|
+
.btn-group {
|
22
|
+
display: inline-block;
|
23
|
+
.ie7-inline-block();
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
// Float them, remove border radius, then re-add to first and last elements
|
28
|
+
.btn-group .btn {
|
29
|
+
position: relative;
|
30
|
+
float: left;
|
31
|
+
margin-left: -1px;
|
32
|
+
.border-radius(0);
|
33
|
+
}
|
34
|
+
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
|
35
|
+
.btn-group .btn:first-child {
|
36
|
+
margin-left: 0;
|
37
|
+
-webkit-border-top-left-radius: 4px;
|
38
|
+
-moz-border-radius-topleft: 4px;
|
39
|
+
border-top-left-radius: 4px;
|
40
|
+
-webkit-border-bottom-left-radius: 4px;
|
41
|
+
-moz-border-radius-bottomleft: 4px;
|
42
|
+
border-bottom-left-radius: 4px;
|
43
|
+
}
|
44
|
+
.btn-group .btn:last-child,
|
45
|
+
.btn-group .dropdown-toggle {
|
46
|
+
-webkit-border-top-right-radius: 4px;
|
47
|
+
-moz-border-radius-topright: 4px;
|
48
|
+
border-top-right-radius: 4px;
|
49
|
+
-webkit-border-bottom-right-radius: 4px;
|
50
|
+
-moz-border-radius-bottomright: 4px;
|
51
|
+
border-bottom-right-radius: 4px;
|
52
|
+
}
|
53
|
+
// Reset corners for large buttons
|
54
|
+
.btn-group .btn.large:first-child {
|
55
|
+
margin-left: 0;
|
56
|
+
-webkit-border-top-left-radius: 6px;
|
57
|
+
-moz-border-radius-topleft: 6px;
|
58
|
+
border-top-left-radius: 6px;
|
59
|
+
-webkit-border-bottom-left-radius: 6px;
|
60
|
+
-moz-border-radius-bottomleft: 6px;
|
61
|
+
border-bottom-left-radius: 6px;
|
62
|
+
}
|
63
|
+
.btn-group .btn.large:last-child,
|
64
|
+
.btn-group .large.dropdown-toggle {
|
65
|
+
-webkit-border-top-right-radius: 6px;
|
66
|
+
-moz-border-radius-topright: 6px;
|
67
|
+
border-top-right-radius: 6px;
|
68
|
+
-webkit-border-bottom-right-radius: 6px;
|
69
|
+
-moz-border-radius-bottomright: 6px;
|
70
|
+
border-bottom-right-radius: 6px;
|
71
|
+
}
|
72
|
+
|
73
|
+
// On hover/focus/active, bring the proper btn to front
|
74
|
+
.btn-group .btn:hover,
|
75
|
+
.btn-group .btn:focus,
|
76
|
+
.btn-group .btn:active,
|
77
|
+
.btn-group .btn.active {
|
78
|
+
z-index: 2;
|
79
|
+
}
|
80
|
+
|
81
|
+
// On active and open, don't show outline
|
82
|
+
.btn-group .dropdown-toggle:active,
|
83
|
+
.btn-group.open .dropdown-toggle {
|
84
|
+
outline: 0;
|
85
|
+
}
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
// Split button dropdowns
|
90
|
+
// ----------------------
|
91
|
+
|
92
|
+
// Give the line between buttons some depth
|
93
|
+
.btn-group .dropdown-toggle {
|
94
|
+
padding-left: 8px;
|
95
|
+
padding-right: 8px;
|
96
|
+
@shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
97
|
+
.box-shadow(@shadow);
|
98
|
+
*padding-top: 5px;
|
99
|
+
*padding-bottom: 5px;
|
100
|
+
}
|
101
|
+
|
102
|
+
.btn-group.open {
|
103
|
+
// IE7's z-index only goes to the nearest positioned ancestor, which would
|
104
|
+
// make the menu appear below buttons that appeared later on the page
|
105
|
+
*z-index: @zindexDropdown;
|
106
|
+
|
107
|
+
// Reposition menu on open and round all corners
|
108
|
+
.dropdown-menu {
|
109
|
+
display: block;
|
110
|
+
margin-top: 1px;
|
111
|
+
.border-radius(5px);
|
112
|
+
}
|
113
|
+
|
114
|
+
.dropdown-toggle {
|
115
|
+
background-image: none;
|
116
|
+
@shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
|
117
|
+
.box-shadow(@shadow);
|
118
|
+
}
|
119
|
+
}
|
120
|
+
|
121
|
+
// Reposition the caret
|
122
|
+
.btn .caret {
|
123
|
+
margin-top: 7px;
|
124
|
+
margin-left: 0;
|
125
|
+
}
|
126
|
+
.btn:hover .caret,
|
127
|
+
.open.btn-group .caret {
|
128
|
+
.opacity(100);
|
129
|
+
}
|
130
|
+
|
131
|
+
|
132
|
+
// Account for other colors
|
133
|
+
.btn-primary,
|
134
|
+
.btn-danger,
|
135
|
+
.btn-info,
|
136
|
+
.btn-success {
|
137
|
+
.caret {
|
138
|
+
border-top-color: @white;
|
139
|
+
.opacity(75);
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
143
|
+
// Small button dropdowns
|
144
|
+
.btn-small .caret {
|
145
|
+
margin-top: 4px;
|
146
|
+
}
|
147
|
+
|
@@ -0,0 +1,165 @@
|
|
1
|
+
// BUTTON STYLES
|
2
|
+
// -------------
|
3
|
+
|
4
|
+
|
5
|
+
// Base styles
|
6
|
+
// --------------------------------------------------
|
7
|
+
|
8
|
+
// Core
|
9
|
+
.btn {
|
10
|
+
display: inline-block;
|
11
|
+
padding: 4px 10px 4px;
|
12
|
+
font-size: @baseFontSize;
|
13
|
+
line-height: @baseLineHeight;
|
14
|
+
color: @grayDark;
|
15
|
+
text-align: center;
|
16
|
+
text-shadow: 0 1px 1px rgba(255,255,255,.75);
|
17
|
+
#gradient > .vertical-three-colors(@white, @white, 25%, darken(@white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
|
18
|
+
border: 1px solid #ccc;
|
19
|
+
border-bottom-color: #bbb;
|
20
|
+
.border-radius(4px);
|
21
|
+
@shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
22
|
+
.box-shadow(@shadow);
|
23
|
+
cursor: pointer;
|
24
|
+
|
25
|
+
// Give IE7 some love
|
26
|
+
.ie7-restore-left-whitespace();
|
27
|
+
}
|
28
|
+
|
29
|
+
// Hover state
|
30
|
+
.btn:hover {
|
31
|
+
color: @grayDark;
|
32
|
+
text-decoration: none;
|
33
|
+
background-color: darken(@white, 10%);
|
34
|
+
background-position: 0 -15px;
|
35
|
+
|
36
|
+
// transition is only when going to hover, otherwise the background
|
37
|
+
// behind the gradient (there for IE<=9 fallback) gets mismatched
|
38
|
+
.transition(background-position .1s linear);
|
39
|
+
}
|
40
|
+
|
41
|
+
// Focus state for keyboard and accessibility
|
42
|
+
.btn:focus {
|
43
|
+
.tab-focus();
|
44
|
+
}
|
45
|
+
|
46
|
+
// Active state
|
47
|
+
.btn.active,
|
48
|
+
.btn:active {
|
49
|
+
background-image: none;
|
50
|
+
@shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
|
51
|
+
.box-shadow(@shadow);
|
52
|
+
background-color: darken(@white, 10%);
|
53
|
+
background-color: darken(@white, 15%) e("\9");
|
54
|
+
color: rgba(0,0,0,.5);
|
55
|
+
outline: 0;
|
56
|
+
}
|
57
|
+
|
58
|
+
// Disabled state
|
59
|
+
.btn.disabled,
|
60
|
+
.btn[disabled] {
|
61
|
+
cursor: default;
|
62
|
+
background-image: none;
|
63
|
+
background-color: darken(@white, 10%);
|
64
|
+
.opacity(65);
|
65
|
+
.box-shadow(none);
|
66
|
+
}
|
67
|
+
|
68
|
+
|
69
|
+
// Button Sizes
|
70
|
+
// --------------------------------------------------
|
71
|
+
|
72
|
+
// Large
|
73
|
+
.btn-large {
|
74
|
+
padding: 9px 14px;
|
75
|
+
font-size: @baseFontSize + 2px;
|
76
|
+
line-height: normal;
|
77
|
+
.border-radius(5px);
|
78
|
+
}
|
79
|
+
.btn-large .icon {
|
80
|
+
margin-top: 1px;
|
81
|
+
}
|
82
|
+
|
83
|
+
// Small
|
84
|
+
.btn-small {
|
85
|
+
padding: 5px 9px;
|
86
|
+
font-size: @baseFontSize - 2px;
|
87
|
+
line-height: @baseLineHeight - 2px;
|
88
|
+
}
|
89
|
+
.btn-small .icon {
|
90
|
+
margin-top: -1px;
|
91
|
+
}
|
92
|
+
|
93
|
+
|
94
|
+
// Alternate buttons
|
95
|
+
// --------------------------------------------------
|
96
|
+
|
97
|
+
// Set text color
|
98
|
+
// -------------------------
|
99
|
+
.btn-primary,
|
100
|
+
.btn-primary:hover,
|
101
|
+
.btn-warning,
|
102
|
+
.btn-warning:hover,
|
103
|
+
.btn-danger,
|
104
|
+
.btn-danger:hover,
|
105
|
+
.btn-success,
|
106
|
+
.btn-success:hover,
|
107
|
+
.btn-info,
|
108
|
+
.btn-info:hover {
|
109
|
+
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
110
|
+
color: @white
|
111
|
+
}
|
112
|
+
// Provide *some* extra contrast for those who can get it
|
113
|
+
.btn-primary.active,
|
114
|
+
.btn-warning.active,
|
115
|
+
.btn-danger.active,
|
116
|
+
.btn-success.active,
|
117
|
+
.btn-info.active {
|
118
|
+
color: rgba(255,255,255,.75);
|
119
|
+
}
|
120
|
+
|
121
|
+
// Set the backgrounds
|
122
|
+
// -------------------------
|
123
|
+
.btn-primary {
|
124
|
+
.buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 20));
|
125
|
+
}
|
126
|
+
// Warning appears are orange
|
127
|
+
.btn-warning {
|
128
|
+
.buttonBackground(lighten(@orange, 15%), @orange);
|
129
|
+
}
|
130
|
+
// Danger and error appear as red
|
131
|
+
.btn-danger {
|
132
|
+
.buttonBackground(#ee5f5b, #bd362f);
|
133
|
+
}
|
134
|
+
// Success appears as green
|
135
|
+
.btn-success {
|
136
|
+
.buttonBackground(#62c462, #51a351);
|
137
|
+
}
|
138
|
+
// Info appears as a neutral blue
|
139
|
+
.btn-info {
|
140
|
+
.buttonBackground(#5bc0de, #2f96b4);
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
// Cross-browser Jank
|
145
|
+
// --------------------------------------------------
|
146
|
+
|
147
|
+
button.btn,
|
148
|
+
input[type="submit"].btn {
|
149
|
+
&::-moz-focus-inner {
|
150
|
+
padding: 0;
|
151
|
+
border: 0;
|
152
|
+
}
|
153
|
+
|
154
|
+
// IE7 has some default padding on button controls
|
155
|
+
*padding-top: 2px;
|
156
|
+
*padding-bottom: 2px;
|
157
|
+
&.large {
|
158
|
+
*padding-top: 7px;
|
159
|
+
*padding-bottom: 7px;
|
160
|
+
}
|
161
|
+
&.small {
|
162
|
+
*padding-top: 3px;
|
163
|
+
*padding-bottom: 3px;
|
164
|
+
}
|
165
|
+
}
|
@@ -0,0 +1,121 @@
|
|
1
|
+
// CAROUSEL
|
2
|
+
// --------
|
3
|
+
|
4
|
+
.carousel {
|
5
|
+
position: relative;
|
6
|
+
margin-bottom: @baseLineHeight;
|
7
|
+
line-height: 1;
|
8
|
+
}
|
9
|
+
|
10
|
+
.carousel-inner {
|
11
|
+
overflow: hidden;
|
12
|
+
width: 100%;
|
13
|
+
position: relative;
|
14
|
+
}
|
15
|
+
|
16
|
+
.carousel {
|
17
|
+
|
18
|
+
.item {
|
19
|
+
display: none;
|
20
|
+
position: relative;
|
21
|
+
.transition(.6s ease-in-out left);
|
22
|
+
}
|
23
|
+
|
24
|
+
// Account for jankitude on images
|
25
|
+
.item > img {
|
26
|
+
display: block;
|
27
|
+
line-height: 1;
|
28
|
+
}
|
29
|
+
|
30
|
+
.active,
|
31
|
+
.next,
|
32
|
+
.prev { display: block; }
|
33
|
+
|
34
|
+
.active {
|
35
|
+
left: 0;
|
36
|
+
}
|
37
|
+
|
38
|
+
.next,
|
39
|
+
.prev {
|
40
|
+
position: absolute;
|
41
|
+
top: 0;
|
42
|
+
width: 100%;
|
43
|
+
}
|
44
|
+
|
45
|
+
.next {
|
46
|
+
left: 100%;
|
47
|
+
}
|
48
|
+
.prev {
|
49
|
+
left: -100%;
|
50
|
+
}
|
51
|
+
.next.left,
|
52
|
+
.prev.right {
|
53
|
+
left: 0;
|
54
|
+
}
|
55
|
+
|
56
|
+
.active.left {
|
57
|
+
left: -100%;
|
58
|
+
}
|
59
|
+
.active.right {
|
60
|
+
left: 100%;
|
61
|
+
}
|
62
|
+
|
63
|
+
}
|
64
|
+
|
65
|
+
// Left/right controls for nav
|
66
|
+
// ---------------------------
|
67
|
+
|
68
|
+
.carousel-control {
|
69
|
+
position: absolute;
|
70
|
+
top: 40%;
|
71
|
+
left: 15px;
|
72
|
+
width: 40px;
|
73
|
+
height: 40px;
|
74
|
+
margin-top: -20px;
|
75
|
+
font-size: 60px;
|
76
|
+
font-weight: 100;
|
77
|
+
line-height: 30px;
|
78
|
+
color: @white;
|
79
|
+
text-align: center;
|
80
|
+
background: @grayDarker;
|
81
|
+
border: 3px solid @white;
|
82
|
+
.border-radius(23px);
|
83
|
+
.opacity(50);
|
84
|
+
|
85
|
+
// we can't have this transition here
|
86
|
+
// because webkit cancels the carousel
|
87
|
+
// animation if you trip this while
|
88
|
+
// in the middle of another animation
|
89
|
+
// ;_;
|
90
|
+
// .transition(opacity .2s linear);
|
91
|
+
|
92
|
+
// Reposition the right one
|
93
|
+
&.right {
|
94
|
+
left: auto;
|
95
|
+
right: 15px;
|
96
|
+
}
|
97
|
+
|
98
|
+
// Hover state
|
99
|
+
&:hover {
|
100
|
+
color: @white;
|
101
|
+
text-decoration: none;
|
102
|
+
.opacity(90);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
// Caption for text below images
|
107
|
+
// -----------------------------
|
108
|
+
|
109
|
+
.carousel-caption {
|
110
|
+
position: absolute;
|
111
|
+
left: 0;
|
112
|
+
right: 0;
|
113
|
+
bottom: 0;
|
114
|
+
padding: 10px 15px 5px;
|
115
|
+
background: @grayDark;
|
116
|
+
background: rgba(0,0,0,.75);
|
117
|
+
}
|
118
|
+
.carousel-caption h4,
|
119
|
+
.carousel-caption p {
|
120
|
+
color: @white;
|
121
|
+
}
|