avante_rails 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/README.md +6 -0
- data/Rakefile +1 -0
- data/avante_rails.gemspec +22 -0
- data/lib/avante_rails.rb +4 -0
- data/lib/avante_rails/engine.rb +5 -0
- data/lib/avante_rails/generators/USAGE +14 -0
- data/lib/avante_rails/generators/install.rb +20 -0
- data/lib/avante_rails/generators/layout.rb +26 -0
- data/lib/avante_rails/generators/templates/application.css +5 -0
- data/lib/avante_rails/generators/templates/application.html.erb +28 -0
- data/lib/avante_rails/generators/templates/application.html.haml +20 -0
- data/lib/avante_rails/version.rb +3 -0
- data/vendor/assets/stylesheets/avante/core/base.scss +80 -0
- data/vendor/assets/stylesheets/avante/core/helpers.scss +44 -0
- data/vendor/assets/stylesheets/avante/grid/desktop.scss +123 -0
- data/vendor/assets/stylesheets/avante/grid/mobile.scss +90 -0
- data/vendor/assets/stylesheets/avante/grid/tablet.scss +61 -0
- data/vendor/assets/stylesheets/avante/index.scss +17 -0
- data/vendor/assets/stylesheets/avante/patterns/alerts.scss +74 -0
- data/vendor/assets/stylesheets/avante/patterns/buttons.scss +88 -0
- data/vendor/assets/stylesheets/avante/patterns/forms.scss +115 -0
- data/vendor/assets/stylesheets/avante/patterns/markers.scss +17 -0
- data/vendor/assets/stylesheets/avante/patterns/pagination.scss +50 -0
- data/vendor/assets/stylesheets/avante/patterns/tables.scss +84 -0
- data/vendor/assets/stylesheets/avante/patterns/tabs.scss +129 -0
- data/vendor/assets/stylesheets/avante/patterns/top-bar.scss +101 -0
- data/vendor/assets/stylesheets/avante/support/_mixins.scss +126 -0
- data/vendor/assets/stylesheets/avante/vendor/normalize.scss +431 -0
- metadata +86 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
@import "desktop.scss";
|
2
|
+
|
3
|
+
/* Tablet (Portrait)
|
4
|
+
================================================== */
|
5
|
+
|
6
|
+
@media only screen and (min-width: 768px) and (max-width: 959px) {
|
7
|
+
|
8
|
+
.container {
|
9
|
+
width: 768px;
|
10
|
+
|
11
|
+
/* columns */
|
12
|
+
|
13
|
+
.column, .columns {
|
14
|
+
margin-left: 10px;
|
15
|
+
margin-right: 10px;
|
16
|
+
|
17
|
+
.alpha { margin-left: 0; margin-right: 10px; }
|
18
|
+
.omega { margin-right: 0; margin-left: 10px; }
|
19
|
+
}
|
20
|
+
|
21
|
+
.one.column { width: 28px; }
|
22
|
+
.two.columns { width: 76px; }
|
23
|
+
.three.columns { width: 124px; }
|
24
|
+
.four.columns { width: 172px; }
|
25
|
+
.five.columns { width: 220px; }
|
26
|
+
.six.columns { width: 268px; }
|
27
|
+
.seven.columns { width: 316px; }
|
28
|
+
.eight.columns { width: 364px; }
|
29
|
+
.nine.columns { width: 412px; }
|
30
|
+
.ten.columns { width: 460px; }
|
31
|
+
.eleven.columns { width: 508px; }
|
32
|
+
.twelve.columns { width: 556px; }
|
33
|
+
.thirteen.columns { width: 604px; }
|
34
|
+
.fourteen.columns { width: 652px; }
|
35
|
+
.fifteen.columns { width: 700px; }
|
36
|
+
.sixteen.columns { width: 748px; }
|
37
|
+
|
38
|
+
.one-third.column { width: 236px; }
|
39
|
+
.two-thirds.column { width: 492px; }
|
40
|
+
|
41
|
+
/* offset */
|
42
|
+
|
43
|
+
.offset-by-one { padding-left: 48px; }
|
44
|
+
.offset-by-two { padding-left: 96px; }
|
45
|
+
.offset-by-three { padding-left: 144px; }
|
46
|
+
.offset-by-four { padding-left: 192px; }
|
47
|
+
.offset-by-five { padding-left: 240px; }
|
48
|
+
.offset-by-six { padding-left: 288px; }
|
49
|
+
.offset-by-seven { padding-left: 336px; }
|
50
|
+
.offset-by-eight { padding-left: 348px; }
|
51
|
+
.offset-by-nine { padding-left: 432px; }
|
52
|
+
.offset-by-ten { padding-left: 480px; }
|
53
|
+
.offset-by-eleven { padding-left: 528px; }
|
54
|
+
.offset-by-twelve { padding-left: 576px; }
|
55
|
+
.offset-by-thirteen { padding-left: 624px; }
|
56
|
+
.offset-by-fourteen { padding-left: 672px; }
|
57
|
+
.offset-by-fifteen { padding-left: 720px; }
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
@import "avante/vendor/normalize.scss";
|
2
|
+
|
3
|
+
@import "avante/core/base.scss";
|
4
|
+
@import "avante/core/helpers.scss";
|
5
|
+
|
6
|
+
@import "avante/grid/desktop.scss";
|
7
|
+
@import "avante/grid/tablet.scss";
|
8
|
+
@import "avante/grid/mobile.scss";
|
9
|
+
|
10
|
+
@import "avante/patterns/forms.scss";
|
11
|
+
@import "avante/patterns/markers.scss";
|
12
|
+
@import "avante/patterns/buttons.scss";
|
13
|
+
@import "avante/patterns/alerts.scss";
|
14
|
+
@import "avante/patterns/tables.scss";
|
15
|
+
@import "avante/patterns/pagination.scss";
|
16
|
+
@import "avante/patterns/tabs.scss";
|
17
|
+
@import "avante/patterns/top-bar.scss";
|
@@ -0,0 +1,74 @@
|
|
1
|
+
@import "avante/support/mixins";
|
2
|
+
|
3
|
+
/* Alerts
|
4
|
+
================================================== */
|
5
|
+
|
6
|
+
.alert-box {
|
7
|
+
display: block;
|
8
|
+
padding: 6px 7px;
|
9
|
+
font-weight: bold;
|
10
|
+
font-size: 13px;
|
11
|
+
background: #eee;
|
12
|
+
border: 1px solid #CCC;
|
13
|
+
margin-bottom: 12px;
|
14
|
+
text-shadow: 0 1px rgba(255,255,255,0.9);
|
15
|
+
position: relative;
|
16
|
+
@include border-radius(3px);
|
17
|
+
|
18
|
+
&.success {
|
19
|
+
color: #3f5216;
|
20
|
+
text-shadow: 0 1px #dcee93;
|
21
|
+
border-color: #7e9e31;
|
22
|
+
@include gradient-vertical(#bbd06a, #95b83a);
|
23
|
+
}
|
24
|
+
|
25
|
+
&.warning {
|
26
|
+
color: #614F43;
|
27
|
+
text-shadow: 0 1px #fffee6;
|
28
|
+
border-color: #f6e700;
|
29
|
+
@include gradient-vertical(#fcfab2, #fcfab2);
|
30
|
+
}
|
31
|
+
|
32
|
+
&.error {
|
33
|
+
color: #521300;
|
34
|
+
text-shadow: 0 1px #e8866d;
|
35
|
+
border-color: #9c391c;
|
36
|
+
@include gradient-vertical(#cd745f, #b74523);
|
37
|
+
}
|
38
|
+
|
39
|
+
a.close {
|
40
|
+
color: #000;
|
41
|
+
position: absolute;
|
42
|
+
right: 4px;
|
43
|
+
top: 0;
|
44
|
+
font-size: 18px;
|
45
|
+
opacity: 0.2;
|
46
|
+
padding: 4px;
|
47
|
+
|
48
|
+
&:hover,
|
49
|
+
&:focus { opacity: 0.4; }
|
50
|
+
}
|
51
|
+
|
52
|
+
}
|
53
|
+
|
54
|
+
.alert-box.block-message {
|
55
|
+
padding: 14px;
|
56
|
+
background-image: none;
|
57
|
+
border: 1px solid #CCC;
|
58
|
+
@include box-shadow(none);
|
59
|
+
@include reset-filter;
|
60
|
+
|
61
|
+
ul, p { margin-right: 30px; }
|
62
|
+
ul { margin-bottom: 0; }
|
63
|
+
li { color: #404040; }
|
64
|
+
|
65
|
+
&.error { background-color: #fddfde; border-color: #fbc7c6; }
|
66
|
+
&.success { background-color: #d1eed1; border-color: #bfe7bf; }
|
67
|
+
&.warning { border-color: #f6e700; }
|
68
|
+
|
69
|
+
&.danger, &.error, &.success {
|
70
|
+
color: #404040;
|
71
|
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
72
|
+
p a { color: #404040; }
|
73
|
+
}
|
74
|
+
}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
@import "avante/support/mixins";
|
2
|
+
|
3
|
+
/* Buttons
|
4
|
+
================================================== */
|
5
|
+
|
6
|
+
.btn.danger,
|
7
|
+
.btn.danger:hover,
|
8
|
+
.btn.error,
|
9
|
+
.btn.error:hover,
|
10
|
+
.btn.success,
|
11
|
+
.btn.success:hover,
|
12
|
+
.btn.info,
|
13
|
+
.btn.info:hover, {
|
14
|
+
color: #ffffff;
|
15
|
+
}
|
16
|
+
|
17
|
+
.btn.danger,
|
18
|
+
.btn.error {
|
19
|
+
border-color: #c43c35 #c43c35 #882a25;
|
20
|
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
21
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
22
|
+
@include gradient-vertical(#ee5f5b, #c43c35);
|
23
|
+
}
|
24
|
+
|
25
|
+
.btn.success {
|
26
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
27
|
+
border-color: #57a957 #57a957 #3d773d;
|
28
|
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
29
|
+
@include gradient-vertical(#62c462, #57a957);
|
30
|
+
}
|
31
|
+
|
32
|
+
.btn.info {
|
33
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
34
|
+
border-color: #339bb9 #339bb9 #22697d;
|
35
|
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
36
|
+
@include gradient-vertical(#5bc0de, #339bb9);
|
37
|
+
}
|
38
|
+
|
39
|
+
.btn, a.btn {
|
40
|
+
cursor: pointer;
|
41
|
+
display: inline-block;
|
42
|
+
padding: 5px 14px 6px;
|
43
|
+
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
44
|
+
color: #333;
|
45
|
+
font-size: 13px;
|
46
|
+
line-height: normal;
|
47
|
+
border: 1px solid #ccc;
|
48
|
+
border-bottom-color: #bbb;
|
49
|
+
|
50
|
+
@include gradient-vertical(#ffffff, #e6e6e6);
|
51
|
+
@include border-radius(4px);
|
52
|
+
@include box-shadow(inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05));
|
53
|
+
|
54
|
+
&:hover { background-position: 0 -15px; color: #333; text-decoration: none; }
|
55
|
+
&:focus { outline: 1px dotted #666; }
|
56
|
+
}
|
57
|
+
|
58
|
+
.btn.primary {
|
59
|
+
color: #ffffff;
|
60
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
61
|
+
border-color: #0064cd #0064cd #003f81;
|
62
|
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
63
|
+
@include gradient-vertical(#049cdb,#0064cd);
|
64
|
+
}
|
65
|
+
|
66
|
+
.btn.active, .btn:active {
|
67
|
+
@include box-shadow(inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05));
|
68
|
+
}
|
69
|
+
|
70
|
+
.btn.disabled, .btn[disabled] {
|
71
|
+
cursor: default;
|
72
|
+
background-image: none;
|
73
|
+
@include reset-filter;
|
74
|
+
@include opacity(60);
|
75
|
+
@include box-shadow(none);
|
76
|
+
}
|
77
|
+
|
78
|
+
.btn.large {
|
79
|
+
font-size: 110%;
|
80
|
+
line-height: normal;
|
81
|
+
padding: 9px 14px 9px;
|
82
|
+
@include border-radius(6px);
|
83
|
+
}
|
84
|
+
|
85
|
+
.btn.small {
|
86
|
+
padding: 7px 9px 7px;
|
87
|
+
font-size: 11px;
|
88
|
+
}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
@import "avante/support/mixins";
|
2
|
+
|
3
|
+
/* Forms
|
4
|
+
================================================== */
|
5
|
+
|
6
|
+
/* defaults for form elements */
|
7
|
+
|
8
|
+
label { margin-bottom: 5px; }
|
9
|
+
|
10
|
+
fieldset {
|
11
|
+
padding: 0;
|
12
|
+
margin-bottom: 20px;
|
13
|
+
border: none;
|
14
|
+
}
|
15
|
+
|
16
|
+
input[type="text"],
|
17
|
+
input[type="password"],
|
18
|
+
input[type="email"],
|
19
|
+
textarea,
|
20
|
+
select {
|
21
|
+
border: 1px solid #ccc;
|
22
|
+
padding: 6px 4px;
|
23
|
+
outline: none;
|
24
|
+
border-radius: 2px;
|
25
|
+
font-size: 13px;
|
26
|
+
color:#000;
|
27
|
+
margin: 0;
|
28
|
+
max-width: 100%;
|
29
|
+
display: block;
|
30
|
+
margin-bottom: 10px;
|
31
|
+
|
32
|
+
@include border-radius(2px);
|
33
|
+
}
|
34
|
+
|
35
|
+
input[type="text"]:focus,
|
36
|
+
input[type="password"]:focus,
|
37
|
+
input[type="email"]:focus,
|
38
|
+
textarea:focus {
|
39
|
+
border: 1px solid #3997D3;
|
40
|
+
color: #444;
|
41
|
+
|
42
|
+
@include box-shadow(0px 0px 0px 3px #E3EFF6);
|
43
|
+
}
|
44
|
+
|
45
|
+
input, textarea {
|
46
|
+
@include box-shadow(
|
47
|
+
0px 0px 0px 3px #EEEEEE,
|
48
|
+
inset 0 1px 3px rgba(0, 0, 0, 0.1)
|
49
|
+
);
|
50
|
+
}
|
51
|
+
|
52
|
+
textarea { min-height: 60px; }
|
53
|
+
|
54
|
+
select { padding: 0; }
|
55
|
+
|
56
|
+
label {
|
57
|
+
display: block;
|
58
|
+
font-weight: bold;
|
59
|
+
font-size: 13px;
|
60
|
+
}
|
61
|
+
|
62
|
+
input[type="checkbox"] { display: inline; }
|
63
|
+
|
64
|
+
label span {
|
65
|
+
font-weight: normal;
|
66
|
+
font-size: 13px;
|
67
|
+
color: #444;
|
68
|
+
}
|
69
|
+
|
70
|
+
/* re-usable classes and ui-patterns common to forms */
|
71
|
+
|
72
|
+
.featured {
|
73
|
+
background: #EFEFEF;
|
74
|
+
border: 1px solid #FFF;
|
75
|
+
padding: 10px;
|
76
|
+
|
77
|
+
@include box-shadow(0px 0px 0px 1px #CCC);
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
.inline-fields {
|
82
|
+
select, input, label {
|
83
|
+
display: inline-block;
|
84
|
+
margin-right: 10px;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
.aligned-fields{
|
89
|
+
|
90
|
+
.label {
|
91
|
+
padding-top: 6px;
|
92
|
+
line-height: 18px;
|
93
|
+
float: left;
|
94
|
+
width: 130px;
|
95
|
+
text-align: right;
|
96
|
+
}
|
97
|
+
|
98
|
+
.input { margin-left: 150px; }
|
99
|
+
|
100
|
+
}
|
101
|
+
|
102
|
+
.action {
|
103
|
+
border-top: 1px solid #ECECEC;
|
104
|
+
padding: 10px 0 10px 0;
|
105
|
+
margin: 20px 0 20px 0;
|
106
|
+
display:block;
|
107
|
+
width: 100%;
|
108
|
+
float: left;
|
109
|
+
overflow: hidden;
|
110
|
+
}
|
111
|
+
|
112
|
+
label.required:after {
|
113
|
+
content: " *";
|
114
|
+
color: #D60000;
|
115
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/* Markers
|
2
|
+
================================================== */
|
3
|
+
|
4
|
+
.marker {
|
5
|
+
padding: 1px 3px 2px;
|
6
|
+
font-size: 80%;
|
7
|
+
font-weight: bold;
|
8
|
+
color: #ffffff;
|
9
|
+
text-transform: uppercase;
|
10
|
+
white-space: nowrap;
|
11
|
+
background-color: #bfbfbf;
|
12
|
+
|
13
|
+
&.important { background-color: #c43c35; }
|
14
|
+
&.warning { background-color: #f89406; }
|
15
|
+
&.success { background-color: #46a546; }
|
16
|
+
&.notice { background-color: #62cffc; }
|
17
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
@import "avante/support/mixins";
|
2
|
+
|
3
|
+
/* Pagination
|
4
|
+
================================================== */
|
5
|
+
|
6
|
+
.pagination {
|
7
|
+
|
8
|
+
width: auto;
|
9
|
+
height: 40px;
|
10
|
+
margin: 20px 0;
|
11
|
+
|
12
|
+
a, span, em {
|
13
|
+
float: left;
|
14
|
+
display: inline-block;
|
15
|
+
height: 24px;
|
16
|
+
color: #999;
|
17
|
+
font-size: 15px;
|
18
|
+
margin-left: 5px;
|
19
|
+
padding: 2px 7px 2px;
|
20
|
+
font-style: normal;
|
21
|
+
}
|
22
|
+
|
23
|
+
a { color: #555; }
|
24
|
+
|
25
|
+
a:hover, a:focus, .current { border-bottom: solid 2px; color: #141414; }
|
26
|
+
a:hover, a:focus { border-color: #CCC; }
|
27
|
+
.current { border-color: #00a6fc; }
|
28
|
+
|
29
|
+
.disabled a { cursor: default; color: #999; }
|
30
|
+
.disabled:hover a,
|
31
|
+
.disabled a:focus { border-bottom: none; }
|
32
|
+
|
33
|
+
}
|
34
|
+
|
35
|
+
/*<div class="pagination">
|
36
|
+
<span class="disabled previous_page">«</span>
|
37
|
+
<em class="current">1</em>
|
38
|
+
<a href="#" rel="next">2</a>
|
39
|
+
<a href="#">3</a>
|
40
|
+
<a href="#">4</a>
|
41
|
+
<a href="#">5</a>
|
42
|
+
<a href="#">6</a>
|
43
|
+
<a href="#">7</a>
|
44
|
+
<a href="#">8</a>
|
45
|
+
<span class="gap">…</span>
|
46
|
+
<a href="#">29</a>
|
47
|
+
<a href="#">30</a>
|
48
|
+
<a href="#" rel="next" class="next_page">»</a>
|
49
|
+
</div>
|
50
|
+
*/
|
@@ -0,0 +1,84 @@
|
|
1
|
+
@import "avante/support/mixins";
|
2
|
+
|
3
|
+
/* Tables
|
4
|
+
================================================== */
|
5
|
+
|
6
|
+
table {
|
7
|
+
width: 100%;
|
8
|
+
margin-bottom: 18px;
|
9
|
+
padding: 0;
|
10
|
+
font-size: 13px;
|
11
|
+
border-collapse: collapse;
|
12
|
+
|
13
|
+
th, td {
|
14
|
+
padding: 10px 10px 9px;
|
15
|
+
line-height: 18px;
|
16
|
+
text-align: left;
|
17
|
+
}
|
18
|
+
|
19
|
+
th {
|
20
|
+
padding-top: 9px;
|
21
|
+
font-weight: bold;
|
22
|
+
vertical-align: middle;
|
23
|
+
}
|
24
|
+
|
25
|
+
td {
|
26
|
+
vertical-align: top;
|
27
|
+
border-top: 1px solid #ddd;
|
28
|
+
}
|
29
|
+
|
30
|
+
tbody th {
|
31
|
+
border-top: 1px solid #ddd;
|
32
|
+
vertical-align: top;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
table.condensed {
|
37
|
+
th, td { padding: 5px 5px 4px; }
|
38
|
+
}
|
39
|
+
|
40
|
+
table.bordered {
|
41
|
+
border: 1px solid #ddd;
|
42
|
+
border-collapse: separate;
|
43
|
+
*border-collapse: collapse; /* IE7, collapse table to remove spacing */
|
44
|
+
|
45
|
+
@include border-radius(4px);
|
46
|
+
|
47
|
+
th + th, td + td, th + td {
|
48
|
+
border-left: 1px solid #ddd;
|
49
|
+
}
|
50
|
+
|
51
|
+
thead tr:first-child th:first-child {
|
52
|
+
@include border-radius(4px);
|
53
|
+
}
|
54
|
+
|
55
|
+
thead tr:first-child th:last-child,
|
56
|
+
tbody tr:first-child td:last-child {
|
57
|
+
-webkit-border-radius: 0 4px 0 0;
|
58
|
+
-moz-border-radius: 0 4px 0 0;
|
59
|
+
border-radius: 0 4px 0 0;
|
60
|
+
}
|
61
|
+
|
62
|
+
tbody tr:last-child td:first-child {
|
63
|
+
@include border-radius(0 0 0 4px);
|
64
|
+
}
|
65
|
+
tbody tr:last-child td:last-child {
|
66
|
+
@include border-radius(0 0 4px 0);
|
67
|
+
}
|
68
|
+
|
69
|
+
tbody th {
|
70
|
+
border-top: none;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
table.zebra {
|
75
|
+
tbody tr:nth-child(odd) td,
|
76
|
+
tbody tr:nth-child(odd) th {
|
77
|
+
background-color: #f9f9f9;
|
78
|
+
}
|
79
|
+
|
80
|
+
tbody tr:hover td,
|
81
|
+
tbody tr:hover th {
|
82
|
+
background-color: #f5f5f5;
|
83
|
+
}
|
84
|
+
}
|