futuro 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/html/assign/page.liquid +2 -1
  3. data/_includes/html/assign/site.liquid +30 -21
  4. data/_includes/html/layout/footer.liquid +5 -1
  5. data/_includes/html/page/content.liquid +70 -71
  6. data/_includes/html/page/content/loop/alert.liquid +31 -0
  7. data/_includes/html/page/content/loop/button/build.liquid +7 -1
  8. data/_includes/html/page/content/loop/checkbox.liquid +4 -8
  9. data/_includes/html/page/content/loop/form.liquid +53 -38
  10. data/_includes/html/page/content/loop/form/alert.liquid +8 -13
  11. data/_includes/html/page/content/loop/form/callout.liquid +1 -1
  12. data/_includes/html/page/content/loop/form/date.liquid +7 -7
  13. data/_includes/html/page/content/loop/form/email.liquid +38 -0
  14. data/_includes/html/page/content/loop/form/item.liquid +6 -9
  15. data/_includes/html/page/content/loop/form/message.liquid +1 -1
  16. data/_includes/html/page/content/loop/form/number.liquid +37 -0
  17. data/_includes/html/page/content/loop/form/phone.liquid +38 -0
  18. data/_includes/html/page/content/loop/form/radio.liquid +7 -7
  19. data/_includes/html/page/content/loop/form/select.liquid +10 -10
  20. data/_includes/html/page/content/loop/form/text.liquid +22 -27
  21. data/_includes/html/page/content/loop/form/textarea.liquid +6 -5
  22. data/_includes/html/page/content/loop/header/search.liquid +1 -1
  23. data/_includes/html/page/content/loop/{form/input.liquid → input.liquid} +6 -2
  24. data/_includes/html/page/content/loop/item.liquid +16 -0
  25. data/_includes/html/page/content/loop/label.liquid +37 -0
  26. data/_includes/html/page/content/loop/onemoment.liquid +6 -0
  27. data/_includes/html/page/content/loop/screen.liquid +2 -2
  28. data/_includes/html/page/content/loop/screen/header.liquid +3 -3
  29. data/_includes/html/page/content/loop/{select/create.liquid → select.liquid} +7 -3
  30. data/_includes/html/page/content/row.liquid +1 -1
  31. data/_includes/html/page/footnote.liquid +4 -2
  32. data/_includes/html/page/header.liquid +1 -2
  33. data/_includes/html/page/layout/home.liquid +17 -7
  34. data/_includes/html/page/topbar.liquid +28 -17
  35. data/_includes/html/page/topbar/navigation/link.liquid +22 -0
  36. data/_includes/html/site/scroller.liquid +1 -1
  37. data/_includes/svg/site/icon.liquid +9 -1
  38. data/_sass/_button.scss +4 -4
  39. data/_sass/area/chapter.scss +2 -1
  40. data/_sass/area/page.scss +1 -1
  41. data/_sass/block/chart.scss +2 -1
  42. data/_sass/block/form/alert.scss +1 -10
  43. data/_sass/block/form/checkbox.scss +3 -21
  44. data/_sass/block/form/input.scss +8 -0
  45. data/_sass/block/form/item.scss +17 -17
  46. data/_sass/block/form/parsley.scss +18 -21
  47. data/_sass/block/util.scss +3 -0
  48. data/_sass/futuro.core.scss +26 -6
  49. data/_sass/helpers/extends.scss +0 -17
  50. data/_sass/helpers/extends/forms.scss +16 -0
  51. data/_sass/helpers/extends/layout.scss +15 -0
  52. data/_sass/helpers/mixins/layout.scss +0 -1
  53. data/_sass/helpers/mixins/theme.scss +116 -127
  54. data/_sass/helpers/themes.scss +14 -13
  55. data/_sass/helpers/variables.scss +25 -211
  56. data/_sass/helpers/variables/colors.scss +290 -0
  57. data/_sass/item/scroller.scss +0 -1
  58. data/_sass/link/book.scss +8 -6
  59. data/_sass/link/navigation.scss +11 -7
  60. data/_sass/link/scroller.scss +4 -0
  61. data/_sass/title/book.scss +9 -0
  62. data/_sass/title/page.scss +2 -0
  63. data/_sass/title/type.scss +1 -0
  64. data/_sass/wrap/select.scss +1 -1
  65. data/_sass/wrap/switch.scss +12 -0
  66. data/_sass/wrap/text.scss +1 -1
  67. data/assets/js/footer/custom/2_Check.width.js +8 -2
  68. data/assets/js/footer/custom/5_Animate.scroller.js +13 -8
  69. data/assets/js/footer/custom/5_button.func.reset.js +15 -0
  70. data/assets/js/footer/custom/5_button.func.submit.js +39 -0
  71. data/assets/js/footer/custom/5_button.func.switch.js +26 -0
  72. data/assets/js/footer/custom/5_button.func.update.js +39 -0
  73. data/assets/js/footer/custom/5_check.form.js +49 -0
  74. data/assets/js/futuro.footer.custom.js +1 -1
  75. data/assets/js/futuro.header.custom.js +1 -1
  76. data/assets/js/header/custom/1_Settings.js +11 -3
  77. data/assets/js/header/custom/2_Site.js +1 -3
  78. metadata +24 -13
  79. data/_includes/html/page/content/loop/alert/create.liquid +0 -20
  80. data/_includes/html/page/content/loop/alert/example.liquid +0 -4
  81. data/_includes/html/page/content/loop/form/label.liquid +0 -17
  82. data/_includes/html/page/content/loop/yousaved.liquid +0 -11
  83. data/_includes/svg/site/book/orwell.svg +0 -1
  84. data/_includes/svg/site/book/woolf.svg +0 -1
  85. data/assets/js/footer/custom/5_Switch.button.js +0 -97
