ethosstyles 0.1.14 → 0.1.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +9 -0
- data/Dockerfile +7 -0
- data/Gemfile +4 -0
- data/Makefile +15 -0
- data/README.md +32 -0
- data/Rakefile +9 -0
- data/app/assets/images/loader.svg +12 -0
- data/app/assets/stylesheets/_ethosstyles.scss +8 -1
- data/app/assets/stylesheets/components/_avatars.scss +59 -0
- data/app/assets/stylesheets/components/_blurbs.scss +14 -40
- data/app/assets/stylesheets/components/_buttons.scss +3 -5
- data/app/assets/stylesheets/components/_checks.scss +5 -7
- data/app/assets/stylesheets/components/_icons.scss +10 -54
- data/app/assets/stylesheets/components/_links.scss +3 -20
- data/app/assets/stylesheets/components/_modal.scss +14 -43
- data/app/assets/stylesheets/components/_pills.scss +0 -46
- data/app/assets/stylesheets/components/_tables.scss +0 -13
- data/app/assets/stylesheets/components/_tooltips.scss +55 -0
- data/app/assets/stylesheets/main.scss +0 -4
- data/app/assets/stylesheets/settings/_variables.scss +0 -25
- data/app/assets/stylesheets/utilities/_animations.scss +0 -22
- data/app/assets/stylesheets/utilities/_mixins.scss +12 -10
- data/app/views/avatars.php +31 -0
- data/app/views/buttons.html +105 -0
- data/app/views/buttons.php +105 -0
- data/app/views/favicon.ico +0 -0
- data/app/views/icons.php +129 -0
- data/app/views/index.php +66 -0
- data/app/views/list-groups.php +318 -0
- data/app/views/modal_partial.php +21 -0
- data/app/views/modals.php +20 -0
- data/app/views/partial_avatars.php +20 -0
- data/app/views/partial_icons.php +16 -0
- data/app/views/partial_tooltips.php +19 -0
- data/app/views/tooltips.php +27 -0
- data/ethosstyles.gemspec +28 -0
- data/lib/ethosstyles.rb +23 -2
- data/lib/ethosstyles/engine.rb +1 -0
- data/lib/ethosstyles/generator.rb +80 -0
- data/lib/ethosstyles/version.rb +1 -1
- metadata +61 -10
- data/app/assets/stylesheets/components/_tooltip.scss +0 -23
@@ -1,66 +1,37 @@
|
|
1
|
-
//
|
2
|
-
// Modals
|
3
|
-
//
|
4
|
-
// Uses Bootstrap React modals
|
5
|
-
//
|
6
|
-
|
7
|
-
//
|
8
|
-
// Hacks for Boostrap
|
9
|
-
// Because you can't add a class to specific elements
|
10
|
-
//
|
11
|
-
|
12
1
|
.rf-modal {
|
13
|
-
|
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;
|
34
|
-
border: $border-default;
|
35
|
-
border-radius: $border-radius;
|
36
|
-
box-shadow: 0 0 50px $metal;
|
37
|
-
color: $slate;
|
38
|
-
font-size: 14px;
|
2
|
+
width: 100%;
|
39
3
|
max-width: 500px;
|
4
|
+
border-radius: $border-radius;
|
5
|
+
border: $border-default;
|
6
|
+
box-shadow: none; // for Bootstrap
|
40
7
|
padding: 50px;
|
41
|
-
width: 100%;
|
42
8
|
}
|
43
9
|
|
44
|
-
.rf-modal__header
|
45
|
-
|
10
|
+
.rf-modal__header {
|
11
|
+
padding: 0; // for Bootstrap
|
46
12
|
text-align: center;
|
13
|
+
border-bottom: 0px; // for Bootstrap
|
47
14
|
}
|
48
15
|
|
49
16
|
.rf-modal__header .rf-icon {
|
50
17
|
margin-bottom: 16px;
|
51
18
|
}
|
52
19
|
|
20
|
+
.rf-modal__footer {
|
21
|
+
padding: 0; // for Bootstrap
|
22
|
+
border-top-width: 0px; // for Bootstrap
|
23
|
+
text-align: center;
|
24
|
+
}
|
25
|
+
|
53
26
|
.rf-modal__body {
|
27
|
+
padding: 30px 0;
|
54
28
|
color: $slate;
|
55
29
|
font-size: 14px;
|
56
30
|
line-height: 20px;
|
57
|
-
padding: 30px 0;
|
58
31
|
}
|
59
32
|
|
60
33
|
|
61
|
-
//
|
62
34
|
// Types
|
63
|
-
//
|
64
35
|
|
65
36
|
.rf-modal--info {
|
66
37
|
.rf-modal__header .rf-icon {
|
@@ -2,16 +2,6 @@
|
|
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
|
-
|
15
5
|
.rf-pill {
|
16
6
|
border-radius: 20px;
|
17
7
|
border-style: solid;
|
@@ -45,43 +35,7 @@
|
|
45
35
|
color: $green;
|
46
36
|
}
|
47
37
|
|
48
|
-
.rf-pill--warning {
|
49
|
-
border-color: $gold;
|
50
|
-
color: $gold;
|
51
|
-
}
|
52
|
-
|
53
38
|
.rf-pill--minor {
|
54
39
|
border-color: $stormy;
|
55
40
|
color: $stormy;
|
56
41
|
}
|
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
|
-
}
|
@@ -102,16 +102,3 @@ tr:first-of-type > .rf-table__td {
|
|
102
102
|
.rf-table__body {
|
103
103
|
@include round-table-corners();
|
104
104
|
}
|
105
|
-
|
106
|
-
|
107
|
-
//
|
108
|
-
// Row status classes
|
109
|
-
//
|
110
|
-
|
111
|
-
.rf-table__row--error {
|
112
|
-
border-left: 6px solid $red;
|
113
|
-
}
|
114
|
-
|
115
|
-
.rf-table__row--success {
|
116
|
-
border-left: 6px solid $green;
|
117
|
-
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
//
|
2
|
+
// Tooltips
|
3
|
+
//
|
4
|
+
|
5
|
+
.rf-tooltip + .tooltip {
|
6
|
+
line-height: 1.1em;
|
7
|
+
|
8
|
+
&.left {
|
9
|
+
width: 78px;
|
10
|
+
margin-left: -10px;
|
11
|
+
}
|
12
|
+
|
13
|
+
&.right {
|
14
|
+
width: 78px;
|
15
|
+
margin-left: +10px;
|
16
|
+
}
|
17
|
+
|
18
|
+
.tooltip-inner {
|
19
|
+
padding: 4px 8px;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.rf-tooltip--danger + .tooltip {
|
24
|
+
.tooltip-inner {
|
25
|
+
background-color: $red;
|
26
|
+
}
|
27
|
+
|
28
|
+
&.left .tooltip-arrow { border-left-color: $red; }
|
29
|
+
&.top .tooltip-arrow { border-top-color: $red; }
|
30
|
+
&.right .tooltip-arrow { border-right-color: $red; }
|
31
|
+
&.bottom .tooltip-arrow { border-bottom-color: $red; }
|
32
|
+
}
|
33
|
+
|
34
|
+
.rf-tooltip--pending + .tooltip {
|
35
|
+
.tooltip-inner {
|
36
|
+
background-color: $lemon;
|
37
|
+
color: $charcoal;
|
38
|
+
}
|
39
|
+
|
40
|
+
&.left .tooltip-arrow { border-left-color: $lemon; }
|
41
|
+
&.top .tooltip-arrow { border-top-color: $lemon; }
|
42
|
+
&.right .tooltip-arrow { border-right-color: $lemon; }
|
43
|
+
&.bottom .tooltip-arrow { border-bottom-color: $lemon; }
|
44
|
+
}
|
45
|
+
|
46
|
+
.rf-tooltip--valid + .tooltip {
|
47
|
+
.tooltip-inner {
|
48
|
+
background-color: $green;
|
49
|
+
}
|
50
|
+
|
51
|
+
&.left .tooltip-arrow { border-left-color: $green; }
|
52
|
+
&.top .tooltip-arrow { border-top-color: $green; }
|
53
|
+
&.right .tooltip-arrow { border-right-color: $green; }
|
54
|
+
&.bottom .tooltip-arrow { border-bottom-color: $green; }
|
55
|
+
}
|
@@ -1,14 +1,12 @@
|
|
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/
|
5
4
|
//
|
6
5
|
|
7
6
|
$white: #ffffff;
|
8
7
|
$black: #000000;
|
9
8
|
|
10
9
|
$charcoal: #191919;
|
11
|
-
$metal: #555555;
|
12
10
|
$slate: #777777;
|
13
11
|
$stormy: #c0c0c0;
|
14
12
|
$mercury: #e8e8e8;
|
@@ -57,26 +55,3 @@ $font-icon-f5: "Font Awesome 5 Free"; // solid
|
|
57
55
|
$font-icon-f5-r: "Font Awesome 5 Free Regular"; // regular
|
58
56
|
$font-icon-f5-b: 'Font Awesome 5 Brands'; // brands
|
59
57
|
$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
|
-
}
|
@@ -11,25 +11,3 @@
|
|
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
|
-
}
|
@@ -91,11 +91,15 @@
|
|
91
91
|
@mixin trigger_arrow ( $display: block, $arrow-pos: $list-padding ) {
|
92
92
|
&[aria-expanded='false']:after,
|
93
93
|
&[aria-expanded='true']:after {
|
94
|
-
|
94
|
+
color: inherit;
|
95
|
+
font-family: 'octicons';
|
95
96
|
font-size: 14px;
|
96
|
-
font-weight: 900;
|
97
97
|
vertical-align: middle;
|
98
98
|
|
99
|
+
@include hocus() {
|
100
|
+
color: inherit;
|
101
|
+
}
|
102
|
+
|
99
103
|
@if ($display==block) {
|
100
104
|
display: block;
|
101
105
|
position: absolute;
|
@@ -112,15 +116,14 @@
|
|
112
116
|
}
|
113
117
|
|
114
118
|
&[aria-expanded='false']:after {
|
115
|
-
content: '\
|
119
|
+
content: '\f05a'; // triangle right
|
116
120
|
}
|
117
121
|
|
118
122
|
&[aria-expanded='true']:after {
|
119
|
-
content: '\
|
123
|
+
content: '\f05b'; // triangle down
|
120
124
|
}
|
121
125
|
}
|
122
126
|
|
123
|
-
|
124
127
|
//
|
125
128
|
// INPUT HANDLE
|
126
129
|
// Used for toggles and ranges
|
@@ -154,9 +157,8 @@
|
|
154
157
|
&[aria-expanded='false']:after,
|
155
158
|
&[aria-expanded='true']:after {
|
156
159
|
color: inherit;
|
157
|
-
font-family:
|
160
|
+
font-family: 'octicons';
|
158
161
|
font-size: 14px;
|
159
|
-
font-weight: 900;
|
160
162
|
vertical-align: middle;
|
161
163
|
height: $arrow-height;
|
162
164
|
width: $arrow-width;
|
@@ -170,11 +172,11 @@
|
|
170
172
|
}
|
171
173
|
}
|
172
174
|
|
173
|
-
|
174
|
-
content: '\
|
175
|
+
&[aria-expanded='false']:after {
|
176
|
+
content: '\f05a'; // triangle right
|
175
177
|
}
|
176
178
|
|
177
179
|
&[aria-expanded='true']:after {
|
178
|
-
content: '\
|
180
|
+
content: '\f05b'; // triangle down
|
179
181
|
}
|
180
182
|
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<section class="rf-section">
|
2
|
+
|
3
|
+
<h3>Basic avatars</h3>
|
4
|
+
<?php
|
5
|
+
$avatar_nametag = "";
|
6
|
+
$avatar_overlay = "";
|
7
|
+
include 'partial_avatars.php';
|
8
|
+
?>
|
9
|
+
|
10
|
+
<h3>Avatars with nametags</h3>
|
11
|
+
<?php
|
12
|
+
$avatar_nametag = "Devyn Elena Krevat";
|
13
|
+
$avatar_overlay = "";
|
14
|
+
include 'partial_avatars.php';
|
15
|
+
?>
|
16
|
+
|
17
|
+
<h3>Avatars with success overlay</h3>
|
18
|
+
<?php
|
19
|
+
$avatar_nametag = "";
|
20
|
+
$avatar_overlay = "success";
|
21
|
+
include 'partial_avatars.php';
|
22
|
+
?>
|
23
|
+
|
24
|
+
<h3>Avatars with failure overlay</h3>
|
25
|
+
<?php
|
26
|
+
$avatar_nametag = "";
|
27
|
+
$avatar_overlay = "failure";
|
28
|
+
include 'partial_avatars.php';
|
29
|
+
?>
|
30
|
+
|
31
|
+
</section>
|
@@ -0,0 +1,105 @@
|
|
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>
|