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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.hound.yml +5 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +2 -0
  6. data/LICENSE.md +20 -0
  7. data/README.md +35 -0
  8. data/circle.yml +7 -0
  9. data/dvl-core.gemspec +30 -0
  10. data/lib/dvl/core.rb +11 -0
  11. data/lib/dvl/core/version.rb +5 -0
  12. data/preview/app.rb +252 -0
  13. data/script/bootstrap +45 -0
  14. data/script/cibuild +3 -0
  15. data/script/preview +3 -0
  16. data/script/release +38 -0
  17. data/spec/dvl_core_spec.rb +30 -0
  18. data/vendor/assets/javascripts/dvl/core.js +4 -0
  19. data/vendor/assets/javascripts/dvl/core/buttons.js +116 -0
  20. data/vendor/assets/javascripts/dvl/core/dropdowns.js +161 -0
  21. data/vendor/assets/javascripts/dvl/core/modals.js +281 -0
  22. data/vendor/assets/javascripts/dvl/core/tooltips.js +478 -0
  23. data/vendor/assets/stylesheets/dvl/core.scss +21 -0
  24. data/vendor/assets/stylesheets/dvl/core/buttons.scss +152 -0
  25. data/vendor/assets/stylesheets/dvl/core/code.scss +31 -0
  26. data/vendor/assets/stylesheets/dvl/core/dropdowns.scss +309 -0
  27. data/vendor/assets/stylesheets/dvl/core/forms.scss +434 -0
  28. data/vendor/assets/stylesheets/dvl/core/grid.scss +87 -0
  29. data/vendor/assets/stylesheets/dvl/core/includes.scss +163 -0
  30. data/vendor/assets/stylesheets/dvl/core/labels.scss +31 -0
  31. data/vendor/assets/stylesheets/dvl/core/legacy.scss +287 -0
  32. data/vendor/assets/stylesheets/dvl/core/links.scss +53 -0
  33. data/vendor/assets/stylesheets/dvl/core/lists.scss +30 -0
  34. data/vendor/assets/stylesheets/dvl/core/media.scss +24 -0
  35. data/vendor/assets/stylesheets/dvl/core/modals.scss +173 -0
  36. data/vendor/assets/stylesheets/dvl/core/pagination.scss +70 -0
  37. data/vendor/assets/stylesheets/dvl/core/print.scss +69 -0
  38. data/vendor/assets/stylesheets/dvl/core/progress.scss +16 -0
  39. data/vendor/assets/stylesheets/dvl/core/resets.scss +92 -0
  40. data/vendor/assets/stylesheets/dvl/core/shame.scss +35 -0
  41. data/vendor/assets/stylesheets/dvl/core/sidebar.scss +101 -0
  42. data/vendor/assets/stylesheets/dvl/core/tables.scss +122 -0
  43. data/vendor/assets/stylesheets/dvl/core/tooltips.scss +87 -0
  44. data/vendor/assets/stylesheets/dvl/core/typography.scss +158 -0
  45. metadata +228 -0