@@ -1,40 +1,37 @@
1
1
 
2
+ %ParsleySuccess {
3
+ border: 1px solid setcolor(success,light) !important;
4
+ }
5
+
6
+ %ParsleyError {
7
+ border: 1px solid setcolor(error,light) !important;
8
+ }
9
+
2
10
  input.parsley-success,
3
11
  select.parsley-success,
4
12
  textarea.parsley-success {
5
- color: #468847;
6
- background-color: #DFF0D8;
7
- border: 1px solid #D6E9C6;
13
+ @extend %ParsleySuccess;
8
14
  }
9
15
 
10
16
  input.parsley-error,
11
17
  select.parsley-error,
12
18
  textarea.parsley-error {
13
- color: #B94A48;
14
- background-color: #F2DEDE;
15
- border: 1px solid #EED3D7;
19
+ @extend %ParsleyError;
16
20
  }
17
21
 
18
22
  .parsley-errors-list {
19
- margin: 2px 0 3px;
20
- padding: 0;
23
+ transition: margin 100ms;
21
24
  list-style-type: none;
22
- font-size: 0.9em;
23
- line-height: 0.9em;
25
+ padding: 0;
24
26
  opacity: 0;
25
- color: #B94A48;
26
-
27
- transition: all .3s ease-in;
28
- -o-transition: all .3s ease-in;
29
- -moz-transition: all .3s ease-in;
30
- -webkit-transition: all .3s ease-in;
31
27
  }
32
28
 
33
29
  .parsley-errors-list.filled {
30
+ @extend %AlertBlock;
31
+ @extend %NoLabel;
32
+ background-color: setcolor(error,xlight);
33
+ border: 1px solid setcolor(error,light);
34
+ color: setcolor(error,dark);
35
+ margin-top: 20px;
34
36
  opacity: 1;
35
- }
36
-
37
- .errors.text-input {
38
- min-height: 20px;
39
- grid-column: 2;
40
37
  }
@@ -8,6 +8,9 @@
8
8
 
9
9
  .block.util.type-page.style-page {
10
10
  @extend %ContentPrep;
11
+ fill: setcolor(coal);
12
+ grid-row-gap: 6px;
13
+ display: grid;
11
14
  }
12
15
 
