redframework 0.0.1.01
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.md +4 -0
- data/lib/redframework.rb +3 -0
- data/stylesheets/_normalize.scss +400 -0
- data/stylesheets/_redframework.scss +57 -0
- data/stylesheets/redframework/_defaults.scss +119 -0
- data/stylesheets/redframework/_variables.scss +69 -0
- data/stylesheets/redframework/animate/_animate.scss +28 -0
- data/stylesheets/redframework/animate/_easings.scss +37 -0
- data/stylesheets/redframework/animate/fades/_in.scss +9 -0
- data/stylesheets/redframework/animate/fades/_out.scss +9 -0
- data/stylesheets/redframework/animate/scales/_in.scss +19 -0
- data/stylesheets/redframework/animate/scales/_out.scss +9 -0
- data/stylesheets/redframework/animate/slide-fades/_in.scss +15 -0
- data/stylesheets/redframework/animate/slide-fades/_out.scss +15 -0
- data/stylesheets/redframework/animate/slides/_in.scss +39 -0
- data/stylesheets/redframework/animate/slides/_out.scss +39 -0
- data/stylesheets/redframework/base/_alignment.scss +11 -0
- data/stylesheets/redframework/base/_animate.scss +6 -0
- data/stylesheets/redframework/base/_body.scss +29 -0
- data/stylesheets/redframework/base/_code.scss +63 -0
- data/stylesheets/redframework/base/_emphasis.scss +18 -0
- data/stylesheets/redframework/base/_forms.scss +174 -0
- data/stylesheets/redframework/base/_headings.scss +59 -0
- data/stylesheets/redframework/base/_images.scss +111 -0
- data/stylesheets/redframework/base/_lists.scss +16 -0
- data/stylesheets/redframework/base/_main.scss +16 -0
- data/stylesheets/redframework/base/_paragraphs.scss +4 -0
- data/stylesheets/redframework/base/_quotes.scss +78 -0
- data/stylesheets/redframework/base/_section.scss +45 -0
- data/stylesheets/redframework/base/_smallprint.scss +13 -0
- data/stylesheets/redframework/base/_tables.scss +163 -0
- data/stylesheets/redframework/general/_brand.scss +12 -0
- data/stylesheets/redframework/general/_clearfix.scss +7 -0
- data/stylesheets/redframework/general/_debug.scss +168 -0
- data/stylesheets/redframework/general/_helpers.scss +3 -0
- data/stylesheets/redframework/general/_mixins.scss +281 -0
- data/stylesheets/redframework/general/_reset.scss +80 -0
- data/stylesheets/redframework/general/_shared.scss +61 -0
- data/stylesheets/redframework/general/_widths.scss +162 -0
- data/stylesheets/redframework/objects/_breadcrumb.scss +15 -0
- data/stylesheets/redframework/objects/_buttons.scss +94 -0
- data/stylesheets/redframework/objects/_circle.scss +37 -0
- data/stylesheets/redframework/objects/_flag.scss +38 -0
- data/stylesheets/redframework/objects/_island.scss +11 -0
- data/stylesheets/redframework/objects/_navigation.scss +62 -0
- data/stylesheets/redframework/objects/_product-listing.scss +162 -0
- data/stylesheets/redframework/objects/_quantity.scss +30 -0
- data/stylesheets/redframework/objects/_search.scss +44 -0
- data/stylesheets/redframework/objects/_searchresults.scss +5 -0
- data/stylesheets/redframework/objects/_well.scss +16 -0
- data/stylesheets/redframework/views/_collectionview.scss +0 -0
- data/stylesheets/redframework/views/_tableview.scss +15 -0
- data/templates/project/manifest.rb +22 -0
- data/templates/project/screen.scss +2 -0
- data/templates/project/scss/app.scss +4 -0
- metadata +111 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
html{
|
2
|
+
font:#{($base-font-size/16px)*1em}/#{$line-height-ratio} $base-font-family;
|
3
|
+
overflow-y:scroll;
|
4
|
+
min-height:100%;
|
5
|
+
}
|
6
|
+
|
7
|
+
|
8
|
+
.view-actions {
|
9
|
+
padding: 1rem 20px 0;
|
10
|
+
overflow:hidden;
|
11
|
+
text-align:right;
|
12
|
+
a {
|
13
|
+
margin:0px;
|
14
|
+
margin-left:3px;
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
@if $english-quotes == true{
|
2
|
+
$open-quote: \201C;
|
3
|
+
$close-quote: \201D;
|
4
|
+
}
|
5
|
+
|
6
|
+
q{
|
7
|
+
quotes:"\2018" "\2019" "#{$open-quote}" "#{$close-quote}";
|
8
|
+
|
9
|
+
&:before{
|
10
|
+
content:"\2018";
|
11
|
+
content:open-quote;
|
12
|
+
}
|
13
|
+
&:after{
|
14
|
+
content:"\2019";
|
15
|
+
content:close-quote;
|
16
|
+
}
|
17
|
+
|
18
|
+
q:before{
|
19
|
+
content:"\201C";
|
20
|
+
content:open-quote;
|
21
|
+
}
|
22
|
+
q:after{
|
23
|
+
content:"\201D";
|
24
|
+
content:close-quote;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
blockquote{
|
29
|
+
quotes:"#{$open-quote}" "#{$close-quote}";
|
30
|
+
|
31
|
+
p:before{
|
32
|
+
content:"#{$open-quote}";
|
33
|
+
content:open-quote;
|
34
|
+
}
|
35
|
+
p:after{
|
36
|
+
content:"";
|
37
|
+
content:no-close-quote;
|
38
|
+
}
|
39
|
+
p:last-of-type:after{
|
40
|
+
content:"#{$close-quote}";
|
41
|
+
content:close-quote;
|
42
|
+
}
|
43
|
+
|
44
|
+
q:before{
|
45
|
+
content:"\2018";
|
46
|
+
content:open-quote;
|
47
|
+
}
|
48
|
+
q:after{
|
49
|
+
content:"\2019";
|
50
|
+
content:close-quote;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
/**
|
56
|
+
*
|
57
|
+
<blockquote>
|
58
|
+
<p>Insanity: doing the same thing over and over again and expecting
|
59
|
+
different results.</p>
|
60
|
+
<b class=source>Albert Einstein</b>
|
61
|
+
</blockquote>
|
62
|
+
*
|
63
|
+
*/
|
64
|
+
blockquote{
|
65
|
+
text-indent:-0.41em;
|
66
|
+
p:last-of-type{
|
67
|
+
margin-bottom:0;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
.source{
|
72
|
+
display:block;
|
73
|
+
text-indent:0;
|
74
|
+
|
75
|
+
&:before{
|
76
|
+
content:"\2014";
|
77
|
+
}
|
78
|
+
}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
.section {
|
2
|
+
display:inline-block;
|
3
|
+
vertical-align:top;
|
4
|
+
float:left;
|
5
|
+
> * {
|
6
|
+
letter-spacing:0px;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
.section__header {
|
11
|
+
display:block;
|
12
|
+
padding:20px;
|
13
|
+
border-top:1px solid #e7e7e7;
|
14
|
+
border-bottom:1px solid #e7e7e7;
|
15
|
+
cursor: pointer;
|
16
|
+
[class*=icon-] {
|
17
|
+
float:right;
|
18
|
+
line-height: 24px;
|
19
|
+
font-size: 36px;
|
20
|
+
margin: 0;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
.section__body {
|
25
|
+
&.section__body--padded {
|
26
|
+
padding:20px
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
.section--inline {
|
31
|
+
border-bottom:1px solid #e7e7e7;
|
32
|
+
.section__header {
|
33
|
+
border-right:1px solid #e7e7e7;
|
34
|
+
display:inline-block;
|
35
|
+
border:none;
|
36
|
+
float: left;
|
37
|
+
width:20%;
|
38
|
+
}
|
39
|
+
.section__body {
|
40
|
+
overflow-x:scroll;
|
41
|
+
white-space:nowrap;
|
42
|
+
float: left;
|
43
|
+
width:79%;
|
44
|
+
}
|
45
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/*------------------------------------*\
|
2
|
+
$SMALLPRINT
|
3
|
+
\*------------------------------------*/
|
4
|
+
/**
|
5
|
+
* A series of classes for setting tiny type; for use in smallprint etc.
|
6
|
+
*/
|
7
|
+
.smallprint,
|
8
|
+
.milli{
|
9
|
+
@include font-size($milli-size);
|
10
|
+
}
|
11
|
+
.micro{
|
12
|
+
@include font-size($micro-size);
|
13
|
+
}
|
@@ -0,0 +1,163 @@
|
|
1
|
+
/*------------------------------------*\
|
2
|
+
$TABLES
|
3
|
+
\*------------------------------------*/
|
4
|
+
/**
|
5
|
+
* We have a lot at our disposal for making very complex table constructs, e.g.:
|
6
|
+
*
|
7
|
+
<table class="table--bordered table--striped table--data">
|
8
|
+
<colgroup>
|
9
|
+
<col class=t10>
|
10
|
+
<col class=t10>
|
11
|
+
<col class=t10>
|
12
|
+
<col>
|
13
|
+
</colgroup>
|
14
|
+
<thead>
|
15
|
+
<tr>
|
16
|
+
<th colspan=3>Foo</th>
|
17
|
+
<th>Bar</th>
|
18
|
+
</tr>
|
19
|
+
<tr>
|
20
|
+
<th>Lorem</th>
|
21
|
+
<th>Ipsum</th>
|
22
|
+
<th class=numerical>Dolor</th>
|
23
|
+
<th>Sit</th>
|
24
|
+
</tr>
|
25
|
+
</thead>
|
26
|
+
<tbody>
|
27
|
+
<tr>
|
28
|
+
<th rowspan=3>Sit</th>
|
29
|
+
<td>Dolor</td>
|
30
|
+
<td class=numerical>03.788</td>
|
31
|
+
<td>Lorem</td>
|
32
|
+
</tr>
|
33
|
+
<tr>
|
34
|
+
<td>Dolor</td>
|
35
|
+
<td class=numerical>32.210</td>
|
36
|
+
<td>Lorem</td>
|
37
|
+
</tr>
|
38
|
+
<tr>
|
39
|
+
<td>Dolor</td>
|
40
|
+
<td class=numerical>47.797</td>
|
41
|
+
<td>Lorem</td>
|
42
|
+
</tr>
|
43
|
+
<tr>
|
44
|
+
<th rowspan=2>Sit</th>
|
45
|
+
<td>Dolor</td>
|
46
|
+
<td class=numerical>09.640</td>
|
47
|
+
<td>Lorem</td>
|
48
|
+
</tr>
|
49
|
+
<tr>
|
50
|
+
<td>Dolor</td>
|
51
|
+
<td class=numerical>12.117</td>
|
52
|
+
<td>Lorem</td>
|
53
|
+
</tr>
|
54
|
+
</tbody>
|
55
|
+
</table>
|
56
|
+
*
|
57
|
+
*/
|
58
|
+
table{
|
59
|
+
width:100%;
|
60
|
+
}
|
61
|
+
th,
|
62
|
+
td{
|
63
|
+
padding:$base-spacing-unit / 4;
|
64
|
+
@media screen and (min-width:480px){
|
65
|
+
padding:$half-spacing-unit;
|
66
|
+
}
|
67
|
+
text-align:left;
|
68
|
+
}
|
69
|
+
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Cell alignments
|
73
|
+
*/
|
74
|
+
[colspan]{
|
75
|
+
text-align:center;
|
76
|
+
}
|
77
|
+
[colspan="1"]{
|
78
|
+
text-align:left;
|
79
|
+
}
|
80
|
+
[rowspan]{
|
81
|
+
vertical-align:middle;
|
82
|
+
}
|
83
|
+
[rowspan="1"]{
|
84
|
+
vertical-align:top;
|
85
|
+
}
|
86
|
+
.numerical{
|
87
|
+
text-align:right;
|
88
|
+
}
|
89
|
+
|
90
|
+
/**
|
91
|
+
* In the HTML above we see several `col` elements with classes whose numbers
|
92
|
+
* represent a percentage width for that column. We leave one column free of a
|
93
|
+
* class so that column can soak up the effects of any accidental breakage in
|
94
|
+
* the table.
|
95
|
+
*/
|
96
|
+
.t5 { width: 5% }
|
97
|
+
.t10 { width:10% }
|
98
|
+
.t12 { width:12.5% } /* 1/8 */
|
99
|
+
.t15 { width:15% }
|
100
|
+
.t20 { width:20% }
|
101
|
+
.t25 { width:25% } /* 1/4 */
|
102
|
+
.t30 { width:30% }
|
103
|
+
.t33 { width:33.333% } /* 1/3 */
|
104
|
+
.t35 { width:35% }
|
105
|
+
.t37 { width:37.5% } /* 3/8 */
|
106
|
+
.t40 { width:40% }
|
107
|
+
.t45 { width:45% }
|
108
|
+
.t50 { width:50% } /* 1/2 */
|
109
|
+
.t55 { width:55% }
|
110
|
+
.t60 { width:60% }
|
111
|
+
.t62 { width:62.5% } /* 5/8 */
|
112
|
+
.t65 { width:65% }
|
113
|
+
.t66 { width:66.666% } /* 2/3 */
|
114
|
+
.t70 { width:70% }
|
115
|
+
.t75 { width:75% } /* 3/4*/
|
116
|
+
.t80 { width:80% }
|
117
|
+
.t85 { width:85% }
|
118
|
+
.t87 { width:87.5% } /* 7/8 */
|
119
|
+
.t90 { width:90% }
|
120
|
+
.t95 { width:95% }
|
121
|
+
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Bordered tables
|
125
|
+
*/
|
126
|
+
.table--bordered{
|
127
|
+
|
128
|
+
th,
|
129
|
+
td{
|
130
|
+
border:1px solid $base-ui-color;
|
131
|
+
|
132
|
+
&:empty{
|
133
|
+
border:none;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
thead tr:last-child th{
|
138
|
+
border-bottom-width:2px;
|
139
|
+
}
|
140
|
+
|
141
|
+
tbody tr th:last-of-type{
|
142
|
+
border-right-width:2px;
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
|
147
|
+
/**
|
148
|
+
* Striped tables
|
149
|
+
*/
|
150
|
+
.table--striped{
|
151
|
+
|
152
|
+
tbody tr:nth-of-type(odd){
|
153
|
+
background-color:#f2f2f2; /* Override this color in your theme stylesheet */
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
|
158
|
+
/**
|
159
|
+
* Data table
|
160
|
+
*/
|
161
|
+
.table--data{
|
162
|
+
font:12px/1.5 sans-serif;
|
163
|
+
}
|
@@ -0,0 +1,168 @@
|
|
1
|
+
@if $debug-mode == true {
|
2
|
+
/*------------------------------------*\
|
3
|
+
$DEBUG
|
4
|
+
\*------------------------------------*/
|
5
|
+
/**
|
6
|
+
* Enable this stylesheet to visually detect any improperly nested or
|
7
|
+
* potentially invalid markup, or any potentially inaccessible code.
|
8
|
+
*
|
9
|
+
* Red == definite error
|
10
|
+
* Yellow == double-check
|
11
|
+
* None == should be fine
|
12
|
+
*
|
13
|
+
* Please note that this method of checking markup quality should not be relied
|
14
|
+
* upon entirely. Validate your markup!
|
15
|
+
*/
|
16
|
+
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Are there any empty elements in your page?
|
20
|
+
*/
|
21
|
+
:empty{
|
22
|
+
outline:5px solid yellow;
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Images require `alt` attributes, empty `alt`s are fine but should be
|
28
|
+
* double-checked, no `alt` is bad and is flagged red.
|
29
|
+
*/
|
30
|
+
img{
|
31
|
+
outline:5px solid red;
|
32
|
+
}
|
33
|
+
img[alt]{
|
34
|
+
outline:none;
|
35
|
+
}
|
36
|
+
img[alt=""]{
|
37
|
+
outline:5px solid yellow;
|
38
|
+
}
|
39
|
+
|
40
|
+
|
41
|
+
/**
|
42
|
+
* Links sometimes, though not always, benefit from `title` attributes. Links
|
43
|
+
* without are never invalid but it’s a good idea to check.
|
44
|
+
*/
|
45
|
+
a{
|
46
|
+
outline:5px solid yellow;
|
47
|
+
}
|
48
|
+
a[title]{
|
49
|
+
outline:none;
|
50
|
+
}
|
51
|
+
|
52
|
+
|
53
|
+
/**
|
54
|
+
* Double-check any links whose `href` is something questionable.
|
55
|
+
*/
|
56
|
+
a[href="#"],
|
57
|
+
a[href*="javascript"]{
|
58
|
+
outline:5px solid yellow;
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
/**
|
63
|
+
* The `target` attribute ain’t too nice...
|
64
|
+
*/
|
65
|
+
a[target]{
|
66
|
+
outline:5px solid yellow;
|
67
|
+
}
|
68
|
+
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Ensure any lists only contain `li`s as children.
|
72
|
+
*/
|
73
|
+
ul,
|
74
|
+
ol{
|
75
|
+
> *:not(li){
|
76
|
+
outline:5px solid red;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
/**
|
82
|
+
* It’s always nice to give `th`s `scope` attributes.
|
83
|
+
*/
|
84
|
+
th{
|
85
|
+
outline:5px solid yellow;
|
86
|
+
}
|
87
|
+
th[scope]{
|
88
|
+
outline:none;
|
89
|
+
}
|
90
|
+
|
91
|
+
|
92
|
+
/**
|
93
|
+
* `tr`s as children of `table`s ain’t great, did you need a `thead`/`tbody`?
|
94
|
+
*/
|
95
|
+
table > tr{
|
96
|
+
outline:5px solid yellow;
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
/**
|
101
|
+
* `tfoot` needs to come *before* `tbody`.
|
102
|
+
*/
|
103
|
+
tbody + tfoot{
|
104
|
+
outline:5px solid yellow;
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
/**
|
109
|
+
* Forms require `action` attributes
|
110
|
+
*/
|
111
|
+
form{
|
112
|
+
outline:5px solid red;
|
113
|
+
}
|
114
|
+
form[action]{
|
115
|
+
outline:none;
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/**
|
120
|
+
* Various form-field types have required attributes. `input`s need `type`
|
121
|
+
* attributes, `textarea`s need `rows` and `cols` attributes and submit buttons
|
122
|
+
* need a `value` attribute.
|
123
|
+
*/
|
124
|
+
textarea,
|
125
|
+
input{
|
126
|
+
outline:5px solid red;
|
127
|
+
}
|
128
|
+
input[type]{
|
129
|
+
outline:none;
|
130
|
+
}
|
131
|
+
textarea[rows][cols]{
|
132
|
+
outline:none;
|
133
|
+
}
|
134
|
+
input[type=submit]{
|
135
|
+
outline:5px solid red;
|
136
|
+
}
|
137
|
+
input[type=submit][value]{
|
138
|
+
outline:none;
|
139
|
+
}
|
140
|
+
|
141
|
+
|
142
|
+
/**
|
143
|
+
* Avoid inline styles where possible.
|
144
|
+
*/
|
145
|
+
[style]{
|
146
|
+
outline:5px solid yellow;
|
147
|
+
}
|
148
|
+
|
149
|
+
|
150
|
+
/**
|
151
|
+
* You should avoid using IDs for CSS, is this doing any styling?
|
152
|
+
*/
|
153
|
+
[id]{
|
154
|
+
outline:5px solid yellow;
|
155
|
+
}
|
156
|
+
|
157
|
+
|
158
|
+
/**
|
159
|
+
* Are you using the grid system correctly?
|
160
|
+
*/
|
161
|
+
.gw > :not(.g),
|
162
|
+
.grid-wrapper > :not(.grid),
|
163
|
+
.gw--rev > :not(.g),
|
164
|
+
.grid-wrapper--rev > :not(.grid){
|
165
|
+
outline:5px solid red;
|
166
|
+
}
|
167
|
+
|
168
|
+
} //End IF
|