padrino-admin 0.16.2 → 0.18.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.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -3
  3. data/Rakefile +0 -21
  4. data/lib/padrino-admin/access_control.rb +17 -4
  5. data/lib/padrino-admin/generators/actions.rb +1 -1
  6. data/lib/padrino-admin/generators/admin_app.rb +9 -11
  7. data/lib/padrino-admin/generators/admin_page.rb +12 -2
  8. data/lib/padrino-admin/generators/orm.rb +30 -47
  9. data/lib/padrino-admin/generators/templates/account/seeds.rb.tt +7 -2
  10. data/lib/padrino-admin/generators/templates/app/controllers/sessions.rb.tt +0 -4
  11. data/lib/padrino-admin/generators/templates/app.rb.tt +4 -1
  12. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/affix.js +63 -36
  13. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/alert.js +18 -11
  14. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +4 -4
  15. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/button.js +41 -23
  16. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/carousel.js +90 -49
  17. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/collapse.js +86 -44
  18. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/dropdown.js +66 -48
  19. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/modal.js +167 -52
  20. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/popover.js +33 -20
  21. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/scrollspy.js +58 -39
  22. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tab.js +55 -25
  23. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tooltip.js +370 -92
  24. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/transition.js +22 -11
  25. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-3.7.1.min.js +2 -0
  26. data/lib/padrino-admin/generators/templates/assets/stylesheets/application.css +14 -0
  27. data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +6 -4
  28. data/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt +1 -1
  29. data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +1 -1
  30. data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +1 -1
  31. data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +2 -2
  32. data/lib/padrino-admin/generators/templates/haml/app/base/index.haml.tt +1 -1
  33. data/lib/padrino-admin/generators/templates/haml/app/layouts/application.haml.tt +1 -1
  34. data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +1 -1
  35. data/lib/padrino-admin/generators/templates/slim/app/base/index.slim.tt +1 -1
  36. data/lib/padrino-admin/generators/templates/slim/app/layouts/application.slim.tt +1 -1
  37. data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +1 -1
  38. data/lib/padrino-admin/generators/templates/slim/page/index.slim.tt +2 -2
  39. data/lib/padrino-admin/helpers/authentication_helpers.rb +1 -1
  40. data/lib/padrino-admin/helpers/view_helpers.rb +3 -3
  41. data/lib/padrino-admin/locale/orm/pl.yml +0 -11
  42. data/lib/padrino-admin.rb +1 -1
  43. data/padrino-admin.gemspec +0 -2
  44. data/test/generators/test_account_model_generator.rb +1 -60
  45. data/test/generators/test_admin_app_generator.rb +159 -25
  46. data/test/generators/test_admin_page_generator.rb +110 -9
  47. data/test/test_admin_application.rb +123 -0
  48. metadata +9 -124
  49. data/lib/padrino-admin/bootstrap-less/alerts.less +0 -67
  50. data/lib/padrino-admin/bootstrap-less/badges.less +0 -55
  51. data/lib/padrino-admin/bootstrap-less/bootstrap.less +0 -49
  52. data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +0 -26
  53. data/lib/padrino-admin/bootstrap-less/button-groups.less +0 -226
  54. data/lib/padrino-admin/bootstrap-less/buttons.less +0 -155
  55. data/lib/padrino-admin/bootstrap-less/carousel.less +0 -232
  56. data/lib/padrino-admin/bootstrap-less/close.less +0 -33
  57. data/lib/padrino-admin/bootstrap-less/code.less +0 -63
  58. data/lib/padrino-admin/bootstrap-less/component-animations.less +0 -29
  59. data/lib/padrino-admin/bootstrap-less/dropdowns.less +0 -213
  60. data/lib/padrino-admin/bootstrap-less/font-awesome/bordered-pulled.less +0 -16
  61. data/lib/padrino-admin/bootstrap-less/font-awesome/core.less +0 -12
  62. data/lib/padrino-admin/bootstrap-less/font-awesome/fixed-width.less +0 -6
  63. data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome.less +0 -17
  64. data/lib/padrino-admin/bootstrap-less/font-awesome/icons.less +0 -412
  65. data/lib/padrino-admin/bootstrap-less/font-awesome/larger.less +0 -13
  66. data/lib/padrino-admin/bootstrap-less/font-awesome/list.less +0 -19
  67. data/lib/padrino-admin/bootstrap-less/font-awesome/mixins.less +0 -20
  68. data/lib/padrino-admin/bootstrap-less/font-awesome/path.less +0 -14
  69. data/lib/padrino-admin/bootstrap-less/font-awesome/rotated-flipped.less +0 -9
  70. data/lib/padrino-admin/bootstrap-less/font-awesome/spinning.less +0 -30
  71. data/lib/padrino-admin/bootstrap-less/font-awesome/stacked.less +0 -20
  72. data/lib/padrino-admin/bootstrap-less/font-awesome/variables.less +0 -381
  73. data/lib/padrino-admin/bootstrap-less/forms.less +0 -419
  74. data/lib/padrino-admin/bootstrap-less/glyphicons.less +0 -233
  75. data/lib/padrino-admin/bootstrap-less/grid.less +0 -100
  76. data/lib/padrino-admin/bootstrap-less/input-groups.less +0 -157
  77. data/lib/padrino-admin/bootstrap-less/jumbotron.less +0 -44
  78. data/lib/padrino-admin/bootstrap-less/labels.less +0 -64
  79. data/lib/padrino-admin/bootstrap-less/list-group.less +0 -110
  80. data/lib/padrino-admin/bootstrap-less/media.less +0 -56
  81. data/lib/padrino-admin/bootstrap-less/mixins.less +0 -926
  82. data/lib/padrino-admin/bootstrap-less/modals.less +0 -138
  83. data/lib/padrino-admin/bootstrap-less/navbar.less +0 -616
  84. data/lib/padrino-admin/bootstrap-less/navs.less +0 -242
  85. data/lib/padrino-admin/bootstrap-less/normalize.less +0 -423
  86. data/lib/padrino-admin/bootstrap-less/padrino-admin.less +0 -18
  87. data/lib/padrino-admin/bootstrap-less/pager.less +0 -55
  88. data/lib/padrino-admin/bootstrap-less/pagination.less +0 -88
  89. data/lib/padrino-admin/bootstrap-less/panels.less +0 -230
  90. data/lib/padrino-admin/bootstrap-less/popovers.less +0 -133
  91. data/lib/padrino-admin/bootstrap-less/print.less +0 -101
  92. data/lib/padrino-admin/bootstrap-less/progress-bars.less +0 -80
  93. data/lib/padrino-admin/bootstrap-less/responsive-utilities.less +0 -93
  94. data/lib/padrino-admin/bootstrap-less/scaffolding.less +0 -134
  95. data/lib/padrino-admin/bootstrap-less/tables.less +0 -233
  96. data/lib/padrino-admin/bootstrap-less/theme.less +0 -247
  97. data/lib/padrino-admin/bootstrap-less/thumbnails.less +0 -36
  98. data/lib/padrino-admin/bootstrap-less/tooltip.less +0 -95
  99. data/lib/padrino-admin/bootstrap-less/type.less +0 -296
  100. data/lib/padrino-admin/bootstrap-less/utilities.less +0 -56
  101. data/lib/padrino-admin/bootstrap-less/variables.less +0 -827
  102. data/lib/padrino-admin/bootstrap-less/wells.less +0 -29
  103. data/lib/padrino-admin/generators/templates/account/couchrest.rb.tt +0 -67
  104. data/lib/padrino-admin/generators/templates/account/datamapper.rb.tt +0 -61
  105. data/lib/padrino-admin/generators/templates/account/dynamoid.rb.tt +0 -55
  106. data/lib/padrino-admin/generators/templates/account/minirecord.rb.tt +0 -44
  107. data/lib/padrino-admin/generators/templates/account/mongomapper.rb.tt +0 -47
  108. data/lib/padrino-admin/generators/templates/account/ohm.rb.tt +0 -70
  109. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-1.11.0.min.js +0 -4
  110. data/lib/padrino-admin/locale/orm/cs.yml +0 -12
  111. data/lib/padrino-admin/locale/orm/da.yml +0 -12
  112. data/lib/padrino-admin/locale/orm/de.yml +0 -12
  113. data/lib/padrino-admin/locale/orm/en.yml +0 -12
  114. data/lib/padrino-admin/locale/orm/es.yml +0 -12
  115. data/lib/padrino-admin/locale/orm/fr.yml +0 -12
  116. data/lib/padrino-admin/locale/orm/hu.yml +0 -12
  117. data/lib/padrino-admin/locale/orm/it.yml +0 -12
  118. data/lib/padrino-admin/locale/orm/ja.yml +0 -12
  119. data/lib/padrino-admin/locale/orm/lv.yml +0 -12
  120. data/lib/padrino-admin/locale/orm/nl.yml +0 -12
  121. data/lib/padrino-admin/locale/orm/no.yml +0 -12
  122. data/lib/padrino-admin/locale/orm/pt_br.yml +0 -12
  123. data/lib/padrino-admin/locale/orm/ro.yml +0 -12
  124. data/lib/padrino-admin/locale/orm/ru.yml +0 -12
  125. data/lib/padrino-admin/locale/orm/sv.yml +0 -12
  126. data/lib/padrino-admin/locale/orm/tr.yml +0 -12
  127. data/lib/padrino-admin/locale/orm/uk.yml +0 -12
  128. data/lib/padrino-admin/locale/orm/zh_cn.yml +0 -12
  129. data/lib/padrino-admin/locale/orm/zh_tw.yml +0 -12