@@ -0,0 +1,434 @@
1
+ /* ================================================================== *
2
+ Forms ($forms)
3
+ \* ================================================================== */
4
+ form {
5
+ margin: 0;
6
+ }
7
+ /**
8
+ * 1. Address `margin` set differently in Firefox 4+, Safari 5, & Chrome
9
+ * 2. Correct `font-size` not being inherited in all browsers
10
+ * 3. Correct `font-family` not being inherited in all browsers
11
+ */
12
+ button,
13
+ input,
14
+ select,
15
+ textarea {
16
+ margin: 0; /* 1 */
17
+ font-size: 1rem; /* 2 */
18
+ font-family: inherit; /* 3 */
19
+ }
20
+ /**
21
+ * Address Firefox 4+ setting `line-height` on <input> using
22
+ * `!important` in the UA stylesheet
23
+ */
24
+ button,
25
+ input {
26
+ line-height: normal;
27
+ }
28
+ /**
29
+ * Fix inconsistent `text-transform` for <button> and <select>
30
+ * All other form control elements do not inherit `text-transform`
31
+ */
32
+ button,
33
+ select {
34
+ text-transform: none;
35
+ }
36
+ /**
37
+ * 2. Improve usability and consistency of cursor style between
38
+ * image-type <input> and others
39
+ * 3. Correct inability to style clickable <input> types in iOS
40
+ */
41
+ button,
42
+ input[type="reset"],
43
+ input[type="submit"] {
44
+ cursor: pointer; /* 2 */
45
+ -webkit-appearance: button; /* 3 */
46
+ }
47
+ /* Reset default `cursor` for disabled elements */
48
+ button[disabled],
49
+ html input[disabled] {
50
+ cursor: default;
51
+ }
52
+ /* Remove default <fieldset> styles for all browsers */
53
+ fieldset {
54
+ margin: 0;
55
+ padding: 0;
56
+ border: 0;
57
+ }
58
+ /* Make most inputs, select boxes, and textareas as `block` elements */
59
+ input,
60
+ select,
61
+ textarea {
62
+ display: block;
63
+ width: 100%;
64
+ vertical-align: middle;
65
+ border: 1px solid #ddd;
66
+ font-size: 0.9rem;
67
+ padding: 0.3rem;
68
+ border-radius: $radius;
69
+ &.error {
70
+ border-color: $errorColor;
71
+ }
72
+ &[readonly] {
73
+ border-color: #ccc;
74
+ background-color: $lightestGray;
75
+ }
76
+ }
77
+
78
+ .error {
79
+ input,
80
+ select,
81
+ textarea {
82
+ border-color: $errorColor;
83
+ }
84
+ }
85
+
86
+ /* Make checkbox, image, and radio inputs `inline-block` by default */
87
+ input[type="checkbox"],
88
+ input[type="image"],
89
+ input[type="radio"],
90
+ input[type="file"] {
91
+ display: inline-block;
92
+ width: auto;
93
+ cursor: pointer;
94
+ border: 0;
95
+ }
96
+ /**
97
+ * 1. Address `box-sizing` set to `content-box` in IE 8/9
98
+ * 2. Remove excess padding in IE 8/9
99
+ */
100
+ input[type="checkbox"],
101
+ input[type="radio"] {
102
+ box-sizing: border-box; /* 1 */
103
+ margin: 0 0.422rem 0.238rem 0;
104
+ padding: 0; /* 2 */
105
+ }
106
+ /**
107
+ * 1. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
108
+ * (include `-moz` to future-proof)
109
+ * 2. Address `appearance` set to `searchfield` in Safari 5 and Chrome
110
+ */
111
+ input[type="search"] {
112
+ -webkit-box-sizing: content-box; /* 1 */
113
+ -moz-box-sizing: content-box;
114
+ box-sizing: content-box;
115
+ -webkit-appearance: textfield; /* 2 */
116
+ }
117
+ /* Remove decoration & cancel button in Safari 5 and Chrome on OS X */
118
+ input[type="search"]::-webkit-search-cancel-button,
119
+ input[type="search"]::-webkit-search-decoration {
120
+ -webkit-appearance: none;
121
+ }
122
+ /**
123
+ * Make button, reset, and submit inputs to be `inline-block`, unless
124
+ * otherwise specified by `.button` classes
125
+ */
126
+ input[type="button"],
127
+ input[type="reset"],
128
+ input[type="submit"] {
129
+ display: inline-block;
130
+ width: auto;
131
+ }
132
+ /* Remove inner padding and border in Firefox 4+ */
133
+ button::-moz-focus-inner,
134
+ input::-moz-focus-inner {
135
+ padding: 0;
136
+ border: 0;
137
+ }
138
+ /* Give labels a pointer cursor by default */
139
+ label {
140
+ cursor: pointer;
141
+ font-weight: 600;
142
+ font-size: 0.9rem;
143
+ &.checkbox,
144
+ &.radio {
145
+ display: block;
146
+ font-weight: normal;
147
+ font-size: 1rem;
148
+ }
149
+ }
150
+
151
+ /**
152
+ * 1. Remove default vertical scrollbar in IE 8/9
153
+ * 2. Improve readability and alignment in all browsers
154
+ * 3. Restrict <textarea> elements to vertical resizing only
155
+ */
156
+ textarea {
157
+ overflow: auto; /* 1 */
158
+ vertical-align: top; /* 2 */
159
+ resize: vertical; /* 3 */
160
+ }
161
+
162
+ label.required > abbr {
163
+ color: $errorColor;
164
+ font-size: 0.8rem;
165
+ }
166
+
167
+ select.datetime {
168
+ width: auto;
169
+ display: inline;
170
+ }
171
+
172
+ input[type="checkbox"] {
173
+ -webkit-appearance: none !important;
174
+ -moz-appearance: none !important;
175
+ appearance: none !important;
176
+ border: 1px solid $gray;
177
+ border-radius: $radius;
178
+ background-color: #fff;
179
+ padding: 7px;
180
+ display: inline-block;
181
+ position: relative;
182
+ cursor: pointer;
183
+ &:active,
184
+ &:checked:active {
185
+ box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
186
+ }
187
+ &:checked:after {
188
+ font-family: 'FontAwesome';
189
+ content: '\f00c';
190
+ font-size: 12px;
191
+ position: absolute;
192
+ top: 1px;
193
+ left: 1px;
194
+ color: $linkColor;
195
+ }
196
+ &.readonly,
197
+ &.disabled {
198
+ opacity: 0.5;
199
+ }
200
+ }
201
+
202
+ input[type="radio"] {
203
+ -webkit-appearance: none !important;
204
+ -moz-appearance: none !important;
205
+ appearance: none !important;
206
+ background-color: #fff;
207
+ border: 1px solid $gray;
208
+ border-radius: 50%;
209
+ padding: 7px;
210
+ display: inline-block;
211
+ position: relative;
212
+ cursor: pointer;
213
+ &:active,
214
+ &:checked:active {
215
+ box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
216
+ }
217
+ &.readonly,
218
+ &.disabled {
219
+ opacity: 0.5;
220
+ }
221
+ &:checked:after {
222
+ content: '';
223
+ width: 6px;
224
+ height: 6px;
225
+ border-radius: 50%;
226
+ position: absolute;
227
+ top: 4px;
228
+ left: 4px;
229
+ background-color: $linkColor;
230
+ }
231
+ }
232
+
233
+ /* Webkit outline fix */
234
+ input[type="checkbox"]:focus,
235
+ input[type="radio"]:focus {
236
+ outline: 0;
237
+ }
238
+
239
+ .help-block {
240
+ font-size: 0.85rem;
241
+ margin: 0.25rem 0 0 0;
242
+ }
243
+
244
+ .datetime_input_clear_wrapper {
245
+ clear: both;
246
+ }
247
+
248
+ .datetime_input_clear {
249
+ font-size: 0.85rem;
250
+ }
251
+
252
+ form {
253
+ .grid {
254
+ margin-bottom: 1rem;
255
+ }
256
+ .horizontal_label_item {
257
+ margin-top: 0.15rem;
258
+ }
259
+ }
260
+
261
+ .form_actions {
262
+ background-color: $lighterGray;
263
+ padding: 1rem;
264
+ margin-top: 2rem;
265
+ }
266
+
267
+ input[type="text"].large {
268
+ font-size: 1.5rem;
269
+ }
270
+
271
+ @media only screen and (min-width: 640px) {
272
+ form .horizontal_label_item {
273
+ text-align: right;
274
+ padding-right: 1.5rem;
275
+ }
276
+
277
+ .form_actions.horizontal {
278
+ padding-left: 24.99999%;
279
+ }
280
+ }
281
+
282
+ .input_group {
283
+ position: relative;
284
+ display: table;
285
+ border-collapse: separate;
286
+ > .button {
287
+ width: 1%;
288
+ display: table-cell;
289
+ }
290
+ > input {
291
+ display: table-cell;
292
+ width: 100%;
293
+ }
294
+ &:first-child {
295
+ border-top-right-radius: 0;
296
+ border-bottom-right-radius: 0;
297
+ }
298
+ &:last-child {
299
+ border-top-left-radius: 0;
300
+ border-bottom-left-radius: 0;
301
+ }
302
+ }
303
+
304
+ form {
305
+ /* Validation */
306
+ .error_message {
307
+ font-size: 0.85rem;
308
+ background-color: $errorColor;
309
+ color: #fff;
310
+ padding: 2px 5px;
311
+ border-radius: $radius;
312
+ margin: 4px 0 0 0;
313
+ display: inline-block !important;
314
+ }
315
+ /* Autosubmitter */
316
+ .item {
317
+ position: relative;
318
+ }
319
+ }
320
+
321
+ .select_wrapper {
322
+ max-width: 100%;
323
+ height: 28px;
324
+ background-color: #fff;
325
+ border: 1px solid $gray;
326
+ border-radius: $radius;
327
+ position: relative;
328
+ vertical-align: middle;
329
+ &:after {
330
+ font-family: 'FontAwesome';
331
+ content: '\f0d7';
332
+ position: absolute;
333
+ top: 3px;
334
+ right: 10px;
335
+ color: $darkerGray;
336
+ pointer-events: none;
337
+ }
338
+ select {
339
+ background: transparent;
340
+ width: 100%;
341
+ padding: 2px 28px 0px 14px;
342
+ margin: 0;
343
+ font-size: 12px;
344
+ font-weight: 600;
345
+ line-height: 18px;
346
+ border: 1px solid transparent;
347
+ border-radius: 0;
348
+ height: 26px;
349
+ -webkit-appearance: none;
350
+ -moz-appearance: none;
351
+ text-indent: 0.01px;
352
+ text-overflow: '';
353
+ }
354
+ }
355
+
356
+ .datetime_input_wrapper .input_group {
357
+ width: 120px;
358
+ float: left;
359
+ margin-right: 10px;
360
+ }
361
+
362
+ .input_text {
363
+ margin-top: 0.25rem;
364
+ }
365
+
366
+ // Radio button groups
367
+ .radio_group_inner {
368
+ input {
369
+ display: none;
370
+ opacity: 0;
371
+ &:checked + label {
372
+ background: $linkColor;
373
+ color: $white;
374
+ }
375
+ }
376
+ label {
377
+ float: left;
378
+ width: 25%;
379
+ height: 100%;
380
+ text-align: center;
381
+ border: 1px solid $gray;
382
+ border-right-width: 0;
383
+ padding: 0.5rem 0;
384
+ &:first-of-type {
385
+ @include border_left_radius($radius);
386
+ }
387
+ &:last-of-type {
388
+ border-right-width: 1px;
389
+ @include border_right_radius($radius);
390
+ }
391
+ }
392
+ }
393
+
394
+ .radio_group_img {
395
+ height: 1.5rem;
396
+ display: block;
397
+ i {
398
+ font-size: 1.5rem;
399
+ line-height: 1;
400
+ text-align: center;
401
+ }
402
+ }
403
+
404
+ // Sub-option, conditionally visible
405
+ // Must set the left property each time this is used
406
+
407
+ .form_option_sub {
408
+ background-color: $lightGray;
409
+ padding: 0.5rem 1rem;
410
+ @include cf();
411
+ position: relative;
412
+ border-radius: $radius;
413
+ &:before {
414
+ content: "";
415
+ width: 0;
416
+ height: 0;
417
+ border-style: solid;
418
+ border-width: 0 8px 8px;
419
+ border-color: transparent transparent $lightGray transparent;
420
+ position: absolute;
421
+ top: -8px;
422
+ margin-left: -3px;
423
+ }
424
+ label, input {
425
+ float: left;
426
+ }
427
+ label {
428
+ line-height: 2rem;
429
+ margin-right: 1rem;
430
+ }
431
+ @media screen and (min-width: 640px) {
432
+ margin-left: 8.3333% * 3;
433
+ }
434
+ }
@@ -0,0 +1,87 @@
1
+ /* ================================================================== *\
2
+ Grids ($grids)
3
+ \* ================================================================== */
4
+
5
+ /**
6
+ * Grid container
7
+ * 1. Default gutter width, change if desired
8
+ * 2. Remove `list-style` in case `.grid` is on a <ul> element
9
+ * 3. Hack to remove `inline-block` whitespace - http://cbrac.co/16xcjcl
10
+ */
11
+
12
+ .grid {
13
+ margin: 0;
14
+ margin-left: -2rem; /* 1 */
15
+ padding: 0;
16
+ list-style: none; /* 2 */
17
+ font-size: 0; /* 3 */
18
+ }
19
+
20
+ .grid.gutter_none {
21
+ margin-left: 0;
22
+ > .item {
23
+ padding-left: 0;
24
+ }
25
+ }
26
+
27
+ .grid.gutter_quarter {
28
+ margin-left: -0.5rem;
29
+ > .item {
30
+ padding-left: 0.5rem;
31
+ }
32
+ }
33
+
34
+ .grid.gutter_half {
35
+ margin-left: -1rem;
36
+ > .item {
37
+ padding-left: 1rem;
38
+ }
39
+ }
40
+
41
+ .grid.gutter_double {
42
+ margin-left: -4rem;
43
+ > .item {
44
+ padding-left: 4rem;
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Grid item
50
+ * 1. Default gutter width, change if desired
51
+ * 2. Ensures elements within `.item` start at the top
52
+ * 3. Reset `font-size` back to normal
53
+ */
54
+
55
+ .item {
56
+ display: inline-block;
57
+ padding-left: 2rem; /* 1 */
58
+ vertical-align: top; /* 2 */
59
+ font-size: 1rem; /* 3 */
60
+ width: 100%;
61
+ }
62
+
63
+ /* Widths */
64
+ @mixin build_grid($x: "") {
65
+ .#{$x}one_column {width: 8.333% };
66
+ .#{$x}two_columns {width: (8.333% * 2)};
67
+ .#{$x}three_columns {width: (8.333% * 3)};
68
+ .#{$x}four_columns {width: (8.333% * 4)};
69
+ .#{$x}five_columns {width: (8.333% * 5)};
70
+ .#{$x}six_columns {width: (8.333% * 6)};
71
+ .#{$x}seven_columns {width: (8.333% * 7)};
72
+ .#{$x}eight_columns {width: (8.333% * 8)};
73
+ .#{$x}nine_columns {width: (8.333% * 9)};
74
+ .#{$x}ten_columns {width: (8.333% * 10)};
75
+ .#{$x}eleven_columns {width: (8.333% * 11)};
76
+ .#{$x}twelve_columns {width: (8.333% * 12)};
77
+ }
78
+
79
+ @include build_grid();
80
+
81
+ @media only screen and (min-width: 640px) {
82
+ @include build_grid("lap_");
83
+ }
84
+
85
+ @media only screen and (min-width: 960px) {
86
+ @include build_grid("desk_");
87
+ }