dvl-core 0.0.1
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/.gitignore +4 -0
- data/.hound.yml +5 -0
- data/.ruby-version +1 -0
- data/Gemfile +2 -0
- data/LICENSE.md +20 -0
- data/README.md +35 -0
- data/circle.yml +7 -0
- data/dvl-core.gemspec +30 -0
- data/lib/dvl/core.rb +11 -0
- data/lib/dvl/core/version.rb +5 -0
- data/preview/app.rb +252 -0
- data/script/bootstrap +45 -0
- data/script/cibuild +3 -0
- data/script/preview +3 -0
- data/script/release +38 -0
- data/spec/dvl_core_spec.rb +30 -0
- data/vendor/assets/javascripts/dvl/core.js +4 -0
- data/vendor/assets/javascripts/dvl/core/buttons.js +116 -0
- data/vendor/assets/javascripts/dvl/core/dropdowns.js +161 -0
- data/vendor/assets/javascripts/dvl/core/modals.js +281 -0
- data/vendor/assets/javascripts/dvl/core/tooltips.js +478 -0
- data/vendor/assets/stylesheets/dvl/core.scss +21 -0
- data/vendor/assets/stylesheets/dvl/core/buttons.scss +152 -0
- data/vendor/assets/stylesheets/dvl/core/code.scss +31 -0
- data/vendor/assets/stylesheets/dvl/core/dropdowns.scss +309 -0
- data/vendor/assets/stylesheets/dvl/core/forms.scss +434 -0
- data/vendor/assets/stylesheets/dvl/core/grid.scss +87 -0
- data/vendor/assets/stylesheets/dvl/core/includes.scss +163 -0
- data/vendor/assets/stylesheets/dvl/core/labels.scss +31 -0
- data/vendor/assets/stylesheets/dvl/core/legacy.scss +287 -0
- data/vendor/assets/stylesheets/dvl/core/links.scss +53 -0
- data/vendor/assets/stylesheets/dvl/core/lists.scss +30 -0
- data/vendor/assets/stylesheets/dvl/core/media.scss +24 -0
- data/vendor/assets/stylesheets/dvl/core/modals.scss +173 -0
- data/vendor/assets/stylesheets/dvl/core/pagination.scss +70 -0
- data/vendor/assets/stylesheets/dvl/core/print.scss +69 -0
- data/vendor/assets/stylesheets/dvl/core/progress.scss +16 -0
- data/vendor/assets/stylesheets/dvl/core/resets.scss +92 -0
- data/vendor/assets/stylesheets/dvl/core/shame.scss +35 -0
- data/vendor/assets/stylesheets/dvl/core/sidebar.scss +101 -0
- data/vendor/assets/stylesheets/dvl/core/tables.scss +122 -0
- data/vendor/assets/stylesheets/dvl/core/tooltips.scss +87 -0
- data/vendor/assets/stylesheets/dvl/core/typography.scss +158 -0
- metadata +228 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
// Rules
|
2
|
+
// 1. If it’s a hack, it goes in shame.css.
|
3
|
+
// 2. Document all hacks fully:
|
4
|
+
// - What part of the codebase does it relate to?
|
5
|
+
// - Why was this needed?
|
6
|
+
// - How does this fix it?
|
7
|
+
// - How might you fix it properly, given more time?
|
8
|
+
// 3. Do not blame the developer; if they explained why
|
9
|
+
// they had to do it, then their reasons are probably
|
10
|
+
// (hopefully) valid.
|
11
|
+
// 4. Try and clean shame.css up when you have some down time.
|
12
|
+
// - Even better, create an issue where you can allocate
|
13
|
+
// some time for it.
|
14
|
+
//
|
15
|
+
// App-specific hacks are located in app/stylesheets/shame.scss
|
16
|
+
|
17
|
+
|
18
|
+
// Need to consolidate this with a.uppercase
|
19
|
+
// and .caps within the next few weeks.
|
20
|
+
//
|
21
|
+
// See issue #700.
|
22
|
+
//
|
23
|
+
// —Josh
|
24
|
+
|
25
|
+
button.uppercase {
|
26
|
+
text-transform: uppercase;
|
27
|
+
color: $darkGray;
|
28
|
+
font-size: 0.85rem;
|
29
|
+
font-weight: 600;
|
30
|
+
letter-spacing: 0.04rem;
|
31
|
+
&:hover {
|
32
|
+
text-decoration: none;
|
33
|
+
color: $darkerGray;
|
34
|
+
}
|
35
|
+
}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
// Sidebar
|
2
|
+
|
3
|
+
.sidebar_box {
|
4
|
+
background-color: $lighterGray;
|
5
|
+
border: 1px solid #d8d8d8;
|
6
|
+
padding: 1rem;
|
7
|
+
hr {
|
8
|
+
margin: 0.75rem 0;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
.sidebar_section {
|
12
|
+
margin-bottom: 1rem;
|
13
|
+
font-size: 0.9rem;
|
14
|
+
@include cf();
|
15
|
+
h4 {
|
16
|
+
font-size: 1rem;
|
17
|
+
line-height: 1;
|
18
|
+
color: $darkestGray;
|
19
|
+
margin-bottom: 0.35rem;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
// Sidebar sections with icons on the left
|
24
|
+
|
25
|
+
.sidebar_data {
|
26
|
+
padding: 0 1rem;
|
27
|
+
li {
|
28
|
+
border-bottom: 1px solid $lightGray;
|
29
|
+
padding: 0.75rem 0;
|
30
|
+
&:first-of-type {
|
31
|
+
padding-top: 0;
|
32
|
+
}
|
33
|
+
&:last-of-type {
|
34
|
+
border-bottom: 0;
|
35
|
+
padding-bottom: 0;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
.sidebar_data_icon {
|
41
|
+
float: left;
|
42
|
+
width: 2rem;
|
43
|
+
padding-top: 0.5rem;
|
44
|
+
text-align: center;
|
45
|
+
i {
|
46
|
+
font-size: 26px;
|
47
|
+
color: $darkerGray;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
.sidebar_data_text {
|
52
|
+
margin-left: 3.5rem;
|
53
|
+
}
|
54
|
+
|
55
|
+
.sidebar_data_label {
|
56
|
+
font-size: 0.9rem;
|
57
|
+
}
|
58
|
+
|
59
|
+
.sidebar_data_value {
|
60
|
+
font-size: 1.1rem;
|
61
|
+
color: #999;
|
62
|
+
font-weight: 600;
|
63
|
+
}
|
64
|
+
|
65
|
+
.sidebar_data_details {
|
66
|
+
font-size: 0.9rem;
|
67
|
+
color: #999;
|
68
|
+
}
|
69
|
+
|
70
|
+
// List of items in
|
71
|
+
.sidebar_data_list {
|
72
|
+
a, span {
|
73
|
+
float: left;
|
74
|
+
@include ellipses;
|
75
|
+
}
|
76
|
+
a {
|
77
|
+
width: 46%;
|
78
|
+
margin-right: 4%;
|
79
|
+
}
|
80
|
+
span {
|
81
|
+
width: 50%;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
.sidebar_social {
|
86
|
+
padding: 1rem 1rem 0;
|
87
|
+
@include cf;
|
88
|
+
}
|
89
|
+
|
90
|
+
.sidebar_submit {
|
91
|
+
padding-bottom: 1rem;
|
92
|
+
.button {
|
93
|
+
width: 100%;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
.sidebar_submit_hint {
|
98
|
+
text-align: center;
|
99
|
+
font-size: 0.85rem;
|
100
|
+
margin-top: 0.25rem;
|
101
|
+
}
|
@@ -0,0 +1,122 @@
|
|
1
|
+
// Tables
|
2
|
+
|
3
|
+
// Borderless
|
4
|
+
|
5
|
+
table {
|
6
|
+
max-width: 100%;
|
7
|
+
width: 100%;
|
8
|
+
border-spacing: 0; /* 1 */
|
9
|
+
border-collapse: collapse; /* 1 */
|
10
|
+
empty-cells: show;
|
11
|
+
font-size: 0.9rem;
|
12
|
+
word-break: break-word;
|
13
|
+
th,
|
14
|
+
tfoot td {
|
15
|
+
color: $black;
|
16
|
+
text-align: left;
|
17
|
+
font-weight: bold;
|
18
|
+
}
|
19
|
+
thead th,
|
20
|
+
tfoot td {
|
21
|
+
background-color: $lighterGray;
|
22
|
+
}
|
23
|
+
thead th {
|
24
|
+
color: $darkestGray;
|
25
|
+
font-size: 0.9rem;
|
26
|
+
font-weight: 600;
|
27
|
+
word-break: normal;
|
28
|
+
}
|
29
|
+
th,
|
30
|
+
td {
|
31
|
+
overflow: visible;
|
32
|
+
padding: 1rem;
|
33
|
+
vertical-align: top;
|
34
|
+
}
|
35
|
+
&.condensed {
|
36
|
+
th, td {
|
37
|
+
padding: 0.5rem;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
&.vertical_middle {
|
42
|
+
th, td {
|
43
|
+
vertical-align: middle;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
th.sortable a {
|
47
|
+
color: $darkestGray;
|
48
|
+
i {
|
49
|
+
color: $darkerGray;
|
50
|
+
margin-left: 0.25rem;
|
51
|
+
font-size: 1rem;
|
52
|
+
}
|
53
|
+
&:hover {
|
54
|
+
text-decoration: none;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
/* Outer border only */
|
59
|
+
&.border {
|
60
|
+
border: 1px solid $lightGray;
|
61
|
+
}
|
62
|
+
|
63
|
+
/* Borders for rows & columns */
|
64
|
+
&.border_all {
|
65
|
+
th, td {
|
66
|
+
border-top: 1px solid $lightGray;
|
67
|
+
border-left: 1px solid $lightGray;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
/* Border for rows only */
|
72
|
+
&.border_rows {
|
73
|
+
th, td {
|
74
|
+
border-top: 1px solid $lightGray;
|
75
|
+
}
|
76
|
+
/* Add bottom border to last row in the table */
|
77
|
+
tr:last-child td {
|
78
|
+
border-bottom: 1px solid $lightGray;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
/* Border for columns only */
|
83
|
+
&.border_cols {
|
84
|
+
th, td {
|
85
|
+
border-left: 1px solid $lightGray;
|
86
|
+
}
|
87
|
+
tr th,
|
88
|
+
tr td {
|
89
|
+
&:first-child {
|
90
|
+
border-left: 0;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
/* Remove top border to avoid double border on .border tables */
|
95
|
+
&.border {
|
96
|
+
&.border-all,
|
97
|
+
&.border-rows {
|
98
|
+
thead:first-child tr:first-child {
|
99
|
+
th, td {
|
100
|
+
border-top: 0;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
&.border-all {
|
106
|
+
tr th,
|
107
|
+
tr td {
|
108
|
+
&:first-child {
|
109
|
+
border-left: 0;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
tr:first-child,
|
113
|
+
thead:first-child tr:first-child {
|
114
|
+
th {
|
115
|
+
border-left: 0;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
&.stripes tbody > tr:nth-child(even) {
|
120
|
+
background-color: $lightestGray;
|
121
|
+
}
|
122
|
+
}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
// Bootstrap tooltips
|
2
|
+
|
3
|
+
.tooltip {
|
4
|
+
position: absolute;
|
5
|
+
z-index: 1030;
|
6
|
+
display: block;
|
7
|
+
font-size: 0.9rem;
|
8
|
+
line-height: 1.6;
|
9
|
+
opacity: 0;
|
10
|
+
visibility: visible;
|
11
|
+
min-width: 40px;
|
12
|
+
transition: transform 0.25s $ease_out_back, opacity 120ms ease-out;
|
13
|
+
&.top, &.bottom {
|
14
|
+
padding: 5px 0;
|
15
|
+
}
|
16
|
+
&.right, &.left {
|
17
|
+
padding: 0 5px;
|
18
|
+
}
|
19
|
+
&.top {
|
20
|
+
margin-top: -3px;
|
21
|
+
transform: translateY(5px) translateZ(0);
|
22
|
+
}
|
23
|
+
&.right {
|
24
|
+
margin-left: 3px;
|
25
|
+
transform: translateX(-5px) translateZ(0);
|
26
|
+
}
|
27
|
+
&.bottom {
|
28
|
+
margin-top: 3px;
|
29
|
+
transform: translateY(-5px) translateZ(0);
|
30
|
+
}
|
31
|
+
&.left {
|
32
|
+
margin-left: -3px;
|
33
|
+
transform: translateX(5px) translateZ(0);
|
34
|
+
}
|
35
|
+
&.in {
|
36
|
+
opacity: 0.9;
|
37
|
+
transform: translate(0,0);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
.tooltip-inner {
|
42
|
+
max-width: 200px;
|
43
|
+
padding: 0.25rem 0.5rem;
|
44
|
+
color: #ffffff;
|
45
|
+
text-align: center;
|
46
|
+
text-decoration: none;
|
47
|
+
background-color: #000;
|
48
|
+
border-radius: $radius;
|
49
|
+
}
|
50
|
+
|
51
|
+
.tooltip-arrow {
|
52
|
+
position: absolute;
|
53
|
+
width: 0;
|
54
|
+
height: 0;
|
55
|
+
border-color: transparent;
|
56
|
+
border-style: solid;
|
57
|
+
.tooltip.top &,
|
58
|
+
.tooltip.bottom & {
|
59
|
+
left: 50%;
|
60
|
+
margin-left: -5px;
|
61
|
+
}
|
62
|
+
.tooltip.right &,
|
63
|
+
.tooltip.left & {
|
64
|
+
top: 50%;
|
65
|
+
margin-top: -5px;
|
66
|
+
}
|
67
|
+
.tooltip.top & {
|
68
|
+
bottom: 0;
|
69
|
+
border-top-color: #000;
|
70
|
+
border-width: 5px 5px 0;
|
71
|
+
}
|
72
|
+
.tooltip.right & {
|
73
|
+
left: 0;
|
74
|
+
border-right-color: #000;
|
75
|
+
border-width: 5px 5px 5px 0;
|
76
|
+
}
|
77
|
+
.tooltip.left & {
|
78
|
+
right: 0;
|
79
|
+
border-left-color: #000;
|
80
|
+
border-width: 5px 0 5px 5px;
|
81
|
+
}
|
82
|
+
.tooltip.bottom & {
|
83
|
+
top: 0;
|
84
|
+
border-bottom-color: #000;
|
85
|
+
border-width: 0 5px 5px;
|
86
|
+
}
|
87
|
+
}
|
@@ -0,0 +1,158 @@
|
|
1
|
+
/* ================================================================== *
|
2
|
+
Typography ($typography)
|
3
|
+
|
4
|
+
Modular scale: 12px @ 1:1.333 (perfect fourth)
|
5
|
+
Important number: 20px (maximum <html> `font-size`)
|
6
|
+
http://modularscale.com/scale/?px1=12&px2=20&ra1=1.333&ra2=0
|
7
|
+
\* ================================================================== */
|
8
|
+
|
9
|
+
html {
|
10
|
+
font-size: 75%;
|
11
|
+
}
|
12
|
+
/* 12px */
|
13
|
+
@media only screen and (min-width: 320px) {
|
14
|
+
html {
|
15
|
+
font-size: 75%;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
/* 13px */
|
19
|
+
@media only screen and (min-width: 480px) {
|
20
|
+
html {
|
21
|
+
font-size: 81.25%;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
/* 14px */
|
25
|
+
@media only screen and (min-width: 640px) {
|
26
|
+
html {
|
27
|
+
font-size: 87.5%;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
/* 16px */
|
31
|
+
/**
|
32
|
+
* 1. Remove default `margin`
|
33
|
+
* 2. Inherits percentage declared on above <html> as root `font-size`
|
34
|
+
* 3. Unitless `line-height`, which acts as multiple of root `font-size`
|
35
|
+
*/
|
36
|
+
body {
|
37
|
+
margin: 0; /* 1 */
|
38
|
+
color: $bodyFontColor;
|
39
|
+
font-size: 1rem; /* 2 */
|
40
|
+
font-family: 'Open Sans', "Helvetica Neue", Arial, sans-serif;
|
41
|
+
line-height: 1.5; /* 3 */
|
42
|
+
}
|
43
|
+
/* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome */
|
44
|
+
b,
|
45
|
+
strong {
|
46
|
+
font-weight: 600;
|
47
|
+
}
|
48
|
+
|
49
|
+
blockquote,
|
50
|
+
dl,
|
51
|
+
figure,
|
52
|
+
hr,
|
53
|
+
menu,
|
54
|
+
ol,
|
55
|
+
p,
|
56
|
+
pre,
|
57
|
+
summary,
|
58
|
+
table,
|
59
|
+
ul {
|
60
|
+
margin: 0 0 1rem;
|
61
|
+
}
|
62
|
+
|
63
|
+
dl {
|
64
|
+
dt {
|
65
|
+
color: $black;
|
66
|
+
font-weight: 700;
|
67
|
+
}
|
68
|
+
|
69
|
+
dd {
|
70
|
+
margin: 0 0 1rem;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
em,
|
75
|
+
i,
|
76
|
+
cite {
|
77
|
+
font-style: italic;
|
78
|
+
}
|
79
|
+
|
80
|
+
/* NOTE: Use `text-rendering` with caution - http://cbrac.co/SJt8p1 */
|
81
|
+
h1,
|
82
|
+
h2,
|
83
|
+
h3,
|
84
|
+
h4,
|
85
|
+
h5,
|
86
|
+
h6 {
|
87
|
+
margin: 0 0 0.75rem;
|
88
|
+
color: $black;
|
89
|
+
font-weight: 600;
|
90
|
+
line-height: 1.333;
|
91
|
+
text-rendering: optimizeLegibility;
|
92
|
+
}
|
93
|
+
|
94
|
+
h1 {
|
95
|
+
font-size: 2rem;
|
96
|
+
}
|
97
|
+
|
98
|
+
h2 {
|
99
|
+
font-size: 1.6rem;
|
100
|
+
}
|
101
|
+
|
102
|
+
h3 {
|
103
|
+
font-size: 1.4rem;
|
104
|
+
}
|
105
|
+
|
106
|
+
h4 {
|
107
|
+
font-size: 1.2rem;
|
108
|
+
}
|
109
|
+
|
110
|
+
h5 {
|
111
|
+
font-size: 1rem;
|
112
|
+
}
|
113
|
+
|
114
|
+
h6 {
|
115
|
+
font-size: 0.75rem;
|
116
|
+
}
|
117
|
+
|
118
|
+
/* Address differences between Firefox and other browsers */
|
119
|
+
hr {
|
120
|
+
-webkit-box-sizing: content-box;
|
121
|
+
-moz-box-sizing: content-box;
|
122
|
+
box-sizing: content-box;
|
123
|
+
height: 0;
|
124
|
+
border: 0;
|
125
|
+
border-bottom: 1px solid $lightGray;
|
126
|
+
}
|
127
|
+
|
128
|
+
/* 1. Address inconsistent and variable `font-size` in all browsers */
|
129
|
+
small {
|
130
|
+
display: inline-block;
|
131
|
+
font-size: 87.5%; /* 1 */
|
132
|
+
line-height: 1.333;
|
133
|
+
}
|
134
|
+
|
135
|
+
/* Prevent <sub> and <sup> affecting `line-height` in all browsers */
|
136
|
+
sub,
|
137
|
+
sup {
|
138
|
+
position: relative;
|
139
|
+
vertical-align: baseline;
|
140
|
+
font-size: 75%;
|
141
|
+
line-height: 0;
|
142
|
+
}
|
143
|
+
|
144
|
+
sup {
|
145
|
+
top: -0.5em;
|
146
|
+
}
|
147
|
+
|
148
|
+
sub {
|
149
|
+
bottom: -0.25em;
|
150
|
+
}
|
151
|
+
|
152
|
+
.caps {
|
153
|
+
font-weight: 600;
|
154
|
+
text-transform: uppercase;
|
155
|
+
color: $darkerGray;
|
156
|
+
font-size: 0.96rem;
|
157
|
+
letter-spacing: 0.06rem;
|
158
|
+
}
|