respectre-jekyll-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +52 -0
  4. data/_includes/footer.html +17 -0
  5. data/_includes/head.html +11 -0
  6. data/_includes/header.html +14 -0
  7. data/_layouts/default.html +13 -0
  8. data/_layouts/home.html +26 -0
  9. data/_layouts/page.html +14 -0
  10. data/_layouts/post.html +21 -0
  11. data/_sass/spectre.scss +49 -0
  12. data/_sass/spectre/.csscomb.json +30 -0
  13. data/_sass/spectre/.gitattributes +1 -0
  14. data/_sass/spectre/.gitignore +9 -0
  15. data/_sass/spectre/.hound.yml +2 -0
  16. data/_sass/spectre/.scss-lint.yml +253 -0
  17. data/_sass/spectre/_accordions.scss +38 -0
  18. data/_sass/spectre/_animations.scss +20 -0
  19. data/_sass/spectre/_asian.scss +33 -0
  20. data/_sass/spectre/_autocomplete.scss +36 -0
  21. data/_sass/spectre/_avatars.scss +77 -0
  22. data/_sass/spectre/_badges.scss +70 -0
  23. data/_sass/spectre/_bars.scss +71 -0
  24. data/_sass/spectre/_base.scss +40 -0
  25. data/_sass/spectre/_breadcrumbs.scss +29 -0
  26. data/_sass/spectre/_buttons.scss +182 -0
  27. data/_sass/spectre/_calendars.scss +206 -0
  28. data/_sass/spectre/_cards.scss +39 -0
  29. data/_sass/spectre/_carousels.scss +124 -0
  30. data/_sass/spectre/_chips.scss +26 -0
  31. data/_sass/spectre/_codes.scss +31 -0
  32. data/_sass/spectre/_comparison-sliders.scss +114 -0
  33. data/_sass/spectre/_dropdowns.scss +36 -0
  34. data/_sass/spectre/_empty.scss +21 -0
  35. data/_sass/spectre/_filters.scss +37 -0
  36. data/_sass/spectre/_forms.scss +514 -0
  37. data/_sass/spectre/_icons.scss +5 -0
  38. data/_sass/spectre/_labels.scss +34 -0
  39. data/_sass/spectre/_layout.scss +424 -0
  40. data/_sass/spectre/_media.scss +75 -0
  41. data/_sass/spectre/_menus.scss +56 -0
  42. data/_sass/spectre/_meters.scss +57 -0
  43. data/_sass/spectre/_mixins.scss +186 -0
  44. data/_sass/spectre/_modals.scss +82 -0
  45. data/_sass/spectre/_navbar.scss +29 -0
  46. data/_sass/spectre/_navs.scss +34 -0
  47. data/_sass/spectre/_normalize.scss +446 -0
  48. data/_sass/spectre/_off-canvas.scss +82 -0
  49. data/_sass/spectre/_pagination.scss +61 -0
  50. data/_sass/spectre/_panels.scss +23 -0
  51. data/_sass/spectre/_parallax.scss +129 -0
  52. data/_sass/spectre/_popovers.scss +70 -0
  53. data/_sass/spectre/_progress.scss +45 -0
  54. data/_sass/spectre/_sliders.scss +93 -0
  55. data/_sass/spectre/_steps.scss +70 -0
  56. data/_sass/spectre/_tables.scss +45 -0
  57. data/_sass/spectre/_tabs.scss +66 -0
  58. data/_sass/spectre/_tiles.scss +38 -0
  59. data/_sass/spectre/_timelines.scss +54 -0
  60. data/_sass/spectre/_toasts.scss +42 -0
  61. data/_sass/spectre/_tooltips.scss +79 -0
  62. data/_sass/spectre/_typography.scss +128 -0
  63. data/_sass/spectre/_utilities.scss +8 -0
  64. data/_sass/spectre/_variables.scss +105 -0
  65. data/_sass/spectre/icons/_icons-action.scss +316 -0
  66. data/_sass/spectre/icons/_icons-core.scss +53 -0
  67. data/_sass/spectre/icons/_icons-navigation.scss +133 -0
  68. data/_sass/spectre/icons/_icons-object.scss +176 -0
  69. data/_sass/spectre/spectre-exp.scss +16 -0
  70. data/_sass/spectre/spectre-icons.scss +10 -0
  71. data/_sass/spectre/utilities/_colors.scss +29 -0
  72. data/_sass/spectre/utilities/_cursors.scss +24 -0
  73. data/_sass/spectre/utilities/_display.scss +44 -0
  74. data/_sass/spectre/utilities/_divider.scss +50 -0
  75. data/_sass/spectre/utilities/_loading.scss +34 -0
  76. data/_sass/spectre/utilities/_position.scss +50 -0
  77. data/_sass/spectre/utilities/_shapes.scss +8 -0
  78. data/_sass/spectre/utilities/_text.scss +64 -0
  79. data/assets/css/main.scss +18 -0
  80. metadata +212 -0
