ethosstyles 0.1.17 → 0.1.18
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 +5 -5
- data/app/assets/stylesheets/components/_blurbs.scss +26 -25
- data/app/assets/stylesheets/components/_buttons.scss +3 -2
- data/app/assets/stylesheets/components/_checks.scss +7 -5
- data/app/assets/stylesheets/components/_icons.scss +54 -11
- data/app/assets/stylesheets/components/_links.scss +30 -11
- data/app/assets/stylesheets/components/_modal.scss +43 -14
- data/app/assets/stylesheets/components/_panels.scss +0 -1
- data/app/assets/stylesheets/components/_pills.scss +46 -0
- data/app/assets/stylesheets/settings/_variables.scss +32 -0
- data/app/assets/stylesheets/utilities/_animations.scss +22 -0
- data/app/assets/stylesheets/utilities/_mixins.scss +9 -11
- data/app/views/checkbox.php +6 -0
- data/app/views/index.php +18 -0
- data/app/views/links.php +6 -0
- data/app/views/partial_avatars.php +2 -2
- data/app/views/pills.php +10 -0
- data/lib/ethosstyles.rb +2 -23
- data/lib/ethosstyles/engine.rb +0 -1
- data/lib/ethosstyles/version.rb +1 -1
- metadata +6 -7
- data/app/assets/images/loader.svg +0 -12
- data/app/views/buttons.html +0 -105
- data/app/views/favicon.ico +0 -0
- data/lib/ethosstyles/generator.rb +0 -80
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 7bd25f8c2d80e526057e7aa16daa32e73c8703c8e2b5bfc8e3f14df1b55ee0b8
|
|
4
|
+
data.tar.gz: b662fa226dfbd71b9bdd8f62c3b4e4956185470a4e0cf2cebc7a9599ce50c1f0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 736e70abd9bbc671ea24f3972736505557dbf0d844fe1fa6e924b93004b1a11cb9e5c17b194feb5f73dba1c11df264c4d8154e1999fb6fe4787c920aa151352e
|
|
7
|
+
data.tar.gz: 693affdb2461e85957c31c80aa64294f89d2d35ad26bb3e3a204df5df8b6b5c5ca231cd1591d0d45c9f2d63ec9345391f1518e7260c45cfd7ab542731755fa09
|
|
@@ -10,35 +10,37 @@
|
|
|
10
10
|
// </div>
|
|
11
11
|
//
|
|
12
12
|
|
|
13
|
+
|
|
14
|
+
%blurb-icon {
|
|
15
|
+
background-color: $white;
|
|
16
|
+
border-radius: 10px;
|
|
17
|
+
display: block;
|
|
18
|
+
font-family: $font-icon-f5;
|
|
19
|
+
font-size: 18px;
|
|
20
|
+
font-weight: 900;
|
|
21
|
+
height: 15px;
|
|
22
|
+
left: -11px;
|
|
23
|
+
line-height: 17px;
|
|
24
|
+
position: absolute;
|
|
25
|
+
top: 15px;
|
|
26
|
+
width: 16px;
|
|
27
|
+
}
|
|
28
|
+
|
|
13
29
|
.rf-blurb {
|
|
14
30
|
@extend %p;
|
|
15
31
|
|
|
16
32
|
background-color: $prewhite;
|
|
17
|
-
border-radius:
|
|
33
|
+
border-radius: 0;
|
|
18
34
|
padding: $list-padding;
|
|
19
35
|
position: relative;
|
|
20
36
|
width: 100%;
|
|
21
37
|
|
|
22
|
-
&:before {
|
|
23
|
-
background-color: $white;
|
|
24
|
-
border-radius: 10px;
|
|
25
|
-
content: '';
|
|
26
|
-
display: block;
|
|
27
|
-
font-family: $font-icon-f5;
|
|
28
|
-
font-size: 18px;
|
|
29
|
-
left: -11px;
|
|
30
|
-
line-height: 19px;
|
|
31
|
-
height: 18px;
|
|
32
|
-
position: absolute;
|
|
33
|
-
top: 14px;
|
|
34
|
-
width: 18px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
38
|
p:last-child {
|
|
38
39
|
margin-bottom: 0;
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
|
|
42
44
|
//
|
|
43
45
|
// BLURB TYPES
|
|
44
46
|
//
|
|
@@ -49,8 +51,8 @@
|
|
|
49
51
|
border-left: 4px solid $blue-bright;
|
|
50
52
|
|
|
51
53
|
&:before {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
@extend %blurb-icon;
|
|
55
|
+
@extend %icon--info;
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -60,8 +62,8 @@
|
|
|
60
62
|
border-left: 4px solid $green;
|
|
61
63
|
|
|
62
64
|
&:before {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
@extend %blurb-icon;
|
|
66
|
+
@extend %icon--success;
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
|
|
@@ -71,9 +73,8 @@
|
|
|
71
73
|
border-left: 4px solid $gold;
|
|
72
74
|
|
|
73
75
|
&:before {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
left: -12px;
|
|
76
|
+
@extend %blurb-icon;
|
|
77
|
+
@extend %icon--warning;
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
|
|
@@ -83,8 +84,8 @@
|
|
|
83
84
|
border-left: 4px solid $red;
|
|
84
85
|
|
|
85
86
|
&:before {
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
@extend %blurb-icon;
|
|
88
|
+
@extend %icon--error;
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
|
|
@@ -119,10 +119,11 @@ $btn-padding-x: $btn-padding-y * 1.8;
|
|
|
119
119
|
// Warning icon
|
|
120
120
|
|
|
121
121
|
&:before {
|
|
122
|
+
|
|
123
|
+
@extend %icon--warning;
|
|
124
|
+
|
|
122
125
|
color: $white;
|
|
123
|
-
content: "\f071";
|
|
124
126
|
display: inline-block;
|
|
125
|
-
font-family: $font-icon-f5;
|
|
126
127
|
font-size: 1em;
|
|
127
128
|
line-height: .6em;
|
|
128
129
|
margin-right: 4px;
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
.rf-check__label {
|
|
37
37
|
display: inline-block;
|
|
38
38
|
font-size: 14px;
|
|
39
|
+
font-weight: 400;
|
|
39
40
|
line-height: 14px;
|
|
40
41
|
text-indent: -22px;
|
|
41
42
|
}
|
|
@@ -45,15 +46,16 @@
|
|
|
45
46
|
border-radius: $border-radius;
|
|
46
47
|
color: $blue-bright;
|
|
47
48
|
display: inline-block;
|
|
48
|
-
font-family:
|
|
49
|
-
font-size:
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
font-family: $font-icon-f5;
|
|
50
|
+
font-size: 11px;
|
|
51
|
+
font-weight: 900;
|
|
52
|
+
height: 18px;
|
|
53
|
+
line-height: 1.6em;
|
|
52
54
|
margin-right: 8px;
|
|
53
55
|
margin-top: -2px;
|
|
54
56
|
text-align: center;
|
|
55
57
|
text-indent: 0;
|
|
56
|
-
width:
|
|
58
|
+
width: 18px;
|
|
57
59
|
vertical-align: middle;
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
font-family: $font-icon-f5;
|
|
10
10
|
font-size: 1em;
|
|
11
11
|
font-style: normal;
|
|
12
|
-
font-weight:
|
|
12
|
+
font-weight: 900;
|
|
13
13
|
line-height: 1em;
|
|
14
14
|
-webkit-font-smoothing: antialiased;
|
|
15
15
|
-moz-osx-font-smoothing: grayscale;
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
color: $green;
|
|
36
36
|
font-family: $font-icon-f5;
|
|
37
37
|
}
|
|
38
|
-
|
|
39
38
|
// 6 dots, 2 across
|
|
40
39
|
|
|
41
40
|
.rf-icon--grip:after {
|
|
@@ -49,11 +48,6 @@
|
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
.rf-icon--caret--right:after {
|
|
53
|
-
content: "\f0da";
|
|
54
|
-
font-family: $font-icon-f5;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
51
|
.rf-icon--refresh:after {
|
|
58
52
|
content: "\f021";
|
|
59
53
|
font-family: $font-icon-f5;
|
|
@@ -121,6 +115,41 @@
|
|
|
121
115
|
font-family: $font-icon-f5-b;
|
|
122
116
|
}
|
|
123
117
|
|
|
118
|
+
.rf-icon--caret--right:after {
|
|
119
|
+
content: "\f0da";
|
|
120
|
+
font-family: $font-icon-f5;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.rf-icon--caret--left:after {
|
|
124
|
+
content: "\f0d9";
|
|
125
|
+
font-family: $font-icon-f5;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.rf-icon--caret--up:after {
|
|
129
|
+
content: "\f0d8";
|
|
130
|
+
font-family: $font-icon-f5;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.rf-icon--caret--down:after {
|
|
134
|
+
content: "\f0d7";
|
|
135
|
+
font-family: $font-icon-f5;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.rf-icon--external:after {
|
|
139
|
+
content: "\f360";
|
|
140
|
+
font-family: $font-icon-f5;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.rf-icon--minus:after {
|
|
144
|
+
content: "\f068";
|
|
145
|
+
font-family: $font-icon-f5;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.rf-icon--plus:after {
|
|
149
|
+
content: "\f067";
|
|
150
|
+
font-family: $font-icon-f5;
|
|
151
|
+
}
|
|
152
|
+
|
|
124
153
|
|
|
125
154
|
//
|
|
126
155
|
// MODAL
|
|
@@ -211,27 +240,41 @@
|
|
|
211
240
|
//
|
|
212
241
|
|
|
213
242
|
.rf-icon--loading {
|
|
214
|
-
|
|
215
|
-
|
|
243
|
+
-ms-transform: translateZ(0);
|
|
244
|
+
-webkit-animation: rf-spin 1.1s infinite linear;
|
|
245
|
+
-webkit-transform: translateZ(0);
|
|
246
|
+
animation: rf-spin 1.1s infinite linear;
|
|
247
|
+
border-radius: 50%;
|
|
248
|
+
border-bottom: 4px solid rgba(0,87,255, 0.2);
|
|
249
|
+
border-left: 4px solid $blue-bright;
|
|
250
|
+
border-right: 4px solid rgba(0,87,255, 0.2);
|
|
251
|
+
border-top: 4px solid rgba(0,87,255, 0.2);
|
|
216
252
|
height: 30px;
|
|
253
|
+
position: relative;
|
|
254
|
+
text-indent: -9999em;
|
|
255
|
+
transform: translateZ(0);
|
|
217
256
|
width: 30px;
|
|
218
257
|
|
|
219
258
|
&.rf-icon--xlarge {
|
|
220
|
-
|
|
221
|
-
|
|
259
|
+
border-width: 10px;
|
|
260
|
+
height: 60px;
|
|
261
|
+
width: 60px;
|
|
222
262
|
}
|
|
223
263
|
|
|
224
264
|
&.rf-icon--large {
|
|
265
|
+
border-width: 6px;
|
|
225
266
|
height: 38px;
|
|
226
267
|
width: 38px;
|
|
227
268
|
}
|
|
228
269
|
|
|
229
270
|
&.rf-icon--small {
|
|
271
|
+
border-width: 4px;
|
|
230
272
|
height: 20px;
|
|
231
273
|
width: 20px;
|
|
232
274
|
}
|
|
233
275
|
|
|
234
276
|
&.rf-icon--xsmall {
|
|
277
|
+
border-width: 4px;
|
|
235
278
|
height: 14px;
|
|
236
279
|
width: 14px;
|
|
237
280
|
}
|
|
@@ -6,12 +6,16 @@
|
|
|
6
6
|
color: $slate;
|
|
7
7
|
cursor: pointer;
|
|
8
8
|
font-size: 12px;
|
|
9
|
+
font-weight: 400;
|
|
9
10
|
text-decoration: underline;
|
|
11
|
+
text-indent: 0;
|
|
12
|
+
white-space: nowrap;
|
|
10
13
|
|
|
11
14
|
&:after {
|
|
12
15
|
display: inline-block;
|
|
13
|
-
font-family:
|
|
14
|
-
font-size:
|
|
16
|
+
font-family: $font-icon-f5;
|
|
17
|
+
font-size: 13px;
|
|
18
|
+
font-weight: 900;
|
|
15
19
|
margin-left: 4px;
|
|
16
20
|
}
|
|
17
21
|
|
|
@@ -25,25 +29,40 @@
|
|
|
25
29
|
}
|
|
26
30
|
|
|
27
31
|
.rf-infolink--external:after {
|
|
28
|
-
content: '\
|
|
32
|
+
content: '\f35d';
|
|
33
|
+
font-size: 10px;
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
.rf-infolink--external:before {
|
|
32
37
|
content: 'Open ';
|
|
33
38
|
}
|
|
34
39
|
|
|
35
|
-
.rf-infolink--trigger[aria-expanded='false']
|
|
36
|
-
|
|
40
|
+
.rf-infolink--trigger[aria-expanded='false'] {
|
|
41
|
+
&:before {
|
|
42
|
+
content: 'Expand';
|
|
43
|
+
}
|
|
44
|
+
&:after {
|
|
45
|
+
content: '\002b';
|
|
46
|
+
}
|
|
37
47
|
}
|
|
38
48
|
|
|
39
|
-
.rf-infolink--trigger[aria-expanded='true']
|
|
40
|
-
|
|
49
|
+
.rf-infolink--trigger[aria-expanded='true'] {
|
|
50
|
+
&:before {
|
|
51
|
+
content: 'Hide';
|
|
52
|
+
}
|
|
53
|
+
&:after {
|
|
54
|
+
content: '\2212';
|
|
55
|
+
}
|
|
41
56
|
}
|
|
42
57
|
|
|
43
|
-
.rf-infolink--
|
|
44
|
-
content:
|
|
58
|
+
.rf-infolink--refresh:after {
|
|
59
|
+
content: "\f2f1";
|
|
60
|
+
font-family: $font-icon-f5;
|
|
61
|
+
font-size: 10px;
|
|
45
62
|
}
|
|
46
63
|
|
|
47
|
-
.rf-infolink--
|
|
48
|
-
|
|
64
|
+
.rf-infolink--noprefix {
|
|
65
|
+
&:before {
|
|
66
|
+
content: '' !important;
|
|
67
|
+
}
|
|
49
68
|
}
|
|
@@ -1,37 +1,66 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Modals
|
|
3
|
+
//
|
|
4
|
+
// Uses Bootstrap React modals
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
//
|
|
8
|
+
// Hacks for Bootstrap
|
|
9
|
+
// Because you can't add a class to specific elements
|
|
10
|
+
//
|
|
11
|
+
|
|
1
12
|
.rf-modal {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
13
|
+
.modal-content {
|
|
14
|
+
border-width: 0;
|
|
15
|
+
box-shadow: none;
|
|
16
|
+
height: 100%;
|
|
17
|
+
width: 100%;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.modal-footer,
|
|
21
|
+
.modal-header {
|
|
22
|
+
border-width: 0;
|
|
23
|
+
padding: 0;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
//
|
|
29
|
+
// Modal
|
|
30
|
+
//
|
|
31
|
+
|
|
32
|
+
.rf-modal {
|
|
33
|
+
background-color: $white;
|
|
5
34
|
border: $border-default;
|
|
6
|
-
|
|
35
|
+
border-radius: $border-radius;
|
|
36
|
+
box-shadow: 0 0 50px $metal;
|
|
37
|
+
color: $slate;
|
|
38
|
+
font-size: 14px;
|
|
39
|
+
max-width: 500px;
|
|
7
40
|
padding: 50px;
|
|
41
|
+
width: 100%;
|
|
8
42
|
}
|
|
9
43
|
|
|
10
|
-
.rf-modal__header
|
|
11
|
-
|
|
44
|
+
.rf-modal__header,
|
|
45
|
+
.rf-modal__footer {
|
|
12
46
|
text-align: center;
|
|
13
|
-
border-bottom: 0px; // for Bootstrap
|
|
14
47
|
}
|
|
15
48
|
|
|
16
49
|
.rf-modal__header .rf-icon {
|
|
17
50
|
margin-bottom: 16px;
|
|
18
51
|
}
|
|
19
52
|
|
|
20
|
-
.rf-modal__footer {
|
|
21
|
-
padding: 0; // for Bootstrap
|
|
22
|
-
border-top-width: 0px; // for Bootstrap
|
|
23
|
-
text-align: center;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
53
|
.rf-modal__body {
|
|
27
|
-
padding: 30px 0;
|
|
28
54
|
color: $slate;
|
|
29
55
|
font-size: 14px;
|
|
30
56
|
line-height: 20px;
|
|
57
|
+
padding: 30px 0;
|
|
31
58
|
}
|
|
32
59
|
|
|
33
60
|
|
|
61
|
+
//
|
|
34
62
|
// Types
|
|
63
|
+
//
|
|
35
64
|
|
|
36
65
|
.rf-modal--info {
|
|
37
66
|
.rf-modal__header .rf-icon {
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
// Pills
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
%rf-pill--neutral {
|
|
6
|
+
border-color: $blue-bright;
|
|
7
|
+
color: $blue-bright;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
%rf-pill--minor {
|
|
11
|
+
border-color: $stormy;
|
|
12
|
+
color: $stormy;
|
|
13
|
+
}
|
|
14
|
+
|
|
5
15
|
.rf-pill {
|
|
6
16
|
border-radius: 20px;
|
|
7
17
|
border-style: solid;
|
|
@@ -35,7 +45,43 @@
|
|
|
35
45
|
color: $green;
|
|
36
46
|
}
|
|
37
47
|
|
|
48
|
+
.rf-pill--warning {
|
|
49
|
+
border-color: $gold;
|
|
50
|
+
color: $gold;
|
|
51
|
+
}
|
|
52
|
+
|
|
38
53
|
.rf-pill--minor {
|
|
39
54
|
border-color: $stormy;
|
|
40
55
|
color: $stormy;
|
|
41
56
|
}
|
|
57
|
+
|
|
58
|
+
.rf-pill--met,
|
|
59
|
+
%rf-pill--met {
|
|
60
|
+
@extend %rf-pill--neutral;
|
|
61
|
+
|
|
62
|
+
&:before {
|
|
63
|
+
content: "\e013";
|
|
64
|
+
font-family: $font-icon-g;
|
|
65
|
+
font-size: 8px;
|
|
66
|
+
margin-right: 2px;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.rf-pill--unmet,
|
|
71
|
+
%rf-pill--unmet {
|
|
72
|
+
@extend %rf-pill--minor;
|
|
73
|
+
|
|
74
|
+
&:before {
|
|
75
|
+
content: "\e014";
|
|
76
|
+
font-family: $font-icon-g;
|
|
77
|
+
font-size: 8px;
|
|
78
|
+
margin-right: 2px;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Solid pills
|
|
83
|
+
|
|
84
|
+
.rf-pill--solid {
|
|
85
|
+
background-color: $prewhite;
|
|
86
|
+
border-color: $prewhite;
|
|
87
|
+
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
//
|
|
2
2
|
// Colors
|
|
3
3
|
// https://davidwalsh.name/sass-color-variables-dont-suck
|
|
4
|
+
// Name That Color: http://chir.ag/projects/name-that-color/
|
|
4
5
|
//
|
|
5
6
|
|
|
6
7
|
$white: #ffffff;
|
|
7
8
|
$black: #000000;
|
|
8
9
|
|
|
9
10
|
$charcoal: #191919;
|
|
11
|
+
$metal: #555555;
|
|
10
12
|
$slate: #777777;
|
|
11
13
|
$stormy: #c0c0c0;
|
|
12
14
|
$mercury: #e8e8e8;
|
|
@@ -55,3 +57,33 @@ $font-icon-f5: "Font Awesome 5 Free"; // solid
|
|
|
55
57
|
$font-icon-f5-r: "Font Awesome 5 Free Regular"; // regular
|
|
56
58
|
$font-icon-f5-b: 'Font Awesome 5 Brands'; // brands
|
|
57
59
|
$font-icon-g: "Glyphicons Halflings";
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
// Icons
|
|
63
|
+
%icon--info {
|
|
64
|
+
color: $blue-bright;
|
|
65
|
+
content: "\f05a";
|
|
66
|
+
font-family: $font-icon-f5;
|
|
67
|
+
font-weight: 900;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
%icon--error {
|
|
71
|
+
color: $red;
|
|
72
|
+
content: "\f06a";
|
|
73
|
+
font-family: $font-icon-f5;
|
|
74
|
+
font-weight: 900;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
%icon--warning {
|
|
78
|
+
color: $gold;
|
|
79
|
+
content: "\f071";
|
|
80
|
+
font-family: $font-icon-f5;
|
|
81
|
+
font-weight: 900;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
%icon--success {
|
|
85
|
+
color: $green;
|
|
86
|
+
content: "\f058";
|
|
87
|
+
font-family: $font-icon-f5;
|
|
88
|
+
font-weight: 900;
|
|
89
|
+
}
|
|
@@ -11,3 +11,25 @@
|
|
|
11
11
|
transform: rotate(360deg);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
+
|
|
15
|
+
@-webkit-keyframes rf-spin {
|
|
16
|
+
0% {
|
|
17
|
+
-webkit-transform: rotate(0deg);
|
|
18
|
+
transform: rotate(0deg);
|
|
19
|
+
}
|
|
20
|
+
100% {
|
|
21
|
+
-webkit-transform: rotate(360deg);
|
|
22
|
+
transform: rotate(360deg);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@keyframes rf-spin {
|
|
27
|
+
0% {
|
|
28
|
+
-webkit-transform: rotate(0deg);
|
|
29
|
+
transform: rotate(0deg);
|
|
30
|
+
}
|
|
31
|
+
100% {
|
|
32
|
+
-webkit-transform: rotate(360deg);
|
|
33
|
+
transform: rotate(360deg);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -61,15 +61,11 @@
|
|
|
61
61
|
@mixin trigger_arrow ( $display: block, $arrow-pos: $list-padding ) {
|
|
62
62
|
&[aria-expanded='false']:after,
|
|
63
63
|
&[aria-expanded='true']:after {
|
|
64
|
-
|
|
65
|
-
font-family: 'octicons';
|
|
64
|
+
font-family: $font-icon-f5;
|
|
66
65
|
font-size: 14px;
|
|
66
|
+
font-weight: 900;
|
|
67
67
|
vertical-align: middle;
|
|
68
68
|
|
|
69
|
-
@include hocus() {
|
|
70
|
-
color: inherit;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
69
|
@if ($display==block) {
|
|
74
70
|
display: block;
|
|
75
71
|
position: absolute;
|
|
@@ -86,14 +82,15 @@
|
|
|
86
82
|
}
|
|
87
83
|
|
|
88
84
|
&[aria-expanded='false']:after {
|
|
89
|
-
content: '\
|
|
85
|
+
content: '\f0da'; // triangle right
|
|
90
86
|
}
|
|
91
87
|
|
|
92
88
|
&[aria-expanded='true']:after {
|
|
93
|
-
content: '\
|
|
89
|
+
content: '\f0d7'; // triangle down
|
|
94
90
|
}
|
|
95
91
|
}
|
|
96
92
|
|
|
93
|
+
|
|
97
94
|
//
|
|
98
95
|
// INPUT HANDLE
|
|
99
96
|
// Used for toggles and ranges
|
|
@@ -129,6 +126,7 @@
|
|
|
129
126
|
color: inherit;
|
|
130
127
|
font-family: $font-icon-f5;
|
|
131
128
|
font-size: 14px;
|
|
129
|
+
font-weight: 900;
|
|
132
130
|
vertical-align: middle;
|
|
133
131
|
height: $arrow-height;
|
|
134
132
|
width: $arrow-width;
|
|
@@ -142,12 +140,12 @@
|
|
|
142
140
|
}
|
|
143
141
|
}
|
|
144
142
|
|
|
145
|
-
|
|
146
|
-
content:
|
|
143
|
+
&[aria-expanded='false']:after {
|
|
144
|
+
content: '\f0da'; // triangle right
|
|
147
145
|
}
|
|
148
146
|
|
|
149
147
|
&[aria-expanded='true']:after {
|
|
150
|
-
content:
|
|
148
|
+
content: '\f0d7'; // triangle down
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
151
|
|
data/app/views/index.php
CHANGED
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
<div class="rf-container">
|
|
30
30
|
<h2>Table of Contents</h2>
|
|
31
31
|
<ul>
|
|
32
|
+
<li><a href="#pills">Pills</a></li>
|
|
33
|
+
<li><a href="#links">Links</a></li>
|
|
34
|
+
<li><a href="#checkbox">Checkboxes</a></li>
|
|
32
35
|
<li><a href="#avatars">Avatars</a></li>
|
|
33
36
|
<li><a href="#icons">Icons</a></li>
|
|
34
37
|
<li><a href="#modals">Modals</a></li>
|
|
@@ -44,6 +47,21 @@
|
|
|
44
47
|
<li><a href="#panels">Panels</a></li>
|
|
45
48
|
</ul>
|
|
46
49
|
|
|
50
|
+
<section class="rf-section">
|
|
51
|
+
<h2 id="pills">Pills</h2>
|
|
52
|
+
<?php include "pills.php" ?>
|
|
53
|
+
</section>
|
|
54
|
+
|
|
55
|
+
<section class="rf-section">
|
|
56
|
+
<h2 id="links">Links</h2>
|
|
57
|
+
<?php include "links.php" ?>
|
|
58
|
+
</section>
|
|
59
|
+
|
|
60
|
+
<section class="rf-section">
|
|
61
|
+
<h2 id="checkbox">Checkboxes</h2>
|
|
62
|
+
<?php include "checkbox.php" ?>
|
|
63
|
+
</section>
|
|
64
|
+
|
|
47
65
|
<section class="rf-section">
|
|
48
66
|
<h2 id="avatars">Avatars</h2>
|
|
49
67
|
<?php include "avatars.php" ?>
|
data/app/views/links.php
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<a href="#" class="rf-infolink">Info Link</a>
|
|
2
|
+
<a href="#" class="rf-infolink rf-infolink--external"> External Info Link </a>
|
|
3
|
+
<a href="#" class="rf-infolink rf-infolink--trigger" aria-expanded="false"> Info Link Trigger</a>
|
|
4
|
+
<a href="#" class="rf-infolink rf-infolink--trigger" aria-expanded="true"> Info Link Trigger</a>
|
|
5
|
+
<a href="#" class="rf-infolink rf-infolink--refresh"> Info Link Refresh</a>
|
|
6
|
+
<a href="#" class="rf-infolink rf-infolink--noprefix">Info Link Without Prefix</a>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<?php if($avatar_nametag): ?>
|
|
7
7
|
<div class="rf-avatar__nametag"> <?php echo $avatar_nametag?> </div>
|
|
8
8
|
<?php endif; ?>
|
|
9
|
-
<img class="rf-avatar__img" src="
|
|
9
|
+
<img class="rf-avatar__img" src="http://placekitten.com/200/200" alt="krevat">
|
|
10
10
|
</div>
|
|
11
11
|
<div class="rf-avatar rf-avatar--small">
|
|
12
12
|
<?php if($avatar_overlay): ?>
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
<?php if($avatar_nametag): ?>
|
|
16
16
|
<div class="rf-avatar__nametag"> <?php echo $avatar_nametag?> </div>
|
|
17
17
|
<?php endif; ?>
|
|
18
|
-
<img class="rf-avatar__img" src="
|
|
18
|
+
<img class="rf-avatar__img" src="http://placekitten.com/200/200" alt="krevat">
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
data/app/views/pills.php
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<span class="rf-pill">Pill</span>
|
|
2
|
+
<span class="rf-pill rf-pill--neutral">Neutral Pill</span>
|
|
3
|
+
<span class="rf-pill rf-pill--neutral--secondary">Neutral Secondary Pill</span>
|
|
4
|
+
<span class="rf-pill rf-pill--fail">Fail Pill</span>
|
|
5
|
+
<span class="rf-pill rf-pill--success">Success Pill</span>
|
|
6
|
+
<span class="rf-pill rf-pill--warning">Warning Pill</span>
|
|
7
|
+
<span class="rf-pill rf-pill--minor">Minor Pill</span>
|
|
8
|
+
<span class="rf-pill rf-pill--met">Met Pill</span>
|
|
9
|
+
<span class="rf-pill rf-pill--unmet">Unmet Pill</span>
|
|
10
|
+
<span class="rf-pill rf-pill--solid">Solid Pill</span>
|
data/lib/ethosstyles.rb
CHANGED
|
@@ -1,27 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
dir = File.dirname(__FILE__)
|
|
3
|
-
$LOAD_PATH.unshift dir unless $LOAD_PATH.include?(dir)
|
|
1
|
+
require "sass"
|
|
4
2
|
|
|
5
|
-
require "ethosstyles/
|
|
6
|
-
|
|
7
|
-
unless defined?(Sass)
|
|
8
|
-
require 'sass'
|
|
9
|
-
end
|
|
3
|
+
require "ethosstyles/engine"
|
|
10
4
|
|
|
11
5
|
module Ethosstyles
|
|
12
|
-
if defined?(Rails) && defined?(Rails::Engine)
|
|
13
|
-
class Engine < ::Rails::Engine
|
|
14
|
-
require 'ethosstyles/engine'
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
module Rails
|
|
18
|
-
class Railtie < ::Rails::Railtie
|
|
19
|
-
rake_tasks do
|
|
20
|
-
load "tasks/install.rake"
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
else
|
|
25
|
-
Sass.load_paths << File.expand_path("../../app/assets/stylesheets", __FILE__)
|
|
26
|
-
end
|
|
27
6
|
end
|
data/lib/ethosstyles/engine.rb
CHANGED
data/lib/ethosstyles/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ethosstyles
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ethos
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-12-
|
|
11
|
+
date: 2018-12-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: sass
|
|
@@ -51,7 +51,6 @@ files:
|
|
|
51
51
|
- Makefile
|
|
52
52
|
- README.md
|
|
53
53
|
- Rakefile
|
|
54
|
-
- app/assets/images/loader.svg
|
|
55
54
|
- app/assets/stylesheets/_ethosstyles.scss
|
|
56
55
|
- app/assets/stylesheets/components/_avatars.scss
|
|
57
56
|
- app/assets/stylesheets/components/_base.scss
|
|
@@ -93,13 +92,13 @@ files:
|
|
|
93
92
|
- app/assets/stylesheets/utilities/_utilities.scss
|
|
94
93
|
- app/views/avatars.php
|
|
95
94
|
- app/views/blurbs.php
|
|
96
|
-
- app/views/buttons.html
|
|
97
95
|
- app/views/buttons.php
|
|
98
|
-
- app/views/
|
|
96
|
+
- app/views/checkbox.php
|
|
99
97
|
- app/views/forms.php
|
|
100
98
|
- app/views/grid.php
|
|
101
99
|
- app/views/icons.php
|
|
102
100
|
- app/views/index.php
|
|
101
|
+
- app/views/links.php
|
|
103
102
|
- app/views/list-groups.php
|
|
104
103
|
- app/views/logs.php
|
|
105
104
|
- app/views/modal_partial.php
|
|
@@ -110,12 +109,12 @@ files:
|
|
|
110
109
|
- app/views/partial_avatars.php
|
|
111
110
|
- app/views/partial_icons.php
|
|
112
111
|
- app/views/partial_tooltips.php
|
|
112
|
+
- app/views/pills.php
|
|
113
113
|
- app/views/tables.php
|
|
114
114
|
- app/views/tooltips.php
|
|
115
115
|
- ethosstyles.gemspec
|
|
116
116
|
- lib/ethosstyles.rb
|
|
117
117
|
- lib/ethosstyles/engine.rb
|
|
118
|
-
- lib/ethosstyles/generator.rb
|
|
119
118
|
- lib/ethosstyles/version.rb
|
|
120
119
|
homepage: https://git.corp.adobe.com/adobe-platform/stardust
|
|
121
120
|
licenses: []
|
|
@@ -136,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
136
135
|
version: '0'
|
|
137
136
|
requirements: []
|
|
138
137
|
rubyforge_project: ethosstyles
|
|
139
|
-
rubygems_version: 2.
|
|
138
|
+
rubygems_version: 2.7.2
|
|
140
139
|
signing_key:
|
|
141
140
|
specification_version: 4
|
|
142
141
|
summary: A design system for Ethos
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
2
|
-
width="40px" height="40px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
|
|
3
|
-
<path fill="#0057ff" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z">
|
|
4
|
-
<animateTransform attributeType="xml"
|
|
5
|
-
attributeName="transform"
|
|
6
|
-
type="rotate"
|
|
7
|
-
from="0 25 25"
|
|
8
|
-
to="360 25 25"
|
|
9
|
-
dur="0.8s"
|
|
10
|
-
repeatCount="indefinite"/>
|
|
11
|
-
</path>
|
|
12
|
-
</svg>
|
data/app/views/buttons.html
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
<h1>BUTTON</h1>
|
|
2
|
-
|
|
3
|
-
<section class="rf-section">
|
|
4
|
-
|
|
5
|
-
<h2>BUTTON TYPES</h2>
|
|
6
|
-
|
|
7
|
-
<a href="#" class="rf-btn rf-btn--primary">Primary</a>
|
|
8
|
-
<a href="#" class="rf-btn rf-btn--secondary">Secondary</a>
|
|
9
|
-
<a href="#" class="rf-btn rf-btn--link">Link</a>
|
|
10
|
-
<a href="#" class="rf-btn rf-btn--dropdown">Dropdown</a>
|
|
11
|
-
<a href="#" class="rf-btn rf-btn--warning">Warning</a>
|
|
12
|
-
<a href="#" class="rf-btn rf-btn--error">Error</a>
|
|
13
|
-
</section>
|
|
14
|
-
|
|
15
|
-
<section class="rf-section">
|
|
16
|
-
|
|
17
|
-
<h2>BUTTON SIZES</h2>
|
|
18
|
-
|
|
19
|
-
<a href="#" class="rf-btn rf-btn--small">Button</a>
|
|
20
|
-
<a href="#" class="rf-btn rf-btn--large">Button</a>
|
|
21
|
-
<br/><br/><br/>
|
|
22
|
-
|
|
23
|
-
<h3>Types + sizes </h3>
|
|
24
|
-
|
|
25
|
-
<a href="#" class="rf-btn rf-btn--primary rf-btn--large">Primary</a>
|
|
26
|
-
<a href="#" class="rf-btn rf-btn--warning rf-btn--large">Secondary</a>
|
|
27
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--large">Button</a>
|
|
28
|
-
<a href="#" class="rf-btn rf-btn--link rf-btn--large">Link</a>
|
|
29
|
-
<a href="#" class="rf-btn rf-btn--dropdown rf-btn--large">Dropdown</a>
|
|
30
|
-
<a href="#" class="rf-btn rf-btn--error rf-btn--large">Error</a>
|
|
31
|
-
<br/><br/><br/>
|
|
32
|
-
|
|
33
|
-
<a href="#" class="rf-btn rf-btn--primary rf-btn--small">Button</a>
|
|
34
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--small">Button</a>
|
|
35
|
-
<a href="#" class="rf-btn rf-btn--warning rf-btn--small">Button</a>
|
|
36
|
-
<a href="#" class="rf-btn rf-btn--link rf-btn--small">Link</a>
|
|
37
|
-
<a href="#" class="rf-btn rf-btn--dropdown rf-btn--small">Dropdown</a>
|
|
38
|
-
<a href="#" class="rf-btn rf-btn--error rf-btn--small">Error</a>
|
|
39
|
-
</section>
|
|
40
|
-
|
|
41
|
-
<section class="rf-section">
|
|
42
|
-
<h2>BUTTON HELPERS</h2>
|
|
43
|
-
|
|
44
|
-
<a href="#" class="rf-btn rf-btn--primary rf-btn--disabled">Disabled</a>
|
|
45
|
-
<a href="#" class="rf-btn rf-btn--primary rf-btn--errorhover">Error Hover</a>
|
|
46
|
-
<br/><br/><br/>
|
|
47
|
-
|
|
48
|
-
<div class="rf-sg--dark">
|
|
49
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--light">Button</a>
|
|
50
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--large rf-btn--light">Button</a>
|
|
51
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--small rf-btn--light">Button</a>
|
|
52
|
-
<a href="#" class="rf-btn rf-btn--dropdown rf-btn--light">Dropdown</a>
|
|
53
|
-
</div>
|
|
54
|
-
<br/><br/><br/>
|
|
55
|
-
|
|
56
|
-
<h3>Multiline buttons</h3>
|
|
57
|
-
|
|
58
|
-
<a href="#" class="rf-btn rf-btn--primary rf-btn--large rf-btn--multiline">
|
|
59
|
-
Primary
|
|
60
|
-
<small class="rf-btn__text">Extra line of text</small>
|
|
61
|
-
</a>
|
|
62
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--large">
|
|
63
|
-
Secondary
|
|
64
|
-
</a>
|
|
65
|
-
</section>
|
|
66
|
-
|
|
67
|
-
<section class="rf-section">
|
|
68
|
-
|
|
69
|
-
<h2>BUTTON GROUPINGS</h2>
|
|
70
|
-
<br/>
|
|
71
|
-
<h3>Button Group</h3>
|
|
72
|
-
|
|
73
|
-
<div class="rf-btn-group">
|
|
74
|
-
<a href="#" class="rf-btn rf-btn--primary rf-btn--large">Primary</a>
|
|
75
|
-
<a href="#" class="rf-btn rf-btn--warning rf-btn--large">Secondary</a>
|
|
76
|
-
<a href="#" class="rf-btn rf-btn--secondary rf-btn--large">Button</a>
|
|
77
|
-
<a href="#" class="rf-btn rf-btn--dropdown rf-btn--large">Dropdown</a>
|
|
78
|
-
<a href="#" class="rf-btn rf-btn--error rf-btn--large">Error</a>
|
|
79
|
-
</div>
|
|
80
|
-
<br/><br/><br/><br/>
|
|
81
|
-
|
|
82
|
-
<h3>Button Set</h3>
|
|
83
|
-
<div class="rf-col--2">
|
|
84
|
-
<div class="rf-btn-set">
|
|
85
|
-
<a href="#" class="rf-btn rf-btn--primary">Primary</a>
|
|
86
|
-
<a href="#" class="rf-btn rf-btn--secondary">Secondary</a>
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
<br/>
|
|
90
|
-
<div class="rf-col--8">
|
|
91
|
-
<div class="rf-btn-set">
|
|
92
|
-
<a href="#" class="rf-btn rf-btn--primary">Primary</a>
|
|
93
|
-
<a href="#" class="rf-btn rf-btn--secondary">Secondary</a>
|
|
94
|
-
<a href="#" class="rf-btn rf-btn--secondary">Secondary</a>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
<br/>
|
|
98
|
-
<div class="rf-col--1">
|
|
99
|
-
<div class="rf-btn-set">
|
|
100
|
-
<a href="#" class="rf-btn rf-btn--primary">Primary</a>
|
|
101
|
-
<a href="#" class="rf-btn rf-btn--secondary">Secondary</a>
|
|
102
|
-
<a href="#" class="rf-btn rf-btn--secondary">Secondary</a>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
</section>
|
data/app/views/favicon.ico
DELETED
|
Binary file
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
require 'ethosstyles/version'
|
|
2
|
-
require "fileutils"
|
|
3
|
-
require 'thor'
|
|
4
|
-
|
|
5
|
-
module Ethosstyles
|
|
6
|
-
class Generator < Thor
|
|
7
|
-
map ['-v', '--version'] => :version
|
|
8
|
-
|
|
9
|
-
desc 'install', 'Install Ethosstyles into your project'
|
|
10
|
-
method_options :path => :string, :force => :boolean
|
|
11
|
-
def install
|
|
12
|
-
if ethosstyles_files_already_exist? && !options[:force]
|
|
13
|
-
puts "Ethosstyles files already installed, doing nothing."
|
|
14
|
-
else
|
|
15
|
-
install_files
|
|
16
|
-
puts "Ethosstyles files installed to #{install_path}/"
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
desc 'update', 'Update Ethosstyles'
|
|
21
|
-
method_options :path => :string
|
|
22
|
-
def update
|
|
23
|
-
if ethosstyles_files_already_exist?
|
|
24
|
-
remove_ethosstyles_directory
|
|
25
|
-
install_files
|
|
26
|
-
puts "Ethosstyles files updated."
|
|
27
|
-
else
|
|
28
|
-
puts "No existing ethosstyles installation. Doing nothing."
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
desc 'version', 'Show Ethosstyles version'
|
|
33
|
-
def version
|
|
34
|
-
say "Ethosstyles #{Ethosstyles::VERSION}"
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
private
|
|
38
|
-
|
|
39
|
-
def ethosstyles_files_already_exist?
|
|
40
|
-
install_path.exist?
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def install_path
|
|
44
|
-
@install_path ||= if options[:path]
|
|
45
|
-
Pathname.new(File.join(options[:path], 'ethosstyles'))
|
|
46
|
-
else
|
|
47
|
-
Pathname.new('ethosstyles')
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def install_files
|
|
52
|
-
make_install_directory
|
|
53
|
-
copy_in_scss_files
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def remove_ethosstyles_directory
|
|
57
|
-
FileUtils.rm_rf("ethosstyles")
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def make_install_directory
|
|
61
|
-
FileUtils.mkdir_p(install_path)
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def copy_in_scss_files
|
|
65
|
-
FileUtils.cp_r(all_stylesheets, install_path)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def all_stylesheets
|
|
69
|
-
Dir["#{stylesheets_directory}/*"]
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def stylesheets_directory
|
|
73
|
-
File.join(top_level_directory, "app", "assets", "stylesheets")
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def top_level_directory
|
|
77
|
-
File.dirname(File.dirname(File.dirname(__FILE__)))
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|