13
16
  .block.util.type-chapter.style-page {
@@ -5,12 +5,14 @@
5
5
 
6
6
  @import
7
7
  "helpers/variables",
8
+ "helpers/variables/colors",
8
9
  "helpers/mixins",
9
10
  "helpers/mixins/layout",
10
11
  "helpers/mixins/items",
11
12
  "helpers/mixins/patterns",
12
13
  "helpers/mixins/theme",
13
14
  "helpers/extends",
15
+ "helpers/extends/forms",
14
16
  "helpers/extends/grid",
15
17
  "helpers/extends/layout",
16
18
  "helpers/themes";
@@ -78,7 +80,8 @@
78
80
  @import
79
81
  "link/book",
80
82
  "link/browse",
81
- "link/navigation";
83
+ "link/navigation",
84
+ "link/scroller";
82
85
 
83
86
  // List Styles
84
87
 
@@ -91,6 +94,7 @@
91
94
 
92
95
  @import
93
96
  "title/alert",
97
+ "title/book",
94
98
  "title/browse",
95
99
  "title/checkbox",
96
100
  "title/copied",
@@ -115,6 +119,7 @@
115
119
  "wrap/home",
116
120
  "wrap/scroller",
117
121
  "wrap/select",
122
+ "wrap/switch",
118
123
  "wrap/text";
119
124
 
120
125
  // Other Styles
@@ -163,11 +168,6 @@
163
168
  fill: darken(setcolor(smoke),10%);
164
169
  }
165
170
 
166
- .wrap.select {
167
- grid-template-columns: auto 34px;
168
- display: grid;
169
- }
170
-
171
171
  .block.select-dropdown {
172
172
  background-color: darken(setcolor(gun,xlight),3%);
173
173
  border-left: 1px solid setcolor(gun,light);
@@ -178,4 +178,24 @@
178
178
 
179
179
  .block.select-dropdown svg {
180
180
  width: 30px;
181
+ }
182
+
183
+ .block.form-date.group {
184
+ justify-content: start;
185
+ grid-column-gap: 20px;
186
+ grid-row-gap: 15px;
187
+ display: grid;
188
+ }
189
+
190
+ .block.no-label {
191
+ grid-column: 2 / 3;
192
+ }
193
+
194
+ .block.has-price {
195
+ grid-template-columns: auto 100px;
196
+ display: grid;
197
+ }
198
+
199
+ .block.has-price > span:last-child {
200
+ text-align: right;
181
201
  }
@@ -24,20 +24,3 @@
24
24
  :focus {
25
25
  outline: rgba(0,0,0,0);
26
26
  }
27
-
28
- // MINDSETS IMPORT ************************************************************
29
-
30
- // %table {
31
- // grid-template-columns: 220px repeat(4,110px);
32
- // list-style: none;
33
- // display: grid;
34
- // padding: 0;
35
-
36
- // li {
37
- // padding: 5px;
38
-
39
- // &:nth-of-type(n+2) {
40
- // text-align: center;
41
- // }
42
- // }
43
- // }
@@ -0,0 +1,16 @@
1
+
2
+ %Checkbox {
3
+ @include zeros(absolute);
4
+ left: ($radius * 4);
5
+ cursor: pointer;
6
+ height: 14px;
7
+ margin: auto;
8
+ width: 14px;
9
+ right: auto;
10
+
11
+ &:checked + label {
12
+ @include color(setcolor(slate),100%);
13
+ @include border(setcolor(slate));
14
+ @include bg(setcolor(slate));
15
+ }
16
+ }
@@ -47,3 +47,18 @@
47
47
  width: 100%;
48
48
  border: 0;
49
49
  }