@@ -0,0 +1,36 @@
1
+ // Dropdown
2
+ .dropdown {
3
+ display: inline-block;
4
+ position: relative;
5
+
6
+ .menu {
7
+ animation: slide-down .15s ease 1;
8
+ display: none;
9
+ left: 0;
10
+ max-height: 50vh;
11
+ overflow-y: auto;
12
+ position: absolute;
13
+ top: 100%;
14
+ }
15
+
16
+ &.dropdown-right {
17
+ .menu {
18
+ left: auto;
19
+ right: 0;
20
+ }
21
+ }
22
+
23
+ &.active .menu,
24
+ .dropdown-toggle:focus + .menu,
25
+ .menu:hover {
26
+ display: block;
27
+ }
28
+
29
+ // Fix dropdown-toggle border radius in button groups
30
+ .btn-group {
31
+ .dropdown-toggle:nth-last-child(2) {
32
+ border-bottom-right-radius: $border-radius;
33
+ border-top-right-radius: $border-radius;
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,21 @@
1
+ // Empty states (or Blank slates)
2
+ .empty {
3
+ background: $bg-color;
4
+ border-radius: $border-radius;
5
+ color: $gray-color-dark;
6
+ text-align: center;
7
+ padding: $unit-16 $unit-8;
8
+
9
+ .empty-icon {
10
+ margin-bottom: $layout-spacing-lg;
11
+ }
12
+
13
+ .empty-title,
14
+ .empty-subtitle {
15
+ margin: $layout-spacing auto;
16
+ }
17
+
18
+ .empty-action {
19
+ margin-top: $layout-spacing-lg;
20
+ }
21
+ }
@@ -0,0 +1,37 @@
1
+ // Filters
2
+ // The number of filter options
3
+ $filter-number: 8 !default;
4
+
5
+ %filter-checked-nav {
6
+ background: $primary-color;
7
+ color: $light-color;
8
+ }
9
+
10
+ %filter-checked-body {
11
+ display: none;
12
+ }
13
+
14
+ .filter {
15
+ .filter-nav {
16
+ margin: $layout-spacing 0;
17
+ }
18
+
19
+ .filter-body {
20
+ display: flex;
21
+ flex-wrap: wrap;
22
+ }
23
+
24
+ .filter-tag {
25
+ @for $i from 0 through ($filter-number) {
26
+ &#tag-#{$i}:checked ~ .filter-nav .chip[for="tag-#{$i}"] {
27
+ @extend %filter-checked-nav;
28
+ }
29
+ }
30
+
31
+ @for $i from 1 through ($filter-number) {
32
+ &#tag-#{$i}:checked ~ .filter-body .filter-item:not([data-tag~="tag-#{$i}"]) {
33
+ @extend %filter-checked-body;
34
+ }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,514 @@
1
+ // Forms
2
+ .form-group {
3
+ &:not(:last-child) {
4
+ margin-bottom: $layout-spacing;
5
+ }
6
+ }
7
+
8
+ fieldset {
9
+ margin-bottom: $layout-spacing-lg;
10
+ }
11
+
12
+ legend {
13
+ font-size: $font-size-lg;
14
+ font-weight: 500;
15
+ margin-bottom: $layout-spacing-lg;
16
+ }
17
+
18
+ // Form element: Label
19
+ .form-label {
20
+ display: block;
21
+ line-height: $line-height;
22
+ padding: $control-padding-y + $border-width 0;
23
+
24
+ &.label-sm {
25
+ padding: $control-padding-y-sm + $border-width 0;
26
+ }
27
+
28
+ &.label-lg {
29
+ padding: $control-padding-y-lg + $border-width 0;
30
+ }
31
+ }
32
+
33
+ // Form element: Input
34
+ .form-input {
35
+ @include control-transition();
36
+ appearance: none;
37
+ background: $bg-color-light;
38
+ background-image: none;
39
+ border: $border-width solid $border-color-dark;
40
+ border-radius: $border-radius;
41
+ color: $body-font-color;
42
+ display: block;
43
+ font-size: $font-size;
44
+ height: $control-size;
45
+ line-height: $line-height;
46
+ max-width: 100%;
47
+ outline: none;
48
+ padding: $control-padding-y $control-padding-x;
49
+ position: relative;
50
+ width: 100%;
51
+ &:focus {
52
+ @include control-shadow();
53
+ border-color: $primary-color;
54
+ }
55
+ &::placeholder {
56
+ color: $gray-color;
57
+ }
58
+
59
+ // Input sizes
60
+ &.input-sm {
61
+ font-size: $font-size-sm;
62
+ height: $control-size-sm;
63
+ padding: $control-padding-y-sm $control-padding-x-sm;
64
+ }
65
+
66
+ &.input-lg {
67
+ font-size: $font-size-lg;
68
+ height: $control-size-lg;
69
+ padding: $control-padding-y-lg $control-padding-x-lg;
70
+ }
71
+
72
+ &.input-inline {
73
+ display: inline-block;
74
+ vertical-align: middle;
75
+ width: auto;
76
+ }
77
+
78
+ // Input types
79
+ &[type="file"] {
80
+ height: auto;
81
+ }
82
+ }
83
+
84
+ // Form element: Textarea
85
+ textarea.form-input {
86
+ height: auto;
87
+ }
88
+
89
+ // Form element: Input hint
90
+ .form-input-hint {
91
+ color: $gray-color;
92
+ font-size: $font-size-sm;
93
+ margin-top: $unit-1;
94
+
95
+ .has-success &,
96
+ .is-success + & {
97
+ color: $success-color;
98
+ }
99
+
100
+ .has-error &,
101
+ .is-error + & {
102
+ color: $error-color;
103
+ }
104
+ }
105
+
106
+ // Form element: Select
107
+ .form-select {
108
+ appearance: none;
109
+ border: $border-width solid $border-color-dark;
110
+ border-radius: $border-radius;
111
+ color: inherit;
112
+ font-size: $font-size;
113
+ height: $control-size;
114
+ line-height: $line-height;
115
+ outline: none;
116
+ padding: $control-padding-y $control-padding-x;
117
+ vertical-align: middle;
118
+ width: 100%;
119
+
120
+ &[size],
121
+ &[multiple] {
122
+ height: auto;
123
+
124
+ option {
125
+ padding: $unit-h $unit-1;
126
+ }
127
+ }
128
+ &:not([multiple]):not([size]) {
129
+ background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") no-repeat right .35rem center/.4rem .5rem;
130
+ padding-right: $control-icon-size + $control-padding-x;
131
+ }
132
+ &:focus {
133
+ @include control-shadow();
134
+ border-color: $primary-color;
135
+ }
136
+ &::-ms-expand {
137
+ display: none;
138
+ }
139
+
140
+ // Select sizes
141
+ &.select-sm {
142
+ font-size: $font-size-sm;
143
+ height: $control-size-sm;
144
+ padding: $control-padding-y-sm ($control-icon-size + $control-padding-x-sm) $control-padding-y-sm $control-padding-x-sm;
145
+ }
146
+
147
+ &.select-lg {
148
+ font-size: $font-size-lg;
149
+ height: $control-size-lg;
150
+ padding: $control-padding-y-lg ($control-icon-size + $control-padding-x-lg) $control-padding-y-lg $control-padding-x-lg;
151
+ }
152
+ }
153
+
154
+ // Form Icons
155
+ .has-icon-left,
156
+ .has-icon-right {
157
+ position: relative;
158
+
159
+ .form-icon {
160
+ height: $control-icon-size;
161
+ margin: 0 $control-padding-y;
162
+ position: absolute;
163
+ top: 50%;
164
+ transform: translateY(-50%);
165
+ width: $control-icon-size;
166
+ }
167
+ }
168
+
169
+ .has-icon-left {
170
+ .form-icon {
171
+ left: $border-width;
172
+ }
173
+
174
+ .form-input {
175
+ padding-left: $control-icon-size + $control-padding-y * 2;
176
+ }
177
+ }
178
+
179
+ .has-icon-right {
180
+ .form-icon {
181
+ right: $border-width;
182
+ }
183
+
184
+ .form-input {
185
+ padding-right: $control-icon-size + $control-padding-y * 2;
186
+ }
187
+ }
188
+
189
+ // Form element: Checkbox and Radio
190
+ .form-checkbox,
191
+ .form-radio,
192
+ .form-switch {
193
+ display: inline-block;
194
+ line-height: $line-height;
195
+ padding: (($control-size-sm - $line-height) / 2) ($control-icon-size + $control-padding-x);
196
+ position: relative;
197
+
198
+ input {
199
+ clip: rect(0, 0, 0, 0);
200
+ height: 1px;
201
+ margin: -1px;
202
+ overflow: hidden;
203
+ position: absolute;
204
+ width: 1px;
205
+ &:focus + .form-icon {
206
+ @include control-shadow();
207
+ border-color: $primary-color;
208
+ }
209
+ &:checked + .form-icon {
210
+ background: $primary-color;
211
+ border-color: $primary-color;
212
+ }
213
+ }
214
+
215
+ .form-icon {
216
+ @include control-transition();
217
+ border: $border-width solid $border-color-dark;
218
+ cursor: pointer;
219
+ display: inline-block;
220
+ position: absolute;
221
+ }
222
+ }
223
+
224
+ .form-checkbox,
225
+ .form-radio {
226
+ .form-icon {
227
+ background: $bg-color-light;
228
+ height: $control-icon-size;
229
+ left: 0;
230
+ top: ($control-size-sm - $control-icon-size) / 2;
231
+ width: $control-icon-size;
232
+ }
233
+
234
+ input {
235
+ &:active + .form-icon {
236
+ background: $bg-color-dark;
237
+ }
238
+ }
239
+ }
240
+ .form-checkbox {
241
+ .form-icon {
242
+ border-radius: $border-radius;
243
+ }
244
+
245
+ input {
246
+ &:checked + .form-icon {
247
+ &::before {
248
+ background-clip: padding-box;
249
+ border: $border-width-lg solid $light-color;
250
+ border-left-width: 0;
251
+ border-top-width: 0;
252
+ content: "";
253
+ height: 12px;
254
+ left: 50%;
255
+ margin-left: -4px;
256
+ margin-top: -8px;
257
+ position: absolute;
258
+ top: 50%;
259
+ transform: rotate(45deg);
260
+ width: 8px;
261
+ }
262
+ }
263
+ &:indeterminate + .form-icon {
264
+ background: $primary-color;
265
+ border-color: $primary-color;
266
+ &::before {
267
+ background: $bg-color-light;
268
+ content: "";
269
+ height: 2px;
270
+ left: 50%;
271
+ margin-left: -5px;
272
+ margin-top: -1px;
273
+ position: absolute;
274
+ top: 50%;
275
+ width: 10px;
276
+ }
277
+ }
278
+ }
279
+ }
280
+ .form-radio {
281
+ .form-icon {
282
+ border-radius: 50%;
283
+ }
284
+
285
+ input {
286
+ &:checked + .form-icon {
287
+ &::before {
288
+ background: $bg-color-light;
289
+ border-radius: 50%;
290
+ content: "";
291
+ height: 4px;
292
+ left: 50%;
293
+ position: absolute;
294
+ top: 50%;
295
+ transform: translate(-50%, -50%);
296
+ width: 4px;
297
+ }
298
+ }
299
+ }
300
+ }
301
+
302
+ // Form element: Switch
303
+ .form-switch {
304
+ padding-left: ($unit-8 + $control-padding-x);
305
+
306
+ .form-icon {
307
+ background: $gray-color-light;
308
+ background-clip: padding-box;
309
+ border-radius: $unit-2 + $border-width;
310
+ height: $unit-4 + $border-width * 2;
311
+ left: 0;
312
+ top: ($control-size-sm - $unit-4) / 2 - $border-width;
313
+ width: $unit-8;
314
+ &::before {
315
+ @include control-transition();
316
+ background: $bg-color-light;
317
+ border-radius: 50%;
318
+ content: "";
319
+ display: block;
320
+ height: $unit-4;
321
+ left: 0;
322
+ position: absolute;
323
+ top: 0;
324
+ width: $unit-4;
325
+ }
326
+ }
327
+
328
+ input {
329
+ &:checked + .form-icon {
330
+ &::before {
331
+ left: 14px;
332
+ }
333
+ }
334
+ &:active + .form-icon {
335
+ &::before {
336
+ background: $bg-color;
337
+ }
338
+ }
339
+ }
340
+ }
341
+
342
+ // Form element: Input groups
343
+ .input-group {
344
+ display: flex;
345
+
346
+ .input-group-addon {
347
+ background: $bg-color;
348
+ border: $border-width solid $border-color-dark;
349
+ border-radius: $border-radius;
350
+ line-height: $line-height;
351
+ padding: $control-padding-y $control-padding-x;
352
+
353
+ &.addon-sm {
354
+ font-size: $font-size-sm;
355
+ padding: $control-padding-y-sm $control-padding-x-sm;
356
+ }
357
+ &.addon-lg {
358
+ font-size: $font-size-lg;
359
+ padding: $control-padding-y-lg $control-padding-x-lg;
360
+ }
361
+ }
362
+
363
+ .form-input,
364
+ .form-select {
365
+ flex: 1 1 auto;
366
+ }
367
+
368
+ .input-group-btn {
369
+ z-index: $zindex-0;
370
+ }
371
+
372
+ .form-input,
373
+ .form-select,
374
+ .input-group-addon,
375
+ .input-group-btn {
376
+ &:first-child:not(:last-child) {
377
+ border-bottom-right-radius: 0;
378
+ border-top-right-radius: 0;
379
+ }
380
+ &:not(:first-child):not(:last-child) {
381
+ border-radius: 0;
382
+ margin-left: -$border-width;
383
+ }
384
+ &:last-child:not(:first-child) {
385
+ border-bottom-left-radius: 0;
386
+ border-top-left-radius: 0;
387
+ margin-left: -$border-width;
388
+ }
389
+ &:focus {
390
+ z-index: $zindex-0 + 1;
391
+ }
392
+ }
393
+
394
+ .form-select {
395
+ width: auto;
396
+ }
397
+
398
+ &.input-inline {
399
+ display: inline-flex;
400
+ }
401
+ }
402
+
403
+ // Form validation states
404
+ .form-input,
405
+ .form-select {
406
+ .has-success &,
407
+ &.is-success {
408
+ border-color: $success-color;
409
+ &:focus {
410
+ @include control-shadow($success-color);
411
+ }
412
+ }
413
+
414
+ .has-error &,
415
+ &.is-error {
416
+ border-color: $error-color;
417
+ &:focus {
418
+ @include control-shadow($error-color);
419
+ }
420
+ }
421
+ }
422
+
423
+ .form-checkbox,
424
+ .form-radio,
425
+ .form-switch {
426
+ .has-error &,
427
+ &.is-error {
428
+ .form-icon {
429
+ border-color: $error-color;
430
+ }
431
+
432
+ input {
433
+ &:checked + .form-icon {
434
+ background: $error-color;
435
+ border-color: $error-color;
436
+ }
437
+
438
+ &:focus + .form-icon {
439
+ @include control-shadow($error-color);
440
+ border-color: $error-color;
441
+ }
442
+ }
443
+ }
444
+ }
445
+
446
+ // validation based on :placeholder-shown (Edge doesn't support it yet)
447
+ .form-input {
448
+ &:not(:placeholder-shown) {
449
+ &:invalid {
450
+ border-color: $error-color;
451
+ &:focus {
452
+ @include control-shadow($error-color);
453
+ }
454
+
455
+ & + .form-input-hint {
456
+ color: $error-color;
457
+ }
458
+ }
459
+ }
460
+ }
461
+
462
+ // Form disabled and readonly
463
+ .form-input,
464
+ .form-select {
465
+ &:disabled,
466
+ &.disabled {
467
+ background-color: $bg-color-dark;
468
+ cursor: not-allowed;
469
+ opacity: .5;
470
+ }
471
+ }
472
+
473
+ .form-input {
474
+ &[readonly] {
475
+ background-color: $bg-color;
476
+ }
477
+ }
478
+
479
+ input {
480
+ &:disabled,
481
+ &.disabled {
482
+ & + .form-icon {
483
+ background: $bg-color-dark;
484
+ cursor: not-allowed;
485
+ opacity: .5;
486
+ }
487
+ }
488
+ }
489
+
490
+ .form-switch {
491
+ input {
492
+ &:disabled,
493
+ &.disabled {
494
+ & + .form-icon::before {
495
+ background: $bg-color-light;
496
+ }
497
+ }
498
+ }
499
+ }
500
+
501
+ // Form Horizontal
502
+ .form-horizontal {
503
+ padding: $layout-spacing;
504
+
505
+ .form-group {
506
+ display: flex;
507
+ }
508
+
509
+ .form-checkbox,
510
+ .form-radio,
511
+ .form-switch {
512
+ margin: ($control-size - $control-size-sm) / 2 0;
513
+ }
514
+ }