ethosstyles 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b9eae5070ab2dd1d33c5a2e24c11638a571f3b8
4
- data.tar.gz: 8899bd417a7e9bd64679e07f02ce42d01bff6831
3
+ metadata.gz: 97322bc835aeea512506b75f23efcfc19cb943d1
4
+ data.tar.gz: 5887e3d20d60084eaa45a528b7abe46fdc37b774
5
5
  SHA512:
6
- metadata.gz: f3b759dc96cc77ed55b4d5554c39d822145141162b43213cfc81ce50aec8c12d12649f6046515c87609e5b9b0abd08c07a389a62c88f32ef03d96a78828268d7
7
- data.tar.gz: f966f32fe03f697ab9b8daceaecb23d8e6f3740dedc63e10286f2f11ec15293f1e451e75d8e15faa0ab49e9c75494cc996cfa188c0d540af3f4e25ae56a49f80
6
+ metadata.gz: 1cf57ddc01dbc0f47cfde7736be8d96cc81c2e1b5e0dbca33c0aed8ca0ff00b2f58194b68663b8e44f811c59224740b8672d579b0e9e941a438a14fd4080edfa
7
+ data.tar.gz: 453ddda342a1e9447363520cc50f15d24eed774545b4549572253cc3d1ee199119ff7329c28029ccb5c18608af7642b3f6a59eb008ef16326a1da9f591e3eef6
data/README.md CHANGED
@@ -4,14 +4,14 @@ These are Ethos's main styles.
4
4
 
5
5
  Note: These are foundational styles, and should be edited sparingly. You can still add styles to Moonbeam and OrCA in the `stylesheets` directories.
6
6
 
7
- ## Edit Along with Moonbeam
8
- To develop this gem locally on Moonbeam:
7
+ ## To edit gem
8
+ To develop this gem locally:
9
9
 
10
10
  1. Clone this repo to your computer.
11
11
 
12
- 2. Replace Github path with file path in Gemfile:
12
+ 2. Replace gem name with gem file path in Gemfile:
13
13
 
14
- # gem "ethosstyles", :git => "https://github.com/adobe-platform/ethosstyles.git"
14
+ # gem "ethosstyles"
15
15
  gem "ethosstyles", :path => "/usr/ethosstyles"
16
16
 
17
17
  3. Add directory to `docker-compose.yml` under volumes within web:
@@ -21,3 +21,12 @@ To develop this gem locally on Moonbeam:
21
21
  volumes:
22
22
  ...
23
23
  - ../../ethosstyles:/usr/ethosstyles
