padrino-admin 0.11.3 → 0.11.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.rdoc +3 -3
- data/lib/padrino-admin/access_control.rb +46 -47
- data/lib/padrino-admin/bootstrap-less/alerts.less +29 -55
- data/lib/padrino-admin/bootstrap-less/badges.less +13 -15
- data/lib/padrino-admin/bootstrap-less/bootstrap.less +17 -21
- data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +6 -11
- data/lib/padrino-admin/bootstrap-less/button-groups.less +114 -32
- data/lib/padrino-admin/bootstrap-less/buttons.less +41 -41
- data/lib/padrino-admin/bootstrap-less/carousel.less +43 -18
- data/lib/padrino-admin/bootstrap-less/close.less +4 -4
- data/lib/padrino-admin/bootstrap-less/code.less +8 -10
- data/lib/padrino-admin/bootstrap-less/component-animations.less +10 -4
- data/lib/padrino-admin/bootstrap-less/dropdowns.less +78 -51
- data/lib/padrino-admin/bootstrap-less/forms.less +183 -274
- data/lib/padrino-admin/bootstrap-less/glyphicons.less +232 -0
- data/lib/padrino-admin/bootstrap-less/grid.less +230 -88
- data/lib/padrino-admin/bootstrap-less/input-groups.less +127 -0
- data/lib/padrino-admin/bootstrap-less/jumbotron.less +16 -8
- data/lib/padrino-admin/bootstrap-less/labels.less +25 -37
- data/lib/padrino-admin/bootstrap-less/list-group.less +34 -35
- data/lib/padrino-admin/bootstrap-less/media.less +7 -5
- data/lib/padrino-admin/bootstrap-less/mixins.less +321 -108
- data/lib/padrino-admin/bootstrap-less/modals.less +24 -20
- data/lib/padrino-admin/bootstrap-less/navbar.less +474 -216
- data/lib/padrino-admin/bootstrap-less/navs.less +67 -85
- data/lib/padrino-admin/bootstrap-less/pager.less +4 -4
- data/lib/padrino-admin/bootstrap-less/pagination.less +64 -69
- data/lib/padrino-admin/bootstrap-less/panels.less +114 -62
- data/lib/padrino-admin/bootstrap-less/popovers.less +18 -18
- data/lib/padrino-admin/bootstrap-less/print.less +22 -7
- data/lib/padrino-admin/bootstrap-less/progress-bars.less +10 -33
- data/lib/padrino-admin/bootstrap-less/responsive-utilities.less +141 -40
- data/lib/padrino-admin/bootstrap-less/scaffolding.less +66 -19
- data/lib/padrino-admin/bootstrap-less/tables.less +154 -158
- data/lib/padrino-admin/bootstrap-less/theme.less +232 -0
- data/lib/padrino-admin/bootstrap-less/thumbnails.less +9 -20
- data/lib/padrino-admin/bootstrap-less/tooltip.less +3 -3
- data/lib/padrino-admin/bootstrap-less/type.less +47 -55
- data/lib/padrino-admin/bootstrap-less/utilities.less +2 -2
- data/lib/padrino-admin/bootstrap-less/variables.less +289 -93
- data/lib/padrino-admin/bootstrap-less/wells.less +2 -2
- data/lib/padrino-admin/generators/actions.rb +11 -10
- data/lib/padrino-admin/generators/admin_app.rb +11 -11
- data/lib/padrino-admin/generators/admin_page.rb +9 -9
- data/lib/padrino-admin/generators/orm.rb +6 -7
- data/lib/padrino-admin/generators/templates/account/activerecord.rb.tt +7 -7
- data/lib/padrino-admin/generators/templates/account/couchrest.rb.tt +16 -16
- data/lib/padrino-admin/generators/templates/account/datamapper.rb.tt +7 -7
- data/lib/padrino-admin/generators/templates/account/minirecord.rb.tt +7 -7
- data/lib/padrino-admin/generators/templates/account/mongoid.rb.tt +8 -8
- data/lib/padrino-admin/generators/templates/account/mongomapper.rb.tt +7 -7
- data/lib/padrino-admin/generators/templates/account/ohm.rb.tt +9 -9
- data/lib/padrino-admin/generators/templates/account/sequel.rb.tt +8 -8
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/affix.js +9 -3
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/alert.js +4 -2
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +4 -4
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/button.js +9 -5
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/carousel.js +19 -12
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/collapse.js +68 -45
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/dropdown.js +6 -7
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/modal.js +43 -40
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/popover.js +16 -10
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/scrollspy.js +6 -4
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tab.js +4 -2
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tooltip.js +78 -48
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/transition.js +10 -1
- data/lib/padrino-admin/generators/templates/assets/stylesheets/application.css +1 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +622 -334
- data/lib/padrino-admin/generators/templates/erb/app/layouts/error.erb.tt +2 -2
- data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +9 -9
- data/lib/padrino-admin/generators/templates/erb/page/_form.erb.tt +3 -3
- data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +3 -3
- data/lib/padrino-admin/generators/templates/haml/app/layouts/error.haml.tt +1 -1
- data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +9 -7
- data/lib/padrino-admin/generators/templates/haml/page/_form.haml.tt +2 -2
- data/lib/padrino-admin/generators/templates/haml/page/index.haml.tt +2 -2
- data/lib/padrino-admin/generators/templates/page/controller.rb.tt +3 -3
- data/lib/padrino-admin/generators/templates/slim/app/layouts/error.slim.tt +1 -1
- data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +9 -7
- data/lib/padrino-admin/generators/templates/slim/page/_form.slim.tt +2 -2
- data/lib/padrino-admin/generators/templates/slim/page/index.slim.tt +2 -2
- data/lib/padrino-admin/helpers/authentication_helpers.rb +35 -35
- data/lib/padrino-admin/helpers/view_helpers.rb +12 -19
- data/lib/padrino-admin/utils/crypt.rb +10 -9
- data/lib/padrino-admin.rb +4 -5
- data/test/fixtures/data_mapper.rb +10 -9
- data/test/generators/test_account_model_generator.rb +2 -2
- metadata +14 -21
@@ -7,7 +7,6 @@
|
|
7
7
|
// --------------------------------------------------
|
8
8
|
|
9
9
|
.nav {
|
10
|
-
margin-left: 0;
|
11
10
|
margin-bottom: 0;
|
12
11
|
padding-left: 0; // Override default ul/ol
|
13
12
|
list-style: none;
|
@@ -20,68 +19,57 @@
|
|
20
19
|
> a {
|
21
20
|
position: relative;
|
22
21
|
display: block;
|
23
|
-
padding:
|
22
|
+
padding: @nav-link-padding;
|
24
23
|
&:hover,
|
25
24
|
&:focus {
|
26
25
|
text-decoration: none;
|
27
|
-
background-color: @
|
26
|
+
background-color: @nav-link-hover-bg;
|
28
27
|
}
|
29
28
|
}
|
30
29
|
|
31
30
|
// Disabled state sets text to gray and nukes hover/tab effects
|
32
31
|
&.disabled > a {
|
33
|
-
color: @
|
34
|
-
}
|
35
|
-
&.disabled > a:hover,
|
36
|
-
&.disabled > a:focus {
|
37
|
-
color: @gray-light;
|
38
|
-
text-decoration: none;
|
39
|
-
background-color: transparent;
|
40
|
-
cursor: default;
|
41
|
-
}
|
32
|
+
color: @nav-disabled-link-color;
|
42
33
|
|
43
|
-
|
44
|
-
|
45
|
-
|
34
|
+
&:hover,
|
35
|
+
&:focus {
|
36
|
+
color: @nav-disabled-link-hover-color;
|
37
|
+
text-decoration: none;
|
38
|
+
background-color: transparent;
|
39
|
+
cursor: not-allowed;
|
40
|
+
}
|
46
41
|
}
|
47
42
|
}
|
48
43
|
|
49
44
|
// Open dropdowns
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
.caret {
|
57
|
-
border-top-color: #fff;
|
58
|
-
border-bottom-color: #fff;
|
45
|
+
.open > a {
|
46
|
+
&,
|
47
|
+
&:hover,
|
48
|
+
&:focus {
|
49
|
+
background-color: @nav-link-hover-bg;
|
50
|
+
border-color: @link-color;
|
59
51
|
}
|
60
52
|
}
|
61
53
|
|
62
|
-
// Redeclare pull classes because of specificity
|
63
|
-
// Todo: consider making these utilities !important to avoid this bullshit
|
64
|
-
> .pull-right {
|
65
|
-
float: right;
|
66
|
-
}
|
67
|
-
|
68
54
|
// Dividers (basically an hr) within the dropdown
|
69
55
|
.nav-divider {
|
70
56
|
.nav-divider();
|
71
57
|
}
|
72
|
-
}
|
73
|
-
|
74
58
|
|
59
|
+
// Prevent IE8 from misplacing imgs
|
60
|
+
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
|
61
|
+
> li > a > img {
|
62
|
+
max-width: none;
|
63
|
+
}
|
64
|
+
}
|
75
65
|
|
76
|
-
// Nav variations
|
77
|
-
// --------------------------------------------------
|
78
66
|
|
79
67
|
// Tabs
|
80
68
|
// -------------------------
|
81
69
|
|
82
70
|
// Give the tabs something to sit on
|
83
71
|
.nav-tabs {
|
84
|
-
border-bottom: 1px solid
|
72
|
+
border-bottom: 1px solid @nav-tabs-border-color;
|
85
73
|
> li {
|
86
74
|
float: left;
|
87
75
|
// Make the list-items overlay the bottom border
|
@@ -94,25 +82,27 @@
|
|
94
82
|
border: 1px solid transparent;
|
95
83
|
border-radius: @border-radius-base @border-radius-base 0 0;
|
96
84
|
&:hover {
|
97
|
-
border-color: @
|
85
|
+
border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
|
98
86
|
}
|
99
87
|
}
|
100
88
|
|
101
89
|
// Active state, and it's :hover to override normal :hover
|
102
|
-
&.active > a
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
90
|
+
&.active > a {
|
91
|
+
&,
|
92
|
+
&:hover,
|
93
|
+
&:focus {
|
94
|
+
color: @nav-tabs-active-link-hover-color;
|
95
|
+
background-color: @nav-tabs-active-link-hover-bg;
|
96
|
+
border: 1px solid @nav-tabs-active-link-hover-border-color;
|
97
|
+
border-bottom-color: transparent;
|
98
|
+
cursor: default;
|
99
|
+
}
|
110
100
|
}
|
111
101
|
}
|
112
102
|
// pulling this in mainly for less shorthand
|
113
103
|
&.nav-justified {
|
114
|
-
.nav-justified;
|
115
|
-
.nav-tabs-justified;
|
104
|
+
.nav-justified();
|
105
|
+
.nav-tabs-justified();
|
116
106
|
}
|
117
107
|
}
|
118
108
|
|
@@ -128,17 +118,17 @@
|
|
128
118
|
border-radius: 5px;
|
129
119
|
}
|
130
120
|
+ li {
|
131
|
-
|
132
|
-
margin-left: 2px;
|
133
|
-
}
|
121
|
+
margin-left: 2px;
|
134
122
|
}
|
135
123
|
|
136
124
|
// Active state
|
137
|
-
&.active > a
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
125
|
+
&.active > a {
|
126
|
+
&,
|
127
|
+
&:hover,
|
128
|
+
&:focus {
|
129
|
+
color: @nav-pills-active-link-hover-color;
|
130
|
+
background-color: @nav-pills-active-link-hover-bg;
|
131
|
+
}
|
142
132
|
}
|
143
133
|
}
|
144
134
|
}
|
@@ -149,62 +139,52 @@
|
|
149
139
|
> li {
|
150
140
|
float: none;
|
151
141
|
+ li {
|
152
|
-
|
153
|
-
|
154
|
-
margin-left: 0; // no need for this gap between nav items
|
155
|
-
}
|
142
|
+
margin-top: 2px;
|
143
|
+
margin-left: 0; // no need for this gap between nav items
|
156
144
|
}
|
157
145
|
}
|
158
146
|
}
|
159
147
|
|
148
|
+
|
149
|
+
// Nav variations
|
150
|
+
// --------------------------------------------------
|
151
|
+
|
160
152
|
// Justified nav links
|
161
153
|
// -------------------------
|
162
154
|
|
163
155
|
.nav-justified {
|
164
156
|
width: 100%;
|
157
|
+
|
165
158
|
> li {
|
166
159
|
float: none;
|
167
|
-
|
168
|
-
width: 1%;
|
169
|
-
> a {
|
160
|
+
> a {
|
170
161
|
text-align: center;
|
171
162
|
}
|
172
163
|
}
|
164
|
+
|
165
|
+
@media (min-width: @screen-sm) {
|
166
|
+
> li {
|
167
|
+
display: table-cell;
|
168
|
+
width: 1%;
|
169
|
+
}
|
170
|
+
}
|
173
171
|
}
|
174
172
|
|
175
173
|
// Move borders to anchors instead of bottom of list
|
176
|
-
.nav-tabs-justified
|
174
|
+
.nav-tabs-justified {
|
177
175
|
border-bottom: 0;
|
178
176
|
> li > a {
|
179
|
-
border-bottom: 1px solid
|
177
|
+
border-bottom: 1px solid @nav-tabs-justified-link-border-color;
|
180
178
|
|
181
179
|
// Override margin from .nav-tabs
|
182
180
|
margin-right: 0;
|
183
181
|
}
|
184
182
|
> .active > a {
|
185
|
-
border-bottom-color: @
|
183
|
+
border-bottom-color: @nav-tabs-justified-active-link-border-color;
|
186
184
|
}
|
187
|
-
|
188
|
-
}
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
// Nav headers (for dropdowns and lists)
|
193
|
-
// -------------------------
|
194
|
-
|
195
|
-
.nav-header {
|
196
|
-
display: block;
|
197
|
-
padding: 3px 15px;
|
198
|
-
font-size: @font-size-mini;
|
199
|
-
font-weight: bold;
|
200
|
-
line-height: @line-height-base;
|
201
|
-
color: @gray-light;
|
202
|
-
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
203
|
-
text-transform: uppercase;
|
204
185
|
}
|
205
186
|
|
206
187
|
|
207
|
-
|
208
188
|
// Tabbable tabs
|
209
189
|
// -------------------------
|
210
190
|
|
@@ -218,9 +198,11 @@
|
|
218
198
|
.pill-content > .pill-pane {
|
219
199
|
display: none;
|
220
200
|
}
|
221
|
-
.tab-content
|
222
|
-
.pill-content
|
223
|
-
|
201
|
+
.tab-content,
|
202
|
+
.pill-content {
|
203
|
+
> .active {
|
204
|
+
display: block;
|
205
|
+
}
|
224
206
|
}
|
225
207
|
|
226
208
|
|
@@ -17,13 +17,13 @@
|
|
17
17
|
padding: 5px 14px;
|
18
18
|
background-color: @pagination-bg;
|
19
19
|
border: 1px solid @pagination-border;
|
20
|
-
border-radius:
|
20
|
+
border-radius: @pager-border-radius;
|
21
21
|
}
|
22
22
|
|
23
23
|
> a:hover,
|
24
24
|
> a:focus {
|
25
25
|
text-decoration: none;
|
26
|
-
background-color: @pagination-
|
26
|
+
background-color: @pagination-hover-bg;
|
27
27
|
}
|
28
28
|
}
|
29
29
|
|
@@ -46,9 +46,9 @@
|
|
46
46
|
> a:hover,
|
47
47
|
> a:focus,
|
48
48
|
> span {
|
49
|
-
color: @
|
49
|
+
color: @pager-disabled-color;
|
50
50
|
background-color: @pagination-bg;
|
51
|
-
cursor:
|
51
|
+
cursor: not-allowed;
|
52
52
|
}
|
53
53
|
}
|
54
54
|
|
@@ -6,83 +6,78 @@
|
|
6
6
|
padding-left: 0;
|
7
7
|
margin: @line-height-computed 0;
|
8
8
|
border-radius: @border-radius-base;
|
9
|
-
}
|
10
|
-
.pagination > li {
|
11
|
-
display: inline; // Remove list-style and block-level defaults
|
12
|
-
}
|
13
|
-
.pagination > li > a,
|
14
|
-
.pagination > li > span {
|
15
|
-
float: left; // Collapse white-space
|
16
|
-
padding: 4px 12px;
|
17
|
-
line-height: @line-height-base;
|
18
|
-
text-decoration: none;
|
19
|
-
background-color: @pagination-bg;
|
20
|
-
border: 1px solid @pagination-border;
|
21
|
-
border-left-width: 0;
|
22
|
-
}
|
23
|
-
.pagination > li > a:hover,
|
24
|
-
.pagination > li > a:focus,
|
25
|
-
.pagination > .active > a,
|
26
|
-
.pagination > .active > span {
|
27
|
-
background-color: @pagination-active-bg;
|
28
|
-
}
|
29
|
-
.pagination > .active > a,
|
30
|
-
.pagination > .active > span {
|
31
|
-
color: @gray-light;
|
32
|
-
cursor: default;
|
33
|
-
}
|
34
|
-
.pagination > .disabled > span,
|
35
|
-
.pagination > .disabled > a,
|
36
|
-
.pagination > .disabled > a:hover,
|
37
|
-
.pagination > .disabled > a:focus {
|
38
|
-
color: @gray-light;
|
39
|
-
background-color: @pagination-bg;
|
40
|
-
cursor: default;
|
41
|
-
}
|
42
|
-
.pagination > li:first-child > a,
|
43
|
-
.pagination > li:first-child > span {
|
44
|
-
border-left-width: 1px;
|
45
|
-
.border-left-radius(@border-radius-base);
|
46
|
-
}
|
47
|
-
.pagination > li:last-child > a,
|
48
|
-
.pagination > li:last-child > span {
|
49
|
-
.border-right-radius(@border-radius-base);
|
50
|
-
}
|
51
|
-
|
52
9
|
|
53
|
-
|
54
|
-
//
|
10
|
+
> li {
|
11
|
+
display: inline; // Remove list-style and block-level defaults
|
12
|
+
> a,
|
13
|
+
> span {
|
14
|
+
position: relative;
|
15
|
+
float: left; // Collapse white-space
|
16
|
+
padding: @padding-base-vertical @padding-base-horizontal;
|
17
|
+
line-height: @line-height-base;
|
18
|
+
text-decoration: none;
|
19
|
+
background-color: @pagination-bg;
|
20
|
+
border: 1px solid @pagination-border;
|
21
|
+
margin-left: -1px;
|
22
|
+
}
|
23
|
+
&:first-child {
|
24
|
+
> a,
|
25
|
+
> span {
|
26
|
+
margin-left: 0;
|
27
|
+
.border-left-radius(@border-radius-base);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
&:last-child {
|
31
|
+
> a,
|
32
|
+
> span {
|
33
|
+
.border-right-radius(@border-radius-base);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
55
37
|
|
56
|
-
// Large
|
57
|
-
.pagination-large {
|
58
38
|
> li > a,
|
59
39
|
> li > span {
|
60
|
-
|
61
|
-
|
40
|
+
&:hover,
|
41
|
+
&:focus {
|
42
|
+
background-color: @pagination-hover-bg;
|
43
|
+
}
|
62
44
|
}
|
63
|
-
|
64
|
-
>
|
65
|
-
|
45
|
+
|
46
|
+
> .active > a,
|
47
|
+
> .active > span {
|
48
|
+
&,
|
49
|
+
&:hover,
|
50
|
+
&:focus {
|
51
|
+
z-index: 2;
|
52
|
+
color: @pagination-active-color;
|
53
|
+
background-color: @pagination-active-bg;
|
54
|
+
border-color: @pagination-active-bg;
|
55
|
+
cursor: default;
|
56
|
+
}
|
66
57
|
}
|
67
|
-
|
68
|
-
>
|
69
|
-
|
58
|
+
|
59
|
+
> .disabled {
|
60
|
+
> span,
|
61
|
+
> a,
|
62
|
+
> a:hover,
|
63
|
+
> a:focus {
|
64
|
+
color: @pagination-disabled-color;
|
65
|
+
background-color: @pagination-bg;
|
66
|
+
border-color: @pagination-border;
|
67
|
+
cursor: not-allowed;
|
68
|
+
}
|
70
69
|
}
|
71
70
|
}
|
72
71
|
|
72
|
+
// Sizing
|
73
|
+
// --------------------------------------------------
|
74
|
+
|
75
|
+
// Large
|
76
|
+
.pagination-lg {
|
77
|
+
.pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
|
78
|
+
}
|
79
|
+
|
73
80
|
// Small
|
74
|
-
.pagination-
|
75
|
-
|
76
|
-
> li > span {
|
77
|
-
padding: @padding-small-vertical @padding-small-horizontal;
|
78
|
-
font-size: @font-size-small;
|
79
|
-
}
|
80
|
-
> li:first-child > a,
|
81
|
-
> li:first-child > span {
|
82
|
-
.border-left-radius(@border-radius-small);
|
83
|
-
}
|
84
|
-
> li:last-child > a,
|
85
|
-
> li:last-child > span {
|
86
|
-
.border-right-radius(@border-radius-small);
|
87
|
-
}
|
81
|
+
.pagination-sm {
|
82
|
+
.pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
|
88
83
|
}
|
@@ -5,92 +5,144 @@
|
|
5
5
|
|
6
6
|
// Base class
|
7
7
|
.panel {
|
8
|
-
|
9
|
-
margin-bottom: 20px;
|
8
|
+
margin-bottom: @line-height-computed;
|
10
9
|
background-color: @panel-bg;
|
11
|
-
border: 1px solid
|
10
|
+
border: 1px solid transparent;
|
12
11
|
border-radius: @panel-border-radius;
|
13
12
|
.box-shadow(0 1px 1px rgba(0,0,0,.05));
|
14
13
|
}
|
15
14
|
|
15
|
+
// Panel contents
|
16
|
+
.panel-body {
|
17
|
+
padding: 15px;
|
18
|
+
.clearfix();
|
19
|
+
}
|
20
|
+
|
21
|
+
|
22
|
+
// List groups in panels
|
23
|
+
//
|
24
|
+
// By default, space out list group content from panel headings to account for
|
25
|
+
// any kind of custom content between the two.
|
26
|
+
|
27
|
+
.panel {
|
28
|
+
> .list-group {
|
29
|
+
margin-bottom: 0;
|
30
|
+
|
31
|
+
.list-group-item {
|
32
|
+
border-width: 1px 0;
|
33
|
+
|
34
|
+
// Remove border radius for top one
|
35
|
+
&:first-child {
|
36
|
+
.border-top-radius(0);
|
37
|
+
}
|
38
|
+
// But keep it for the last one
|
39
|
+
&:last-child {
|
40
|
+
border-bottom: 0;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
// Collapse space between when there's no additional content.
|
46
|
+
.panel-heading + .list-group {
|
47
|
+
.list-group-item:first-child {
|
48
|
+
border-top-width: 0;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
|
53
|
+
// Tables in panels
|
54
|
+
//
|
55
|
+
// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
|
56
|
+
// watch it go full width.
|
57
|
+
|
58
|
+
.panel {
|
59
|
+
> .table {
|
60
|
+
margin-bottom: 0;
|
61
|
+
}
|
62
|
+
> .panel-body + .table {
|
63
|
+
border-top: 1px solid @table-border-color;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
|
16
68
|
// Optional heading
|
17
69
|
.panel-heading {
|
18
|
-
margin: -15px -15px 15px;
|
19
70
|
padding: 10px 15px;
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
71
|
+
border-bottom: 1px solid transparent;
|
72
|
+
.border-top-radius(@panel-border-radius - 1);
|
73
|
+
}
|
74
|
+
|
75
|
+
// Within heading, strip any `h*` tag of it's default margins for spacing.
|
76
|
+
.panel-title {
|
77
|
+
margin-top: 0;
|
78
|
+
margin-bottom: 0;
|
79
|
+
font-size: ceil((@font-size-base * 1.125));
|
80
|
+
> a {
|
81
|
+
color: inherit;
|
82
|
+
}
|
26
83
|
}
|
27
84
|
|
28
85
|
// Optional footer (stays gray in every modifier class)
|
29
86
|
.panel-footer {
|
30
|
-
margin: 15px -15px -15px;
|
31
87
|
padding: 10px 15px;
|
32
88
|
background-color: @panel-footer-bg;
|
33
|
-
border-top: 1px solid @panel-border;
|
34
|
-
border-bottom-
|
35
|
-
border-bottom-right-radius: (@panel-border-radius - 1);
|
89
|
+
border-top: 1px solid @panel-inner-border;
|
90
|
+
.border-bottom-radius(@panel-border-radius - 1);
|
36
91
|
}
|
37
92
|
|
38
|
-
|
39
|
-
|
40
|
-
|
93
|
+
|
94
|
+
// Collapsable panels (aka, accordion)
|
95
|
+
//
|
96
|
+
// Wrap a series of panels in `.panel-group` to turn them into an accordion with
|
97
|
+
// the help of our collapse JavaScript plugin.
|
98
|
+
|
99
|
+
.panel-group {
|
100
|
+
// Tighten up margin so it's only between panels
|
101
|
+
.panel {
|
102
|
+
margin-bottom: 0;
|
103
|
+
border-radius: @panel-border-radius;
|
104
|
+
overflow: hidden; // crop contents when collapsed
|
105
|
+
+ .panel {
|
106
|
+
margin-top: 5px;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
41
110
|
.panel-heading {
|
42
|
-
|
43
|
-
|
44
|
-
|
111
|
+
border-bottom: 0;
|
112
|
+
+ .panel-collapse .panel-body {
|
113
|
+
border-top: 1px solid @panel-inner-border;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
.panel-footer {
|
117
|
+
border-top: 0;
|
118
|
+
+ .panel-collapse .panel-body {
|
119
|
+
border-bottom: 1px solid @panel-inner-border;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
// New subcomponent for wrapping collapsable content for proper animations
|
124
|
+
.panel-collapse {
|
125
|
+
|
45
126
|
}
|
46
127
|
}
|
128
|
+
|
129
|
+
|
130
|
+
// Contextual variations
|
131
|
+
.panel-default {
|
132
|
+
.panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
|
133
|
+
}
|
134
|
+
.panel-primary {
|
135
|
+
.panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
|
136
|
+
}
|
47
137
|
.panel-success {
|
48
|
-
border-
|
49
|
-
.panel-heading {
|
50
|
-
color: @panel-success-text;
|
51
|
-
background-color: @panel-success-heading-bg;
|
52
|
-
border-color: @panel-success-border;
|
53
|
-
}
|
138
|
+
.panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
|
54
139
|
}
|
55
140
|
.panel-warning {
|
56
|
-
border-
|
57
|
-
.panel-heading {
|
58
|
-
color: @panel-warning-text;
|
59
|
-
background-color: @panel-warning-heading-bg;
|
60
|
-
border-color: @panel-warning-border;
|
61
|
-
}
|
141
|
+
.panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
|
62
142
|
}
|
63
143
|
.panel-danger {
|
64
|
-
border-
|
65
|
-
.panel-heading {
|
66
|
-
color: @panel-danger-text;
|
67
|
-
background-color: @panel-danger-heading-bg;
|
68
|
-
border-color: @panel-danger-border;
|
69
|
-
}
|
144
|
+
.panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
|
70
145
|
}
|
71
146
|
.panel-info {
|
72
|
-
border-
|
73
|
-
.panel-heading {
|
74
|
-
color: @panel-info-text;
|
75
|
-
background-color: @panel-info-heading-bg;
|
76
|
-
border-color: @panel-info-border;
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
// List groups in panels
|
81
|
-
.list-group-flush {
|
82
|
-
margin: 15px -15px -15px;
|
83
|
-
|
84
|
-
.list-group-item {
|
85
|
-
border-width: 1px 0;
|
86
|
-
|
87
|
-
// Remove border radius for top one
|
88
|
-
&:first-child {
|
89
|
-
.border-top-radius(0);
|
90
|
-
}
|
91
|
-
// But keep it for the last one
|
92
|
-
&:last-child {
|
93
|
-
border-bottom: 0;
|
94
|
-
}
|
95
|
-
}
|
147
|
+
.panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
|
96
148
|
}
|