ethosstyles 0.1.14 → 0.1.15
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/.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>
|