50
+
51
+ %AlertBlock {
52
+ padding: 14px 12px 10px 12px;
53
+ background-color: setcolor(gun,xlight);
54
+ border: 1px solid setcolor(gun,light);
55
+ color: setcolor(gun,dark);
56
+ border-radius: 4px;
57
+ display: block;
58
+ }
59
+
60
+ %NoLabel {
61
+ @media#{map-get($query,min768)} {
62
+ grid-column: 2 / 3;
63
+ }
64
+ }
@@ -14,7 +14,6 @@
14
14
  @mixin RotateTitle($origin : bottom left, $deg : 90){
15
15
  transform: rotate(-#{$deg}deg);
16
16
  transform-origin: $origin;
17
- position: absolute;
18
17
  }
19
18
 
20
19
  @mixin PadBtn($value : 4) {
@@ -1,12 +1,10 @@
1
1
 
2
-
3
-
4
2
  // Used in Mindsets
5
3
  @mixin ThemeMorph($name,$color) {
6
4
  // find output path by dynamic class name
7
5
  svg#morph path#output.#{$name} {
8
6
  // set associated color for this class
9
- stroke: $color;
7
+ stroke: setcolor($color);
10
8
  }
11
9
  }
12
10
 
@@ -76,7 +74,7 @@
76
74
  // Used in Patterns
77
75
  @mixin ThemeCheckbox($chapter,$title,$color) {
78
76
  .wrap.chapter-#{$chapter}.title-#{$title} {
79
- .checkbox-input:checked + label {
77
+ input[type="checkbox"]:checked + label {
80
78
  background-color: setcolor($color,xlight);
81
79
  border: 1px solid setcolor($color,light);
82
80
  color: setcolor($color,dark);
@@ -103,18 +101,16 @@
103
101
  // Used in Patterns
104
102
  @mixin ThemeSelect($chapter,$title,$color) {
105
103
  .wrap.chapter-#{$chapter}.title-#{$title} {
106
- .wrap.select {
104
+ .wrap.select > select {
107
105
  border: 1px solid setcolor($color,light);
106
+ background: setcolor($color,xlight);
107
+ color: setcolor($color,dark);
108
108
  }
109
109
  .block.select-dropdown {
110
110
  background-color: darken(setcolor($color,xlight),3%);
111
111
  border-left: 1px solid setcolor($color,light);
112
112
  fill: setcolor($color);
113
113
  }
114
- select {
115
- background: setcolor($color,xlight);
116
- color: setcolor($color,dark);
117
- }
118
114
  }
119
115
  }
120
116
 
@@ -148,10 +144,8 @@
148
144
  label {
149
145
  color: setcolor($color,dark);
150
146
  }
151
- .wrap.text-input {
147
+ .wrap.text-input > input {
152
148
  border: 1px solid setcolor($color,light);
153
- }
154
- input[type="text"] {
155
149
  background-color: setcolor($color,xlight);
156
150
  color: setcolor($color,dark);
157
151
  }
@@ -200,24 +194,43 @@
200
194
  }
201
195
  }
202
196
 
203
- // Used in Patterns
197
+ @mixin ThemeButtonCore($color) {
198
+ .button-wrap {
199
+ background: setcolor($color);
200
+
201
+ &:hover {
202
+ background: darken(setcolor($color),5%);
203
+ }
204
+ }
205
+ }
206
+
207
+ // Used in Patterns, Brandvoice
204
208
  @mixin ThemeButton($chapter,$title,$color) {
205
- .wrap.chapter-#{$chapter}.title-#{$title} {
206
- .button-wrap {
207
- background: setcolor($color);
208
209
 
209
- &:hover {
210
- background: darken(setcolor($color),5%);
211
- }
210
+ @if $title {
211
+ // if title has been provided
212
+ // page specific button colour
213
+ .wrap.chapter-#{$chapter}.title-#{$title} {
214
+ // use the same mixin core; avoid repetition
215
+ @include ThemeButtonCore($color);
216
+ }
217
+
218
+ } @else {
219
+ // if only the chapter has been provided
220
+ // chapter specific button colour
221
+ .wrap.chapter-#{$chapter} {
222
+ // use the same mixin core; avoid repetition
223
+ @include ThemeButtonCore($color);
212
224
  }
225
+
213
226
  }
214
227
  }
215
228
 
216
- // Used globally
229
+ // Used Globally
217
230
  @mixin ThemeHome($name,$color){
218
231
  // inherit theme color for the book cover
219
232
  .link.book.#{$name} {
220
- background-color: $color;
233
+ background-color: setcolor($color);
221
234
  }
222
235
  }
223
236
 
@@ -225,23 +238,23 @@
225
238
  @mixin ThemeTopbar($name,$color) {
226
239
  // inherit theme color for the topbar link
227
240
  .link.navigation.#{$name} {
228
- color: $color;
241
+ color: setcolor($color);
229
242
  }
230
243
  // add theme color tint to background on hover
231
244
  .link.navigation.#{$name}:hover {
232
- background-color: rgba($color,10%);
245
+ background-color: rgba(setcolor($color),10%);
233
246
  }
234
247
  }
