dvl-core 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ }