padrino-admin 0.11.3 → 0.11.4
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 +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
|
}
|