235
248
 
236
249
  // Used globally
237
- @mixin ThemeCover($name,$color,$left:false,$chapter:false) {
250
+ @mixin ThemeCover($book,$chapter,$color,$left:false) {
251
+ // optional arguments must come last
238
252
 
239
253
  @if $chapter {
240
254
 
241
- // Chapter Covers
242
-
243
- .wrap.page-wrap.type-chapter.chapter-#{$name} {
244
- background-color: $color;
255
+ // chapter covers
256
+ .wrap.page-wrap.type-chapter.chapter-#{$chapter} {
257
+ background-color: setcolor($color);
245
258
 
246
259
  @if $left {
247
260
  .title.type-chapter {
@@ -251,23 +264,22 @@
251
264
  }
252
265
  } @else {
253
266
 
254
- // Chapter Covers
255
-
256
- .area.type-chapter.book-#{$name} {
257
- background-color: $color;
267
+ // book covers
268
+ .wrap.page-wrap.type-chapter.book-#{$book} {
269
+ background-color: setcolor($color);
258
270
  }
259
271
  }
260
272
  }
261
273
 
262
- // Used globally
263
- @mixin PageInfo($col,$right) {
274
+ // Used Globally
275
+ @mixin PageInfo($color,$right) {
264
276
 
265
277
  .title.page-weight {
266
- color: $col;
278
+ color: setcolor($color);
267
279
  }
268
280
 
269
281
  .title.page-chapter {
270
- color: $col;
282
+ color: setcolor($color);
271
283
  @if $right {
272
284
  right: #{$right}px;
273
285
  }
@@ -275,113 +287,96 @@
275
287
  }
276
288
 
277
289
  // Used in Mindsets
278
- @mixin ThemeRollerInput($name,$col) {
279
- background-color: rgba($col,10%);
280
- color: $col;
290
+ @mixin ThemeRollerInput($color) {
291
+ background-color: rgba(setcolor($color),10%);
292
+ color: setcolor($color);
293
+
294
+ &.active {
295
+ background-color: setcolor($color);
296
+ color: white;
297
+ }
281
298
  }
282
299
 
283
300
  // Used in Mindsets
284
- @mixin ThemeRollerOutput($name,$col) {
285
- background-color: rgba($col,10%);
286
- border-color: rgba($col,20%);
287
- color: $col;
301
+ @mixin ThemeRollerOutput($color) {
302
+ background-color: rgba(setcolor($color),10%);
303
+ border-color: rgba(setcolor($color),20%);
304
+ color: setcolor($color);
288
305
  }
289
306
 
290
- // Used in Mindsets
291
- @mixin ThemeRoller($name,$col,$chapter:false) {
307
+ // Used in Mindsets, Brandvoice
308
+ @mixin ThemeRoller($chapter,$title,$color) {
292
309
 
293
310
  @if $chapter {
294
311
 
295
- .list.roller.chapter-#{$name} {
312
+ .list.roller.chapter-#{$chapter} {
296
313
 
297
314
  .item.roller.input {
298
- @include ThemeRollerInput($name,$col);
299
-
300
- &.active {
301
- background-color: $col;
302
- color: white;
303
- }
315
+ @include ThemeRollerInput($color);
304
316
  }
305
317
 
306
318
  .item.roller.output {
307
- @include ThemeRollerOutput($name,$col);
319
+ @include ThemeRollerOutput($color);
308
320
  }
309
321
  }
310
322
 
311
323
  } @else {
312
324
 
313
- .item.roller.input.title-#{$name} {
314
- @include ThemeRollerInput($name,$col);
315
-
316
- &.active {
317
- background-color: $col;
318
- color: white;
319
- }
325
+ .item.roller.input.title-#{$title} {
326
+ @include ThemeRollerInput($color);
320
327
  }
321
328
 
322
- .item.roller.output.title-#{$name} {
323
- @include ThemeRollerOutput($name,$col);
329
+ .item.roller.output.title-#{$title} {
330
+ @include ThemeRollerOutput($color);
324
331
  }
325
332
  }
326
333
  }
327
334
 
328
- // Used in Mindsets
329
- @mixin ThemeChart($col) {
335
+ // Used in Mindsets, Brandvoice
336
+ @mixin ThemeChart($color) {
330
337
  .block.chart-pcent-title {
331
- color: $col;
338
+ color: setcolor($color);
332
339
  }
333
340
 
334
341
  .block.chart-bar-bg {
335
- background-color: $col;
342
+ background-color: setcolor($color);
336
343
  }
337
344
  }
338
345
 
339
- // Used in Mindsets
340
- @mixin ThemePages($name,$col,$right:false,$chapter:false) {
346
+ @mixin ThemePagesCore($color,$right) {
347
+ // stroke: setcolor($color);
348
+ fill: setcolor($color);
341
349
 
342
- @if $chapter {
350
+ @include PageInfo($color,$right);
343
351
 
344
- .wrap.type-page.chapter-#{$name} {
345
- fill: $col;
352
+ @include ThemeChart($color);
346
353
 
347
- @include PageInfo($col,$right);
354
+ .block.number-container {
355
+ color: setcolor($color);
356
+ }
348
357
 
349
- @include ThemeChart($col);
358
+ .lnk.stats {
359
+ color: setcolor($color);
360
+ }
350
361
 
351
- .block.number-container {
352
- color: $col;
353
- }
362
+ .list.pies {
363
+ color: setcolor($color);
364
+ }
365
+ }
354
366
 
355
- .lnk.stats {
356
- color: $col;
357
- }
367
+ // Used in Mindsets
368
+ @mixin ThemePages($book,$chapter,$color,$right:false) {
358
369
 
359
- .list.pies {
360
- color: $col;
361
- }
370
+ @if $chapter {
371
+
372
+ .wrap.type-page.chapter-#{$chapter} {
373
+ @include ThemePagesCore($color,$right);
362
374
  }
363
375
 
364
376
  } @else {
365
377
 
366
- .wrap.type-page.book-#{$name} {
367
- stroke: $col;
368
- fill: $col;
369
-
370
- @include PageInfo($col,$right);
371
-
372
- @include ThemeChart($col);
373
-
374
- .block.number-container {
375
- color: $col;
376
- }
377
-
378
- .lnk.stats {
379
- color: $col;
380
- }
381
-
382
- .list.pies {
383
- color: $col;
384
- }
378
+ .wrap.type-page.book-#{$book} {
379
+ @include ThemePagesCore($color,$right);
385
380
  }
386
381
  }
387
382
  }
@@ -390,44 +385,38 @@
390
385
  @mixin ThemeSnap($name,$color) {
391
386
  svg.snap {
392
387
  path.#{$name} {
393
- fill: #{$color};
388
+ fill: setcolor($color);
394
389
  }
395
390
  }
396
391
  }
397
392
 
398
- // Used everywhere
399
- @mixin ThemeSearch($name,$col,$chapter:false) {
393
+ @mixin ThemeSearchCore($color) {
394
+ color: setcolor($color);
400
395
 
401
- @if $chapter {
402
-
403
- // Search Results
396
+ &:hover {
397
+ background-color: rgba(setcolor($color),10%);
398
+ }
404
399
 
405
- .block.results-entry.chapter-#{$name} {
406
- color: $col;
400
+ .block.results-dot {
401
+ background-color: setcolor($color);
402
+ }
403
+ }
407
404
 
408
- &:hover {
409
- background-color: rgba($col,10%);
410
- }
405
+ // Used Globally
406
+ @mixin ThemeSearch($book,$chapter,$color) {
411
407
 
412
- .block.results-dot {
413
- background-color: $col;
414
- }
408
+ @if $chapter {
409
+
410
+ // theme results by chapter
411
+ .block.results-entry.chapter-#{$chapter} {
412
+ @include ThemeSearchCore($color);
415
413
  }
416
414
 
417
415
  } @else {
418
416
 
419
- // Search Results
420
-
421
- .block.results-entry.book-#{$name} {
422
- color: $col;
423
-
424
- &:hover {
425
- background-color: rgba($col,10%);
426
- }
427
-
428
- .block.results-dot {
429
- background-color: $col;
430
- }
417
+ // theme results by book
418
+ .block.results-entry.book-#{$book} {
419
+ @include ThemeSearchCore($color);
431
420
  }
432
421
  }
433
422
  }