24
+
25
+ 4. You may need to rebuild moonbeam.
26
+
27
+ flotilla rebuild moonbeam
28
+
29
+
30
+ ## Process
31
+
32
+ **Review any changes on Moonbeam and OrCA before pushing to [prod](https://rubygems.org/gems/ethosstyles).**
@@ -1 +1,20 @@
1
+ @import 'settings/test';
1
2
  @import 'settings/variables';
3
+
4
+ @import 'utilities/mixins';
5
+ @import 'utilities/utilities';
6
+ @import 'utilities/shame';
7
+
8
+ @import 'components/base';
9
+ @import 'components/buttons';
10
+ @import 'components/checks';
11
+ @import 'components/forms';
12
+ @import 'components/grid';
13
+ @import 'components/links';
14
+ @import 'components/lists';
15
+ @import 'components/logs';
16
+ @import 'components/pills';
17
+ @import 'components/progress';
18
+ @import 'components/tables';
19
+ @import 'components/timestamp';
20
+ @import 'components/well';
@@ -0,0 +1,37 @@
1
+ %h3 {
2
+ @include remove_bootstrap_styles();
3
+ color: $charcoal;
4
+ font-size: 14px;
5
+ font-weight: bold;
6
+ line-height: 18px;
7
+ }
8
+
9
+ .rf-h3 {
10
+ @extend %h3;
11
+ }
12
+
13
+ %h5 {
14
+ color: $slate;
15
+ font-family: acumin-pro, semibold, sans-serif;
16
+ font-size: 10px;
17
+ letter-spacing: 0.78px;
18
+ padding-top: 0px;
19
+ padding-bottom: 5px;
20
+ text-align: left;
21
+ }
22
+
23
+ %p {
24
+ color: $slate;
25
+ font-size: 14px;
26
+ line-height: 20px;
27
+ }
28
+
29
+ .rf-p--lead,
30
+ %rf-p--lead {
31
+ font-size: 16px;
32
+ line-height: 22px;
33
+ }
34
+
35
+ .rf-ul--lead {
36
+ @extend %rf-p--lead;
37
+ }
@@ -0,0 +1,96 @@
1
+ //
2
+ // Buttons
3
+ //
4
+
5
+ .rf-btn,
6
+ %rf-btn {
7
+ border: 1px solid transparent;
8
+ border-radius: $border-radius;
9
+ cursor: pointer;
10
+ display: inline-block;
11
+ font-weight: bold;
12
+ height: 32px;
13
+ line-height: 30px;
14
+ padding: 0 15px;
15
+ text-align: center;
16
+ text-decoration: none;
17
+ touch-action: manipulation;
18
+ vertical-align: middle;
19
+ white-space: nowrap;
20
+ user-select: none;
21
+
22
+ @include hocus {
23
+ outline: none;
24
+ }
25
+ }
26
+
27
+ .rf-btn--primary,
28
+ %rf-btn--primary {
29
+ background-color: $blue-bright;
30
+ border-color: $blue-bright;
31
+ color: $white;
32
+
33
+ @include hocus {
34
+ background-color: shade($blue-bright, 20%);
35
+ border-color: shade($blue-bright, 20%);
36
+ }
37
+
38
+ &:active {
39
+ background-color: shade($blue-bright, 40%);
40
+ border-color: shade($blue-bright, 40%);
41
+ }
42
+ }
43
+
44
+ .rf-btn--secondary,
45
+ %rf-btn--secondary {
46
+ background-color: $white;
47
+ border-color: $cloudy;
48
+ color: $charcoal;
49
+
50
+ @include hocus {
51
+ background-color: shade($white, 4%);
52
+ border-color: shade($cloudy, 4%);
53
+ color: $charcoal;
54
+ text-decoration: none;
55
+ }
56
+
57
+ &:active {
58
+ background-color: shade($white, 12%);
59
+ border-color: shade($cloudy, 12%);
60
+ }
61
+ }
62
+
63
+ .rf-btn--small {
64
+ min-width: 100px;
65
+ }
66
+
67
+ .rf-btn--large,
68
+ %rf-btn--large {
69
+ font-size: 18px;
70
+ height: 44px;
71
+ min-width: 90px;
72
+ }
73
+
74
+ .rf-btn--xs {
75
+ font-size: 11px;
76
+ height: 24px;
77
+ line-height: 14px;
78
+ padding: 0px 6px;
79
+ }
80
+
81
+
82
+ // Side by side
83
+
84
+ .rf-btn + .rf-btn {
85
+ margin-left: 4%;
86
+ }
87
+
88
+
89
+ // Disabled
90
+
91
+ .rf-btn--disabled,
92
+ .rf-btn[disabled] {
93
+ cursor: not-allowed;
94
+ opacity: .2;
95
+ pointer-events: none;
96
+ }
@@ -0,0 +1,75 @@
1
+ // Checkbox HTML structure:
2
+ // <div class="rf-check">
3
+ // <label class="rf-check__container">
4
+ // <input class="rf-check__input" type="checkbox" name=“name” id=“id” value="true" checked="checked">
5
+ // <span class="rf-check__label">Checkbox Label</span>
6
+ // </label>
7
+ // </div>
8
+
9
+ //
10
+ // Styled checkboxes
11
+ //
12
+
13
+ .rf-check {
14
+ display: inline-block;
15
+ font-size: 14px;
16
+ line-height: 14px;
17
+ margin-bottom: 0;
18
+ min-height: auto;
19
+ padding-top: 0;
20
+ vertical-align: middle;
21
+ }
22
+
23
+ .rf-check__container {
24
+ cursor: pointer;
25
+ margin-bottom: 0;
26
+ margin-left: 22px;
27
+ padding-left: 0;
28
+ position: relative;
29
+ }
30
+
31
+ .rf-check__input {
32
+ display: none;
33
+ }
34
+
35
+ .rf-check__label {
36
+ display: inline-block;
37
+ font-size: 14px;
38
+ line-height: 14px;
39
+ text-indent: -22px;
40
+ }
41
+
42
+ .rf-check__label:before {
43
+ border: 1px solid $stormy;
44
+ border-radius: $border-radius;
45
+ color: $blue-bright;
46
+ display: inline-block;
47
+ font-family: FontAwesome;
48
+ font-size: 9px;
49
+ height: 14px;
50
+ line-height: 1.4em;
51
+ margin-right: 8px;
52
+ margin-top: -2px;
53
+ text-align: center;
54
+ text-indent: 0;
55
+ width: 14px;
56
+ vertical-align: middle;
57
+ }
58
+
59
+ .rf-check__input + .rf-check__label:before {
60
+ content: " "; // empty
61
+ }
62
+
63
+ .rf-check__input:checked + .rf-check__label:before {
64
+ content: "\f00c"; // check
65
+ }
66
+
67
+
68
+ //
69
+ // Disabled (faded out)
70
+ //
71
+
72
+ .rf-check--disabled {
73
+ cursor: default;
74
+ opacity: .4;
75
+ }
@@ -0,0 +1,4 @@
1
+ .rf-form-group {
2
+ display: block;
3
+ margin-bottom: 6px;
4
+ }
@@ -0,0 +1,58 @@
1
+ .rf-row {
2
+ align-items: center;
3
+ display: flex;
4
+ }
5
+
6
+ .rf-col--1 {
7
+ width: 8.333333%;
8
+ }
9
+
10
+ .rf-col--2 {
11
+ width: 16.666667%;
12
+ }
13
+
14
+ .rf-col--3 {
15
+ width: 25%;
16
+ }
17
+
18
+ .rf-col--4 {
19
+ width: 33.333333%;
20
+ }
21
+
22
+ .rf-col--5 {
23
+ width: 41.666667%;
24
+ }
25
+
26
+ .rf-col--6 {
27
+ width: 50%;
28
+ }
29
+
30
+ .rf-col--7 {
31
+ width: 58.333333%;
32
+ }
33
+
34
+ .rf-col--8 {
35
+ width: 66.666667%;
36
+ }
37
+
38
+ .rf-col--9 {
39
+ width: 75%;
40
+ }
41
+
42
+ .rf-col--10 {
43
+ width: 83.333333%;
44
+ }
45
+
46
+ .rf-col--11 {
47
+ width: 91.666667%;
48
+ }
49
+
50
+ .rf-col--12 {
51
+ width: 100%;
52
+ }
53
+
54
+ .rf-col--actions {
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: flex-end;
58
+ }
@@ -0,0 +1,48 @@
1
+ //
2
+ // Links
3
+ //
4
+
5
+ .rf-infolink {
6
+ color: $slate;
7
+ cursor: pointer;
8
+ font-size: 12px;
9
+
10
+ &:after {
11
+ display: inline-block;
12
+ font-family: 'Glyphicons Halflings';
13
+ font-size: 9px;
14
+ margin-left: px;
15
+ }
16
+
17
+ &:hover {
18
+ color: $charcoal;
19
+ }
20
+ }
21
+
22
+ .rf-infolink + .rf-infolink {
23
+ margin-left: 14px;
24
+ }
25
+
26
+ .rf-infolink--external:after {
27
+ content: '\e164';
28
+ }
29
+
30
+ .rf-infolink--external:before {
31
+ content: 'Open ';
32
+ }
33
+
34
+ .rf-infolink--trigger[aria-expanded='false']:before {
35
+ content: 'Expand';
36
+ }
37
+
38
+ .rf-infolink--trigger[aria-expanded='true']:before {
39
+ content: 'Hide';
40
+ }
41
+
42
+ .rf-infolink--trigger[aria-expanded='false']:after {
43
+ content: '\002b';
44
+ }
45
+
46
+ .rf-infolink--trigger[aria-expanded='true']:after {
47
+ content: '\2212';
48
+ }
@@ -0,0 +1,95 @@
1
+ //
2
+ // STRUCTURE
3
+ // todo: move to documentation
4
+ //
5
+ //<ul class="rf-list-group">
6
+ // <li class="rf-list-group__item rf-list-group__item--[status]">
7
+ // <h3 class="rf-list-group__title">
8
+ // This is the title of the item with <a href="#" class="rf-list-group__titlelink">a link</a>
9
+ // </h3>
10
+ // <div class="rf-list-group__info">
11
+ // This is some info about the item, like links and timestamp
12
+ // </div>
13
+ // </li>
14
+ //</ul>
15
+ //
16
+
17
+
18
+ //
19
+ // LIST ITEM
20
+ //
21
+
22
+ .rf-list-group {
23
+ list-style-type: none;
24
+ margin: 0;
25
+ padding: 0;
26
+ }
27
+
28
+ .rf-list-group__item {
29
+ border: $border-default;
30
+ padding: $list-padding;
31
+ margin-top: -1px;
32
+ }
33
+
34
+ .rf-list-group__item:first-child {
35
+ border-top-left-radius: $border-radius;
36
+ border-top-right-radius: $border-radius;
37
+ }
38
+ .rf-list-group__item:last-child {
39
+ border-bottom-right-radius: $border-radius;
40
+ border-bottom-left-radius: $border-radius;
41
+ }
42
+
43
+ .rf-list-group__title {
44
+ @include truncate;
45
+ @extend %h3;
46
+
47
+ color: $charcoal;
48
+ font-size: 14px;
49
+ line-height: 18px;
50
+ position: relative;
51
+ }
52
+
53
+ .rf-list-group__titlelink {
54
+ color: $charcoal;
55
+
56
+ @include hocus() {
57
+ color: $black;
58
+ text-decoration: none;
59
+ }
60
+ }
61
+
62
+ .rf-list-group__info {
63
+ color: $slate;
64
+ display: flex;
65
+ font-size: 13px;
66
+ overflow: hidden;
67
+ }
68
+
69
+ .rf-list-group__info--full {
70
+ width: 100%;
71
+ }
72
+
73
+
74
+ //
75
+ // LIST ITEM - STATUSES
76
+ //
77
+
78
+ .rf-list-group__item--danger,
79
+ .rf-list-group__item--failure,
80
+ .rf-list-group__item--aborted {
81
+ border-left: 6px solid $red;
82
+ }
83
+
84
+ .rf-list-group__item--pending {
85
+ border-left: 6px solid $lemon;
86
+ }
87
+
88
+ .rf-list-group__item--started,
89
+ .rf-list-group__item--ongoing {
90
+ border-left: 6px solid $blue-bright;
91
+ }
92
+
93
+ .rf-list-group__item--success {
94
+ border-left: 6px solid $green;
95
+ }
@@ -0,0 +1,40 @@
1
+ .rf-logs {
2
+ background-color: $white;
3
+ border: 1px solid $mercury;
4
+ max-height: 500px;
5
+ overflow: hidden;
6
+ padding: 0;
7
+ position: relative;
8
+ }
9
+
10
+ .rf-logs__btn {
11
+ position: absolute;
12
+ bottom: 12px;
13
+ right: 12px;
14
+ z-index: 4;
15
+ display: none;
16
+ }
17
+
18
+ .rf-logs__pre {
19
+ background-color: transparent;
20
+ border-radius: $border-radius;
21
+ border-width: 0;
22
+ max-height: 400px;
23
+ height: auto;
24
+ margin-bottom: 0;
25
+ overflow: scroll;
26
+ padding: 15px;
27
+ position: relative;
28
+ }
29
+
30
+
31
+ // This is for the JS
32
+
33
+ .rf-logs--nomax {
34
+ max-height: none!important;
35
+
36
+ .rf-project-logs__pre {
37
+ height: 100%;
38
+ max-height: none!important;
39
+ }
40
+ }
@@ -0,0 +1,41 @@
1
+ //
2
+ // Pills
3
+ //
4
+
5
+ .rf-pill {
6
+ border-radius: 20px;
7
+ border-style: solid;
8
+ border-width: 2px;
9
+ font-size: 10px;
10
+ font-weight: 600;
11
+ height: 18px;
12
+ line-height: 14px;
13
+ padding: 0 6px;
14
+ text-transform: uppercase;
15
+ white-space: nowrap;
16
+ }
17
+
18
+ .rf-pill--neutral {
19
+ border-color: $blue-bright;
20
+ color: $blue-bright;
21
+ }
22
+
23
+ .rf-pill--neutral--secondary {
24
+ border-color: $periwinkle;
25
+ color: $periwinkle;
26
+ }
27
+
28
+ .rf-pill--fail {
29
+ border-color: $red;
30
+ color: $red;
31
+ }
32
+
33
+ .rf-pill--success {
34
+ border-color: $green;
35
+ color: $green;
36
+ }
37
+
38
+ .rf-pill--minor {
39
+ border-color: $stormy;
40
+ color: $stormy;
41
+ }
@@ -0,0 +1,93 @@
1
+ @mixin bg-stripes {
2
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
3
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
4
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5
+ -webkit-background-size: 40px 40px;
6
+ background-size: 40px 40px;
7
+ }
8
+
9
+ @keyframes rf-progress-bar-stripes {
10
+ from {
11
+ background-position: 40px 0;
12
+ }
13
+ to {
14
+ background-position: 0 0;
15
+ }
16
+ }
17
+
18
+ //
19
+ // Progress bar
20
+ //
21
+
22
+ .rf-progress {
23
+ border: 1px solid $mercury;
24
+ border-radius: 14px;
25
+ height: 19px;
26
+ overflow: hidden;
27
+ position: relative;
28
+ }
29
+
30
+ .rf-progress__fill {
31
+ border-radius: 14px;
32
+ color: $white;
33
+ display: flex;
34
+ font-size: 12px;
35
+ float: left;
36
+ height: 100%;
37
+ justify-content: space-between;
38
+ line-height: 16px;
39
+ text-align: left;
40
+ padding: 0 10px;
41
+ width: 0;
42
+ }
43
+
44
+ .rf-progress__text {
45
+ letter-spacing: 1px;
46
+ }
47
+
48
+ .rf-progress__timestamp {
49
+ position: absolute;
50
+ right: 6px;
51
+ }
52
+
53
+ .rf-progress__fill--unstarted {
54
+ @include bg-stripes;
55
+ background-color: $stormy;
56
+ width: 100%;
57
+ }
58
+
59
+ .rf-progress__fill--triggered {
60
+ @include bg-stripes;
61
+ animation: rf-progress-bar-stripes 2s linear infinite;
62
+ background-color: $blue-bright;
63
+ width: 30%;
64
+ }
65
+
66
+ .rf-progress__fill--building {
67
+ @include bg-stripes;
68
+ animation: rf-progress-bar-stripes 2s linear infinite;
69
+ background-color: $blue-bright;
70
+ width: 60%;
71
+ }
72
+
73
+ .rf-progress__fill--finished,
74
+ .rf-progress__fill--approved {
75
+ background-color: $green;
76
+ width: 100%;
77
+ }
78
+
79
+ .rf-progress__fill--failed {
80
+ background-color: $red;
81
+ width: 100%;
82
+ }
83
+
84
+
85
+ // White text for dark bgs
86
+
87
+ .rf-progress__fill--finished,
88
+ .rf-progress__fill--approved,
89
+ .rf-progress__fill--failed {
90
+ .rf-progress__timestamp {
91
+ color: $white;
92
+ }
93
+ }
@@ -0,0 +1,66 @@
1
+ //
2
+ // Tables
3
+ //
4
+
5
+ $table-border-default: solid 1px $mercury;
6
+ $input-border-default: solid 1px $stormy;
7
+ $table-td-padding: 14px;
8
+
9
+ .rf-table {
10
+ width: 100%;
11
+ border-collapse: separate; // Necessary to round corners
12
+ table-layout: fixed;
13
+ }
14
+
15
+ .rf-table__col--centered {
16
+ text-align: center;
17
+
18
+ .form-control {
19
+ text-align: center;
20
+ }
21
+ }
22
+ .rf-table__col--right { text-align: right; }
23
+
24
+
25
+ // Padding and borders for table cells
26
+
27
+ .rf-table__td,
28
+ .rf-table__th {
29
+ @include word-wrap;
30
+ }
31
+
32
+ .rf-table__td {
33
+ border-bottom: $table-border-default;
34
+ font-size: 13px;
35
+ padding: $table-td-padding;
36
+ vertical-align: middle;
37
+ }
38
+
39
+ .rf-table__th {
40
+ @extend %h5;
41
+ padding: 0px $table-td-padding 5px;
42
+ }
43
+
44
+ .rf-table__td--strong {
45
+ color: $charcoal;
46
+ font-weight: bold;
47
+ }
48
+
49
+
50
+ // Draws table borders
51
+ tr:first-of-type > .rf-table__td {
52
+ border-top: $table-border-default;
53
+ }
54
+
55
+ .rf-table__row > td:first-of-type {
56
+ border-left: $table-border-default;
57
+ }
58
+
59
+ .rf-table__row > td:last-of-type {
60
+ border-right: $table-border-default;
61
+ }
62
+
63
+ // Rounds corners of the table body
64
+ .rf-table__body {
65
+ @include round-table-corners();
66
+ }
@@ -0,0 +1,10 @@
1
+ //
2
+ // Timestamp
3
+ //
4
+
5
+ .rf-timestamp {
6
+ color: $slate;
7
+ font-size: 12px;
8
+ font-style: italic;
9
+ line-height: 14px;
10
+ }
@@ -0,0 +1,21 @@
1
+ //
2
+ // WELLS
3
+ //
4
+
5
+ .rf-well {
6
+ border: 1px solid $mercury;
7
+ height: auto;
8
+ border-radius: $border-radius;
9
+ padding: $list-padding;
10
+ }
11
+
12
+ .rf-well__headline {
13
+ color: $charcoal;
14
+ font-size: 15px;
15
+ font-weight: bold;
16
+ margin: 4px 14px -10px 14px;
17
+ }
18
+
19
+ .rf-well__list {
20
+ margin: 20px;
21
+ }
@@ -34,3 +34,5 @@ $powder: #f8fbff;
34
34
  //
35
35
 
36
36
  $border-radius: 3px;
37
+ $list-padding: 14px;
38
+ $border-default: solid 1px $mercury;
@@ -0,0 +1,75 @@
1
+ // Generate `:hover` and `:focus` styles in one go.
2
+ @mixin hocus() {
3
+ &:hover,
4
+ &:focus {
5
+ @content;
6
+ }
7
+ }
8
+
9
+ // Hanldes placeholder text across browsers in one line
10
+ //
11
+ // usage, NOTE: input { is important otherwise
12
+ // an errant space is generated before :
13
+ //
14
+ // input { @include placeholder {
15
+ // font-style: italic;
16
+ // }}
17
+ @mixin placeholder {
18
+ &::-webkit-input-placeholder {@content}
19
+ &::-moz-placeholder {@content}
20
+ &:-moz-placeholder {@content}
21
+ &:-ms-input-placeholder {@content}
22
+ }
23
+
24
+
25
+ // Round the corners of a table by a specified radius
26
+ // NOTE: default is to use $border-radius. Depends
27
+ // on borders being present, and made by td's
28
+ // Also needs border-collapese: seperate
29
+ //
30
+ // (outer type or class) {
31
+ // Simple usage
32
+ // @include round-table-corners(<value>);
33
+ //
34
+ // Detailed Usage
35
+ // @include round-table-corners(<value>);
36
+ // }
37
+ @mixin round-table-corners($radius: $border-radius) {
38
+ tr:first-of-type td:first-of-type {
39
+ border-top-left-radius: $border-radius;
40
+ }
41
+
42
+ tr:first-of-type td:last-of-type {
43
+ border-top-right-radius: $border-radius;
44
+ }
45
+
46
+ tr:last-of-type td:first-of-type {
47
+ border-bottom-left-radius: $border-radius;
48
+ }
49
+
50
+ tr:last-of-type td:last-of-type {
51
+ border-bottom-right-radius: $border-radius;
52
+ }
53
+ }
54
+
55
+ // Simple truncation mixin to cut off text using an ellipsis after a certain
56
+ // width.
57
+ //
58
+ // .simple-usage {
59
+ // @include truncate();
60
+ // }
61
+ //
62
+ // .detailed-usage {
63
+ // @include truncate(<value>);
64
+ // }
65
+ @mixin truncate($width: 100%) {
66
+ max-width: $width;
67
+ white-space:nowrap;
68
+ overflow: hidden;
69
+ text-overflow: ellipsis;
70
+ }
71
+
72
+ @mixin word-wrap {
73
+ -ms-word-break: break-all;
74
+ overflow-wrap: break-word;
75
+ }
@@ -0,0 +1,9 @@
1
+ //
2
+ // Bootstrap hacks
3
+ // todo: remove after refactoring
4
+ //
5
+
6
+ @mixin remove_bootstrap_styles {
7
+ margin: 0;
8
+ padding: 0;
9
+ }
@@ -0,0 +1,74 @@
1
+ .rf-u-textleft {
2
+ text-align: left;
3
+ }
4
+
5
+ .rf-u-textright {
6
+ text-align: right;
7
+ }
8
+
9
+ .rf-u-textcenter {
10
+ text-align: center;
11
+ }
12
+
13
+ .rf-u-pullleft {
14
+ float: left;
15
+ }
16
+
17
+ .rf-u-pullright {
18
+ float: right;
19
+ }
20
+
21
+ .rf-u-block {
22
+ display: block !important;
23
+ }
24
+
25
+ .rf-u-inline {
26
+ display: inline-block !important;
27
+ }
28
+
29
+ .rf-u-success {
30
+ color: $green !important;
31
+ }
32
+
33
+ .rf-u-fail {
34
+ color: $red !important;
35
+ }
36
+
37
+ .rf-u-caps {
38
+ text-transform: uppercase;
39
+ }
40
+
41
+ .rf-u-truncate {
42
+ @include truncate;
43
+ }
44
+
45
+ .rf-u-text-minor {
46
+ color: $stormy;
47
+ font-size: inherit;
48
+ font-style: italic;
49
+ font-weight: normal;
50
+ }
51
+
52
+
53
+ //
54
+ // Spacing
55
+ // based off of Bootstrap naming https://v4-alpha.getbootstrap.com/utilities/spacing/#horizontal-centering
56
+ //
57
+
58
+ .rf-u-m-y {
59
+ margin-bottom: 10px;
60
+ margin-top: 10px;
61
+ }
62
+
63
+ .rf-u-m-t {
64
+ margin-top: 10px;
65
+ }
66
+
67
+ .rf-u-p-x {
68
+ padding-left: 10px;
69
+ padding-right: 10px;
70
+ }
71
+
72
+ .rf-u-p-r {
73
+ padding-right: 10px;
74
+ }
data/ethosstyles.gemspec CHANGED
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.files = `git ls-files`.split("\n")
18
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+
20
21
  s.require_paths = ["lib"]
21
22
 
22
23
  s.add_dependency('sass', '~> 3.2')
@@ -1,3 +1,3 @@
1
1
  module Ethosstyles
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.2"
3
3
  end
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.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-26 00:00:00.000000000 Z
11
+ date: 2017-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -78,8 +78,24 @@ files:
78
78
  - README.md
79
79
  - Rakefile
80
80
  - app/assets/stylesheets/_ethosstyles.scss
81
+ - app/assets/stylesheets/components/base.scss
82
+ - app/assets/stylesheets/components/buttons.scss
83
+ - app/assets/stylesheets/components/checks.scss
84
+ - app/assets/stylesheets/components/forms.scss
85
+ - app/assets/stylesheets/components/grid.scss
86
+ - app/assets/stylesheets/components/links.scss
87
+ - app/assets/stylesheets/components/lists.scss
88
+ - app/assets/stylesheets/components/logs.scss
89
+ - app/assets/stylesheets/components/pills.scss
90
+ - app/assets/stylesheets/components/progress.scss
91
+ - app/assets/stylesheets/components/tables.scss
92
+ - app/assets/stylesheets/components/timestamp.scss
93
+ - app/assets/stylesheets/components/well.scss
81
94
  - app/assets/stylesheets/settings/_test.scss
82
95
  - app/assets/stylesheets/settings/_variables.scss
96
+ - app/assets/stylesheets/utilities/mixins.scss
97
+ - app/assets/stylesheets/utilities/shame.scss
98
+ - app/assets/stylesheets/utilities/utilities.scss
83
99
  - ethosstyles.gemspec
84
100
  - lib/ethosstyles.rb
85
101
  - lib/ethosstyles/engine.rb