@@ -1,93 +0,0 @@
1
- //
2
- // Responsive: Utility classes
3
- // --------------------------------------------------
4
-
5
-
6
- // IE10 in Windows (Phone) 8
7
- //
8
- // Support for responsive views via media queries is kind of borked in IE10, for
9
- // Surface/desktop in split view and for Windows Phone 8. This particular fix
10
- // must be accompanied by a snippet of JavaScript to sniff the user agent and
11
- // apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
12
- // our Getting Started page for more information on this bug.
13
- //
14
- // For more information, see the following:
15
- //
16
- // Issue: https://github.com/twbs/bootstrap/issues/10497
17
- // Docs: http://getbootstrap.com/getting-started/#browsers
18
- // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
19
-
20
- @-ms-viewport {
21
- width: device-width;
22
- }
23
-
24
-
25
- // Visibility utilities
26
- .visible-xs {
27
- .responsive-invisibility();
28
-
29
- @media (max-width: @screen-xs-max) {
30
- .responsive-visibility();
31
- }
32
- }
33
- .visible-sm {
34
- .responsive-invisibility();
35
-
36
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
37
- .responsive-visibility();
38
- }
39
- }
40
- .visible-md {
41
- .responsive-invisibility();
42
-
43
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
44
- .responsive-visibility();
45
- }
46
- }
47
- .visible-lg {
48
- .responsive-invisibility();
49
-
50
- @media (min-width: @screen-lg-min) {
51
- .responsive-visibility();
52
- }
53
- }
54
-
55
- .hidden-xs {
56
- @media (max-width: @screen-xs-max) {
57
- .responsive-invisibility();
58
- }
59
- }
60
- .hidden-sm {
61
- @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
62
- .responsive-invisibility();
63
- }
64
- }
65
- .hidden-md {
66
- @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
67
- .responsive-invisibility();
68
- }
69
- }
70
- .hidden-lg {
71
- @media (min-width: @screen-lg-min) {
72
- .responsive-invisibility();
73
- }
74
- }
75
-
76
-
77
- // Print utilities
78
- //
79
- // Media queries are placed on the inside to be mixin-friendly.
80
-
81
- .visible-print {
82
- .responsive-invisibility();
83
-
84
- @media print {
85
- .responsive-visibility();
86
- }
87
- }
88
-
89
- .hidden-print {
90
- @media print {
91
- .responsive-invisibility();
92
- }
93
- }
@@ -1,134 +0,0 @@
1
- //
2
- // Scaffolding
3
- // --------------------------------------------------
4
-
5
-
6
- // Reset the box-sizing
7
- //
8
- // Heads up! This reset may cause conflicts with some third-party widgets.
9
- // For recommendations on resolving such conflicts, see
10
- // http://getbootstrap.com/getting-started/#third-box-sizing
11
- * {
12
- .box-sizing(border-box);
13
- }
14
- *:before,
15
- *:after {
16
- .box-sizing(border-box);
17
- }
18
-
19
-
20
- // Body reset
21
-
22
- html {
23
- font-size: 62.5%;
24
- -webkit-tap-highlight-color: rgba(0,0,0,0);
25
- }
26
-
27
- body {
28
- font-family: @font-family-base;
29
- font-size: @font-size-base;
30
- line-height: @line-height-base;
31
- color: @text-color;
32
- background-color: @body-bg;
33
- }
34
-
35
- // Reset fonts for relevant elements
36
- input,
37
- button,
38
- select,
39
- textarea {
40
- font-family: inherit;
41
- font-size: inherit;
42
- line-height: inherit;
43
- }
44
-
45
-
46
- // Links
47
-
48
- a {
49
- color: @link-color;
50
- text-decoration: none;
51
-
52
- &:hover,
53
- &:focus {
54
- color: @link-hover-color;
55
- text-decoration: underline;
56
- }
57
-
58
- &:focus {
59
- .tab-focus();
60
- }
61
- }
62
-
63
-
64
- // Figures
65
- //
66
- // We reset this here because previously Normalize had no `figure` margins. This
67
- // ensures we don't break anyone's use of the element.
68
-
69
- figure {
70
- margin: 0;
71
- }
72
-
73
-
74
- // Images
75
-
76
- img {
77
- vertical-align: middle;
78
- }
79
-
80
- // Responsive images (ensure images don't scale beyond their parents)
81
- .img-responsive {
82
- .img-responsive();
83
- }
84
-
85
- // Rounded corners
86
- .img-rounded {
87
- border-radius: @border-radius-large;
88
- }
89
-
90
- // Image thumbnails
91
- //
92
- // Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
93
- .img-thumbnail {
94
- padding: @thumbnail-padding;
95
- line-height: @line-height-base;
96
- background-color: @thumbnail-bg;
97
- border: 1px solid @thumbnail-border;
98
- border-radius: @thumbnail-border-radius;
99
- .transition(all .2s ease-in-out);
100
-
101
- // Keep them at most 100% wide
102
- .img-responsive(inline-block);
103
- }
104
-
105
- // Perfect circle
106
- .img-circle {
107
- border-radius: 50%; // set radius in percents
108
- }
109
-
110
-
111
- // Horizontal rules
112
-
113
- hr {
114
- margin-top: @line-height-computed;
115
- margin-bottom: @line-height-computed;
116
- border: 0;
117
- border-top: 1px solid @hr-border;
118
- }
119
-
120
-
121
- // Only display content to screen readers
122
- //
123
- // See: http://a11yproject.com/posts/how-to-hide-content/
124
-
125
- .sr-only {
126
- position: absolute;
127
- width: 1px;
128
- height: 1px;
129
- margin: -1px;
130
- padding: 0;
131
- overflow: hidden;
132
- clip: rect(0,0,0,0);
133
- border: 0;
134
- }
@@ -1,233 +0,0 @@
1
- //
2
- // Tables
3
- // --------------------------------------------------
4
-
5
-
6
- table {
7
- max-width: 100%;
8
- background-color: @table-bg;
9
- }
10
- th {
11
- text-align: left;
12
- }
13
-
14
-
15
- // Baseline styles
16
-
17
- .table {
18
- width: 100%;
19
- margin-bottom: @line-height-computed;
20
- // Cells
21
- > thead,
22
- > tbody,
23
- > tfoot {
24
- > tr {
25
- > th,
26
- > td {
27
- padding: @table-cell-padding;
28
- line-height: @line-height-base;
29
- vertical-align: top;
30
- border-top: 1px solid @table-border-color;
31
- }
32
- }
33
- }
34
- // Bottom align for column headings
35
- > thead > tr > th {
36
- vertical-align: bottom;
37
- border-bottom: 2px solid @table-border-color;
38
- }
39
- // Remove top border from thead by default
40
- > caption + thead,
41
- > colgroup + thead,
42
- > thead:first-child {
43
- > tr:first-child {
44
- > th,
45
- > td {
46
- border-top: 0;
47
- }
48
- }
49
- }
50
- // Account for multiple tbody instances
51
- > tbody + tbody {
52
- border-top: 2px solid @table-border-color;
53
- }
54
-
55
- // Nesting
56
- .table {
57
- background-color: @body-bg;
58
- }
59
- }
60
-
61
-
62
- // Condensed table w/ half padding
63
-
64
- .table-condensed {
65
- > thead,
66
- > tbody,
67
- > tfoot {
68
- > tr {
69
- > th,
70
- > td {
71
- padding: @table-condensed-cell-padding;
72
- }
73
- }
74
- }
75
- }
76
-
77
-
78
- // Bordered version
79
- //
80
- // Add borders all around the table and between all the columns.
81
-
82
- .table-bordered {
83
- border: 1px solid @table-border-color;
84
- > thead,
85
- > tbody,
86
- > tfoot {
87
- > tr {
88
- > th,
89
- > td {
90
- border: 1px solid @table-border-color;
91
- }
92
- }
93
- }
94
- > thead > tr {
95
- > th,
96
- > td {
97
- border-bottom-width: 2px;
98
- }
99
- }
100
- }
101
-
102
-
103
- // Zebra-striping
104
- //
105
- // Default zebra-stripe styles (alternating gray and transparent backgrounds)
106
-
107
- .table-striped {
108
- > tbody > tr:nth-child(odd) {
109
- > td,
110
- > th {
111
- background-color: @table-bg-accent;
112
- }
113
- }
114
- }
115
-
116
-
117
- // Hover effect
118
- //
119
- // Placed here since it has to come after the potential zebra striping
120
-
121
- .table-hover {
122
- > tbody > tr:hover {
123
- > td,
124
- > th {
125
- background-color: @table-bg-hover;
126
- }
127
- }
128
- }
129
-
130
-
131
- // Table cell sizing
132
- //
133
- // Reset default table behavior
134
-
135
- table col[class*="col-"] {
136
- position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
137
- float: none;
138
- display: table-column;
139
- }
140
- table {
141
- td,
142
- th {
143
- &[class*="col-"] {
144
- position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
145
- float: none;
146
- display: table-cell;
147
- }
148
- }
149
- }
150
-
151
-
152
- // Table backgrounds
153
- //
154
- // Exact selectors below required to override `.table-striped` and prevent
155
- // inheritance to nested tables.
156
-
157
- // Generate the contextual variants
158
- .table-row-variant(active; @table-bg-active);
159
- .table-row-variant(success; @state-success-bg);
160
- .table-row-variant(info; @state-info-bg);
161
- .table-row-variant(warning; @state-warning-bg);
162
- .table-row-variant(danger; @state-danger-bg);
163
-
164
-
165
- // Responsive tables
166
- //
167
- // Wrap your tables in `.table-responsive` and we'll make them mobile friendly
168
- // by enabling horizontal scrolling. Only applies <768px. Everything above that
169
- // will display normally.
170
-
171
- @media (max-width: @screen-xs-max) {
172
- .table-responsive {
173
- width: 100%;
174
- margin-bottom: (@line-height-computed * 0.75);
175
- overflow-y: hidden;
176
- overflow-x: scroll;
177
- -ms-overflow-style: -ms-autohiding-scrollbar;
178
- border: 1px solid @table-border-color;
179
- -webkit-overflow-scrolling: touch;
180
-
181
- // Tighten up spacing
182
- > .table {
183
- margin-bottom: 0;
184
-
185
- // Ensure the content doesn't wrap
186
- > thead,
187
- > tbody,
188
- > tfoot {
189
- > tr {
190
- > th,
191
- > td {
192
- white-space: nowrap;
193
- }
194
- }
195
- }
196
- }
197
-
198
- // Special overrides for the bordered tables
199
- > .table-bordered {
200
- border: 0;
201
-
202
- // Nuke the appropriate borders so that the parent can handle them
203
- > thead,
204
- > tbody,
205
- > tfoot {
206
- > tr {
207
- > th:first-child,
208
- > td:first-child {
209
- border-left: 0;
210
- }
211
- > th:last-child,
212
- > td:last-child {
213
- border-right: 0;
214
- }
215
- }
216
- }
217
-
218
- // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
219
- // chances are there will be only one `tr` in a `thead` and that would
220
- // remove the border altogether.
221
- > tbody,
222
- > tfoot {
223
- > tr:last-child {
224
- > th,
225
- > td {
226
- border-bottom: 0;
227
- }
228
- }
229
- }
230
-
231
- }
232
- }
233
- }
@@ -1,247 +0,0 @@
1
-
2
- //
3
- // Load core variables and mixins
4
- // --------------------------------------------------
5
-
6
- @import "variables.less";
7
- @import "mixins.less";
8
-
9
-
10
-
11
- //
12
- // Buttons
13
- // --------------------------------------------------
14
-
15
- // Common styles
16
- .btn-default,
17
- .btn-primary,
18
- .btn-success,
19
- .btn-info,
20
- .btn-warning,
21
- .btn-danger {
22
- text-shadow: 0 -1px 0 rgba(0,0,0,.2);
23
- @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
24
- .box-shadow(@shadow);
25
-
26
- // Reset the shadow
27
- &:active,
28
- &.active {
29
- .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
30
- }
31
- }
32
-
33
- // Mixin for generating new styles
34
- .btn-styles(@btn-color: #555) {
35
- #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
36
- .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
37
- background-repeat: repeat-x;
38
- border-color: darken(@btn-color, 14%);
39
-
40
- &:hover,
41
- &:focus {
42
- background-color: darken(@btn-color, 12%);
43
- background-position: 0 -15px;
44
- }
45
-
46
- &:active,
47
- &.active {
48
- background-color: darken(@btn-color, 12%);
49
- border-color: darken(@btn-color, 14%);
50
- }
51
- }
52
-
53
- // Common styles
54
- .btn {
55
- // Remove the gradient for the pressed/active state
56
- &:active,
57
- &.active {
58
- background-image: none;
59
- }
60
- }
61
-
62
- // Apply the mixin to the buttons
63
- .btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
64
- .btn-primary { .btn-styles(@btn-primary-bg); }
65
- .btn-success { .btn-styles(@btn-success-bg); }
66
- .btn-info { .btn-styles(@btn-info-bg); }
67
- .btn-warning { .btn-styles(@btn-warning-bg); }
68
- .btn-danger { .btn-styles(@btn-danger-bg); }
69
-
70
-
71
-
72
- //
73
- // Images
74
- // --------------------------------------------------
75
-
76
- .thumbnail,
77
- .img-thumbnail {
78
- .box-shadow(0 1px 2px rgba(0,0,0,.075));
79
- }
80
-
81
-
82
-
83
- //
84
- // Dropdowns
85
- // --------------------------------------------------
86
-
87
- .dropdown-menu > li > a:hover,
88
- .dropdown-menu > li > a:focus {
89
- #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
90
- background-color: darken(@dropdown-link-hover-bg, 5%);
91
- }
92
- .dropdown-menu > .active > a,
93
- .dropdown-menu > .active > a:hover,
94
- .dropdown-menu > .active > a:focus {
95
- #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
96
- background-color: darken(@dropdown-link-active-bg, 5%);
97
- }
98
-
99
-
100
-
101
- //
102
- // Navbar
103
- // --------------------------------------------------
104
-
105
- // Default navbar
106
- .navbar-default {
107
- #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
108
- .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
109
- border-radius: @navbar-border-radius;
110
- @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
111
- .box-shadow(@shadow);
112
-
113
- .navbar-nav > .active > a {
114
- #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));
115
- .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
116
- }
117
- }
118
- .navbar-brand,
119
- .navbar-nav > li > a {
120
- text-shadow: 0 1px 0 rgba(255,255,255,.25);
121
- }
122
-
123
- // Inverted navbar
124
- .navbar-inverse {
125
- #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
126
- .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
127
-
128
- .navbar-nav > .active > a {
129
- #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));
130
- .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
131
- }
132
-
133
- .navbar-brand,
134
- .navbar-nav > li > a {
135
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
136
- }
137
- }
138
-
139
- // Undo rounded corners in static and fixed navbars
140
- .navbar-static-top,
141
- .navbar-fixed-top,
142
- .navbar-fixed-bottom {
143
- border-radius: 0;
144
- }
145
-
146
-
147
-
148
- //
149
- // Alerts
150
- // --------------------------------------------------
151
-
152
- // Common styles
153
- .alert {
154
- text-shadow: 0 1px 0 rgba(255,255,255,.2);
155
- @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
156
- .box-shadow(@shadow);
157
- }
158
-
159
- // Mixin for generating new styles
160
- .alert-styles(@color) {
161
- #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
162
- border-color: darken(@color, 15%);
163
- }
164
-
165
- // Apply the mixin to the alerts
166
- .alert-success { .alert-styles(@alert-success-bg); }
167
- .alert-info { .alert-styles(@alert-info-bg); }
168
- .alert-warning { .alert-styles(@alert-warning-bg); }
169
- .alert-danger { .alert-styles(@alert-danger-bg); }
170
-
171
-
172
-
173
- //
174
- // Progress bars
175
- // --------------------------------------------------
176
-
177
- // Give the progress background some depth
178
- .progress {
179
- #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
180
- }
181
-
182
- // Mixin for generating new styles
183
- .progress-bar-styles(@color) {
184
- #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
185
- }
186
-
187
- // Apply the mixin to the progress bars
188
- .progress-bar { .progress-bar-styles(@progress-bar-bg); }
189
- .progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
190
- .progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
191
- .progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
192
- .progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
193
-
194
-
195
-
196
- //
197
- // List groups
198
- // --------------------------------------------------
199
-
200
- .list-group {
201
- border-radius: @border-radius-base;
202
- .box-shadow(0 1px 2px rgba(0,0,0,.075));
203
- }
204
- .list-group-item.active,
205
- .list-group-item.active:hover,
206
- .list-group-item.active:focus {
207
- text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
208
- #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
209
- border-color: darken(@list-group-active-border, 7.5%);
210
- }
211
-
212
-
213
-
214
- //
215
- // Panels
216
- // --------------------------------------------------
217
-
218
- // Common styles
219
- .panel {
220
- .box-shadow(0 1px 2px rgba(0,0,0,.05));
221
- }
222
-
223
- // Mixin for generating new styles
224
- .panel-heading-styles(@color) {
225
- #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
226
- }
227
-
228
- // Apply the mixin to the panel headings only
229
- .panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
230
- .panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
231
- .panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
232
- .panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
233
- .panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
234
- .panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
235
-
236
-
237
-
238
- //
239
- // Wells
240
- // --------------------------------------------------
241
-
242
- .well {
243
- #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
244
- border-color: darken(@well-bg, 10%);
245
- @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
246
- .box-shadow(@shadow);
247
- }