futuro 0.9.9 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/html/assign/site.liquid +1 -0
- data/_includes/html/page/content/loop/roller/assign.liquid +28 -0
- data/_includes/html/page/content/loop/roller/input.liquid +16 -0
- data/_includes/html/page/content/loop/roller/list.liquid +12 -0
- data/_includes/html/page/content/loop/roller/output.liquid +20 -0
- data/_includes/html/page/content/roller.liquid +12 -71
- data/_includes/html/search/loop.liquid +2 -1
- data/_sass/helpers/mixins/theme.scss +32 -8
- data/_sass/item/pie.scss +12 -3
- data/_sass/list/pie.scss +5 -1
- data/_sass/list/roller.scss +4 -0
- data/assets/js/footer/custom/1_Settings.js +13 -1
- data/assets/js/footer/custom/4_Roller.default.js +73 -0
- data/assets/js/footer/custom/4_Roller.morph.js +115 -0
- data/assets/js/footer/custom/4_Roller.snap.js +146 -0
- data/assets/js/footer/custom/{4_SmoothScroll.js → 4_Setup.scroll.js} +2 -2
- data/assets/js/footer/custom/5_Animate.chart.js +52 -0
- data/assets/js/footer/custom/5_Animate.number.js +28 -0
- data/assets/js/footer/custom/5_Animate.pies.js +74 -0
- data/assets/js/footer/custom/5_Respond.roller.js +46 -0
- data/assets/js/futuro.footer.custom.js +1 -1
- data/assets/js/futuro.header.custom.js +1 -1
- data/assets/js/header/custom/1_Settings.js +25 -2
- metadata +27 -18
- data/_includes/html/page/content/loop/roller/item.liquid +0 -47
- data/_includes/html/page/content/loop/roller.liquid +0 -6
- /data/assets/js/footer/custom/{2_CheckWidth.js → 2_Check.width.js} +0 -0
- /data/assets/js/footer/custom/{3_SetupBrowse.js → 3_Setup.browse.js} +0 -0
- /data/assets/js/footer/custom/{5_ActiveBook.js → 4_Setup.book.js} +0 -0
- /data/assets/js/footer/custom/{4_SetupHome.js → 4_Setup.home.js} +0 -0
- /data/assets/js/footer/custom/{4_SetupOverlays.js → 4_Setup.overlays.js} +0 -0
- /data/assets/js/footer/custom/{4_SetupSite.js → 4_Setup.site.js} +0 -0
- /data/assets/js/footer/custom/{4_StartBrowse.js → 4_Start.browse.js} +0 -0
- /data/assets/js/footer/custom/{5_AnimateScroller.js → 5_Animate.scroller.js} +0 -0
- /data/assets/js/footer/custom/{5_Artform.js → 5_Artform.header.js} +0 -0
- /data/assets/js/footer/custom/{5_RespondBrowse.js → 5_Respond.browse.js} +0 -0
- /data/assets/js/footer/custom/{5_SwitchButton.js → 5_Switch.button.js} +0 -0
- /data/assets/js/footer/custom/{5_SwitchFocus.js → 5_Switch.focus.js} +0 -0
- /data/assets/js/footer/custom/{5_UtilShare.js → 5_Util.share.js} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d530d37ba776df440f2c666b767c2c3b3079944e7c1472989b566132d494f7b
|
4
|
+
data.tar.gz: 871c66b9d5a0f0711b7cd984ce67bf6d59ddb8a1b28c1fc9cba53fd918a42900
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf01794aec599c6fc831dfdf634a55aaf9092abd452a1b2a1617549be9c78987cb004b421f65b0ccda87ef613bb76bc2f2f4b3e2598dec937d6e1e709f3bc68b
|
7
|
+
data.tar.gz: d1c979756e476f0a8c602990a3961b31bfbd2c761e0253672832ad42a4ff3fa12d516dc3d0c80f1ffc1348f11e5b833936cfd7c17c12a664b7a2638cdcd6da0b
|
@@ -14,6 +14,7 @@
|
|
14
14
|
{% assign ContentLoop = SiteContent | append : 'loop/' %}
|
15
15
|
{% assign LoopArtwork = ContentLoop | append : 'artwork/' %}
|
16
16
|
{% assign LoopForm = ContentLoop | append : 'form/' %}
|
17
|
+
{% assign LoopRoller = ContentLoop | append : 'roller/' %}
|
17
18
|
{% assign LoopHeader = ContentLoop | append : 'header/' %}
|
18
19
|
{% assign LoopScreen = ContentLoop | append : 'screen/' %}
|
19
20
|
{% assign LoopButton = ContentLoop | append : 'button/' %}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
{% assign RollerItems = 0 %}
|
3
|
+
|
4
|
+
{% assign RollerInline = false %}
|
5
|
+
|
6
|
+
{% assign RollerOutput = false %}
|
7
|
+
|
8
|
+
{% for item in include.loop %}
|
9
|
+
|
10
|
+
{% if item.inline %}
|
11
|
+
|
12
|
+
{% assign RollerInline = true %}
|
13
|
+
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% if item.input %}
|
17
|
+
|
18
|
+
{% assign RollerItems = RollerItems | plus : 1 %}
|
19
|
+
|
20
|
+
{% endif %}
|
21
|
+
|
22
|
+
{% if item.output %}
|
23
|
+
|
24
|
+
{% assign RollerOutput = true %}
|
25
|
+
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{% endfor %}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
{% for item in include.loop %}
|
3
|
+
|
4
|
+
{% if item.input %}
|
5
|
+
|
6
|
+
{% assign RollerInput = item.input | replace : ' ','-' | downcase %}
|
7
|
+
|
8
|
+
<li class="item roller input {{ RollerInput | prepend : 'title-' }}">
|
9
|
+
|
10
|
+
{{ item.input }}
|
11
|
+
|
12
|
+
</li>
|
13
|
+
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% endfor %}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
{% assign RollerPath = include.type | append : '.liquid' %}
|
3
|
+
|
4
|
+
<ul class="list roller {{ include.type }}
|
5
|
+
{{ RollerType | prepend : 'style-' }}
|
6
|
+
{{ PageChapter | prepend : 'chapter-' }}
|
7
|
+
{% if RollerInline %}{{ items | prepend : 'split-' }}{% endif %}">
|
8
|
+
|
9
|
+
{% include {{ LoopRoller | append : RollerPath }}
|
10
|
+
loop = include.loop %}
|
11
|
+
|
12
|
+
</ul>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
|
2
|
+
{% for item in include.loop %}
|
3
|
+
|
4
|
+
{% if item.input %}
|
5
|
+
|
6
|
+
{% assign RollerLabel = item.input | replace : ' ','-' | downcase %}
|
7
|
+
|
8
|
+
{% endif %}
|
9
|
+
|
10
|
+
{% if item.output %}
|
11
|
+
|
12
|
+
<li class="item roller output {{ RollerLabel | prepend : 'title-' }}">
|
13
|
+
|
14
|
+
{{ item.output }}
|
15
|
+
|
16
|
+
</li>
|
17
|
+
|
18
|
+
{% endif %}
|
19
|
+
|
20
|
+
{% endfor %}
|
@@ -1,76 +1,17 @@
|
|
1
1
|
|
2
|
-
{%
|
3
|
-
|
4
|
-
{% assign output = false %}
|
2
|
+
{% include {{ LoopRoller | append : 'assign.liquid' }}
|
3
|
+
loop = page.roller.loop %}
|
5
4
|
|
6
|
-
{
|
5
|
+
{% assign RollerType = page.roller.type %}
|
7
6
|
|
8
|
-
|
7
|
+
{% include {{ LoopRoller | append : 'list.liquid' }}
|
8
|
+
loop = page.roller.loop
|
9
|
+
type = "input" %}
|
9
10
|
|
10
|
-
|
11
|
+
{% if RollerType == "default" %}
|
11
12
|
|
12
|
-
{
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
{%- endif -%}
|
19
|
-
|
20
|
-
{%- if item.output -%}
|
21
|
-
|
22
|
-
{% assign output = true %}
|
23
|
-
|
24
|
-
{%- endif -%}
|
25
|
-
|
26
|
-
{%- endfor -%}
|
27
|
-
|
28
|
-
<ul class="list roller input {{ PageChapter | prepend : 'chapter-' }}
|
29
|
-
{% if inline %}{{ items | prepend : 'split-' }}{% endif %}">
|
30
|
-
|
31
|
-
{%- for item in page.roller -%}
|
32
|
-
|
33
|
-
{%- if item.input -%}
|
34
|
-
|
35
|
-
{% assign label = item.input | replace : ' ','-' | downcase %}
|
36
|
-
|
37
|
-
<li class="item roller input {{ label | prepend : 'title-' }}">
|
38
|
-
|
39
|
-
{{ item.input }}
|
40
|
-
|
41
|
-
</li>
|
42
|
-
|
43
|
-
{%- endif -%}
|
44
|
-
|
45
|
-
{%- endfor -%}
|
46
|
-
|
47
|
-
</ul>
|
48
|
-
|
49
|
-
{%- if output -%}
|
50
|
-
|
51
|
-
<ul class="list roller output {{ PageChapter | prepend : 'chapter-' }}
|
52
|
-
{% if inline %}{{ items | prepend : 'split-' }}{% endif %}">
|
53
|
-
|
54
|
-
{%- for item in page.roller -%}
|
55
|
-
|
56
|
-
{%- if item.input -%}
|
57
|
-
|
58
|
-
{% assign label = item.input | replace : ' ','-' | downcase %}
|
59
|
-
|
60
|
-
{%- endif -%}
|
61
|
-
|
62
|
-
{%- if item.output -%}
|
63
|
-
|
64
|
-
<li class="item roller output {{ label | prepend : 'title-' }}">
|
65
|
-
|
66
|
-
{{ item.output }}
|
67
|
-
|
68
|
-
</li>
|
69
|
-
|
70
|
-
{%- endif -%}
|
71
|
-
|
72
|
-
{%- endfor -%}
|
73
|
-
|
74
|
-
</ul>
|
75
|
-
|
76
|
-
{%- endif -%}
|
13
|
+
{% include {{ LoopRoller | append : 'list.liquid' }}
|
14
|
+
loop = page.roller.loop
|
15
|
+
type = "output" %}
|
16
|
+
|
17
|
+
{% endif %}
|
@@ -7,10 +7,11 @@
|
|
7
7
|
{% assign shorturl = item.url | replace : '.html','' %}
|
8
8
|
{% assign longurl = longurl | replace : '/index','' %}
|
9
9
|
{% assign shorturl = shorturl | replace : '/index','' %}
|
10
|
+
{% assign chapter = item.chapter | replace : ' ','-' | downcase %}
|
10
11
|
|
11
12
|
{
|
12
13
|
"book" : "{{ item.collection }}",
|
13
|
-
"chapter" : "{{
|
14
|
+
"chapter" : "{{ chapter }}",
|
14
15
|
"title" : "{{ item.title }}",
|
15
16
|
"shorturl" : "{{ shorturl }}",
|
16
17
|
"longurl" : "{{ longurl }}"
|
@@ -9,13 +9,16 @@
|
|
9
9
|
color: setcolor($custom,dark);
|
10
10
|
}
|
11
11
|
|
12
|
+
// Used in Mindsets
|
12
13
|
@mixin ThemeMorph($name,$color) {
|
13
|
-
|
14
|
+
// find output path by dynamic class name
|
14
15
|
svg#morph path#output.#{$name} {
|
16
|
+
// set associated color for this class
|
15
17
|
stroke: $color;
|
16
18
|
}
|
17
19
|
}
|
18
20
|
|
21
|
+
// Used in Patterns
|
19
22
|
@mixin ThemeArtformHeader($name) {
|
20
23
|
|
21
24
|
.block.header.title-artform.tag-#{$name} {
|
@@ -40,6 +43,7 @@
|
|
40
43
|
}
|
41
44
|
}
|
42
45
|
|
46
|
+
// Used in Patterns
|
43
47
|
@mixin ThemeHeader($name,$col) {
|
44
48
|
|
45
49
|
.block.header.title-#{$name} {
|
@@ -64,6 +68,7 @@
|
|
64
68
|
}
|
65
69
|
}
|
66
70
|
|
71
|
+
// Used in Patterns
|
67
72
|
@mixin ThemeCheckbox($name,$col) {
|
68
73
|
.area.title-#{$name} {
|
69
74
|
|
@@ -75,6 +80,7 @@
|
|
75
80
|
}
|
76
81
|
}
|
77
82
|
|
83
|
+
// Used in Patterns
|
78
84
|
@mixin ThemeRadio($name,$col) {
|
79
85
|
.area.title-#{$name} {
|
80
86
|
|
@@ -93,6 +99,7 @@
|
|
93
99
|
}
|
94
100
|
}
|
95
101
|
|
102
|
+
// Used in Patterns
|
96
103
|
@mixin ThemeTextArea($name,$col) {
|
97
104
|
.area.title-#{$name} {
|
98
105
|
|
@@ -112,6 +119,7 @@
|
|
112
119
|
}
|
113
120
|
}
|
114
121
|
|
122
|
+
// Used in Patterns
|
115
123
|
@mixin ThemeSelect($name,$col) {
|
116
124
|
.area.title-#{$name} {
|
117
125
|
|
@@ -127,6 +135,7 @@
|
|
127
135
|
}
|
128
136
|
}
|
129
137
|
|
138
|
+
// Used in Patterns
|
130
139
|
@mixin ThemeList($name,$col) {
|
131
140
|
.area.title-#{$name} {
|
132
141
|
|
@@ -150,6 +159,7 @@
|
|
150
159
|
}
|
151
160
|
}
|
152
161
|
|
162
|
+
// Used in Patterns
|
153
163
|
@mixin ThemeText($name,$col) {
|
154
164
|
.area.title-#{$name} {
|
155
165
|
|
@@ -168,6 +178,7 @@
|
|
168
178
|
}
|
169
179
|
}
|
170
180
|
|
181
|
+
// Used in Patterns
|
171
182
|
@mixin ThemePassword($name,$col) {
|
172
183
|
.area.title-#{$name} {
|
173
184
|
.block.password-strength {
|
@@ -179,6 +190,7 @@
|
|
179
190
|
}
|
180
191
|
}
|
181
192
|
|
193
|
+
// Used in Patterns
|
182
194
|
@mixin ThemeMessage($name,$col) {
|
183
195
|
.area.title-#{$name} {
|
184
196
|
.block.message {
|
@@ -187,6 +199,7 @@
|
|
187
199
|
}
|
188
200
|
}
|
189
201
|
|
202
|
+
// Used in Patterns
|
190
203
|
@mixin ThemeCallout($name,$col) {
|
191
204
|
.area.title-#{$name} {
|
192
205
|
.block.title {
|
@@ -196,6 +209,7 @@
|
|
196
209
|
}
|
197
210
|
}
|
198
211
|
|
212
|
+
// Used in Patterns
|
199
213
|
@mixin ThemeAlert($name,$col) {
|
200
214
|
.area.title-#{$name} {
|
201
215
|
.block.form-alert {
|
@@ -206,6 +220,7 @@
|
|
206
220
|
}
|
207
221
|
}
|
208
222
|
|
223
|
+
// Used in Patterns
|
209
224
|
@mixin ThemeButton($name,$color) {
|
210
225
|
|
211
226
|
.area.title-#{$name} {
|
@@ -220,6 +235,7 @@
|
|
220
235
|
}
|
221
236
|
}
|
222
237
|
|
238
|
+
// Used globally
|
223
239
|
@mixin ThemeHome($name,$color){
|
224
240
|
// inherit theme color for the book cover
|
225
241
|
.link.book.#{$name} {
|
@@ -227,6 +243,7 @@
|
|
227
243
|
}
|
228
244
|
}
|
229
245
|
|
246
|
+
// Used globally
|
230
247
|
@mixin ThemeTopbar($name,$color) {
|
231
248
|
// inherit theme color for the topbar link
|
232
249
|
.link.navigation.#{$name} {
|
@@ -238,6 +255,7 @@
|
|
238
255
|
}
|
239
256
|
}
|
240
257
|
|
258
|
+
// Used globally
|
241
259
|
@mixin ThemeCover($name,$color,$left:false,$chapter:false) {
|
242
260
|
|
243
261
|
@if $chapter {
|
@@ -263,6 +281,7 @@
|
|
263
281
|
}
|
264
282
|
}
|
265
283
|
|
284
|
+
// Used globally
|
266
285
|
@mixin PageInfo($col,$right) {
|
267
286
|
|
268
287
|
.title.page-weight {
|
@@ -277,17 +296,20 @@
|
|
277
296
|
}
|
278
297
|
}
|
279
298
|
|
299
|
+
// Used in Mindsets
|
280
300
|
@mixin ThemeRollerInput($name,$col) {
|
281
301
|
background-color: rgba($col,10%);
|
282
302
|
color: $col;
|
283
303
|
}
|
284
304
|
|
305
|
+
// Used in Mindsets
|
285
306
|
@mixin ThemeRollerOutput($name,$col) {
|
286
307
|
background-color: rgba($col,10%);
|
287
308
|
border-color: rgba($col,20%);
|
288
309
|
color: $col;
|
289
310
|
}
|
290
311
|
|
312
|
+
// Used in Mindsets
|
291
313
|
@mixin ThemeRoller($name,$col,$chapter:false) {
|
292
314
|
|
293
315
|
@if $chapter {
|
@@ -325,6 +347,7 @@
|
|
325
347
|
}
|
326
348
|
}
|
327
349
|
|
350
|
+
// Used in Mindsets
|
328
351
|
@mixin ThemeChart($col) {
|
329
352
|
.block.chart-pcent-title {
|
330
353
|
color: $col;
|
@@ -335,6 +358,7 @@
|
|
335
358
|
}
|
336
359
|
}
|
337
360
|
|
361
|
+
// Used in Mindsets
|
338
362
|
@mixin ThemePages($name,$col,$right:false,$chapter:false) {
|
339
363
|
|
340
364
|
@if $chapter {
|
@@ -384,20 +408,20 @@
|
|
384
408
|
}
|
385
409
|
}
|
386
410
|
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
opacity: 1;
|
411
|
+
// Used in Mindsets
|
412
|
+
@mixin ThemeSnap($name,$color) {
|
413
|
+
svg.snap {
|
414
|
+
path.#{$name} {
|
415
|
+
fill: #{$color};
|
393
416
|
}
|
394
417
|
}
|
395
418
|
}
|
396
419
|
|
420
|
+
// Used everywhere
|
397
421
|
@mixin ThemeSearch($name,$col,$chapter:false) {
|
398
422
|
|
399
423
|
@if $chapter {
|
400
|
-
|
424
|
+
|
401
425
|
// Search Results
|
402
426
|
|
403
427
|
.block.results-entry.chapter-#{$name} {
|
data/_sass/item/pie.scss
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
%ItemPie {
|
3
3
|
text-align: center;
|
4
4
|
display: grid;
|
5
5
|
}
|
6
6
|
|
7
|
+
%ItemPieSnap {
|
8
|
+
@extend %ItemPie;
|
9
|
+
grid-row-gap: 15px;
|
10
|
+
font-size: 2.4rem;
|
11
|
+
}
|
12
|
+
|
13
|
+
.item.pie {
|
14
|
+
@extend %ItemPie;
|
15
|
+
}
|
16
|
+
|
7
17
|
.item.pie.style-spin {
|
8
18
|
grid-row-gap: 30px;
|
9
19
|
font-size: 2.8rem;
|
10
20
|
}
|
11
21
|
|
12
22
|
.item.pie.style-snap {
|
13
|
-
|
14
|
-
font-size: 2.4rem;
|
23
|
+
@extend %ItemPieSnap;
|
15
24
|
}
|
data/_sass/list/pie.scss
CHANGED
data/_sass/list/roller.scss
CHANGED
@@ -12,4 +12,16 @@ if ($("body").hasClass("type-home")) {
|
|
12
12
|
|
13
13
|
if (!Site.isTheme) {
|
14
14
|
Browse.able = $(".wrap.type-page").length;
|
15
|
-
}
|
15
|
+
}
|
16
|
+
|
17
|
+
const HandleClass = (e,state,name="active") => {
|
18
|
+
$(e).map((index,value) => {
|
19
|
+
if (state == "add") {
|
20
|
+
$(value).addClass(name);
|
21
|
+
} else if (state == "remove") {
|
22
|
+
$(value).removeClass(name);
|
23
|
+
} else if (state == "clear") {
|
24
|
+
$(value).removeClass();
|
25
|
+
}
|
26
|
+
});
|
27
|
+
}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
|
2
|
+
Roller.default.over = (tl, input, value, output, index) => {
|
3
|
+
|
4
|
+
tl.pause();
|
5
|
+
|
6
|
+
input.map((index,value) => {
|
7
|
+
|
8
|
+
if ($(value).hasClass("active")) {
|
9
|
+
|
10
|
+
Save.input = value;
|
11
|
+
Save.index = index;
|
12
|
+
|
13
|
+
HandleClass([value,output[index]],'remove');
|
14
|
+
|
15
|
+
}
|
16
|
+
|
17
|
+
});
|
18
|
+
|
19
|
+
HandleClass([value,output[index]],'add');
|
20
|
+
|
21
|
+
}
|
22
|
+
|
23
|
+
Roller.default.out = (tl, input, output) => {
|
24
|
+
|
25
|
+
input.map((index,value) => {
|
26
|
+
|
27
|
+
if ($(value).hasClass("active")) {
|
28
|
+
|
29
|
+
HandleClass([value,output[index]],'remove');
|
30
|
+
|
31
|
+
}
|
32
|
+
|
33
|
+
});
|
34
|
+
|
35
|
+
HandleClass([Save.input,output[Save.index]],'add');
|
36
|
+
|
37
|
+
tl.play();
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
Roller.default.tl = (input, output) => {
|
42
|
+
|
43
|
+
let tl = gsap.timeline({ repeat : -1 });
|
44
|
+
|
45
|
+
input.map((index,value) => {
|
46
|
+
|
47
|
+
let live = "";
|
48
|
+
|
49
|
+
$(value.classList).map((index,value) => {
|
50
|
+
|
51
|
+
if (value.startsWith("title-")) { live = value.slice(6); }
|
52
|
+
|
53
|
+
});
|
54
|
+
|
55
|
+
tl
|
56
|
+
.call(HandleClass,[value,'add'])
|
57
|
+
.call(HandleClass,[output[index],'add'])
|
58
|
+
.call(HandleClass,[value,'remove'],"+=1")
|
59
|
+
.call(HandleClass,[output[index],'remove']);
|
60
|
+
|
61
|
+
$(value).hover(function(){
|
62
|
+
|
63
|
+
Roller.default.over(tl, input, value, output, index);
|
64
|
+
|
65
|
+
}, function() {
|
66
|
+
|
67
|
+
Roller.default.out(tl, input, output);
|
68
|
+
|
69
|
+
});
|
70
|
+
|
71
|
+
});
|
72
|
+
|
73
|
+
}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
Roller.morph.over = (tl, input, value, output, index, data, live) => {
|
4
|
+
|
5
|
+
tl.pause();
|
6
|
+
|
7
|
+
input.map((index,value)=>{
|
8
|
+
|
9
|
+
if ($(value).hasClass("active")) {
|
10
|
+
|
11
|
+
Save.input = value;
|
12
|
+
Save.index = index;
|
13
|
+
|
14
|
+
HandleClass(value,'remove');
|
15
|
+
|
16
|
+
}
|
17
|
+
|
18
|
+
});
|
19
|
+
|
20
|
+
HandleClass(output,'clear');
|
21
|
+
|
22
|
+
$(value.classList).map((index,value) => {
|
23
|
+
|
24
|
+
if (value.startsWith("title-")) { live = value.slice(6); }
|
25
|
+
|
26
|
+
});
|
27
|
+
|
28
|
+
data = `path#${live}`;
|
29
|
+
|
30
|
+
gsap.to(output,{
|
31
|
+
morphSVG : data,
|
32
|
+
duration : 0.3
|
33
|
+
});
|
34
|
+
|
35
|
+
HandleClass(value,'add');
|
36
|
+
|
37
|
+
HandleClass(output,'add',live);
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
Roller.morph.out = (tl, input, output, live, data) => {
|
42
|
+
|
43
|
+
input.map((index,value) => {
|
44
|
+
|
45
|
+
if ($(value).hasClass("active")) {
|
46
|
+
|
47
|
+
HandleClass(value,'remove');
|
48
|
+
|
49
|
+
}
|
50
|
+
|
51
|
+
});
|
52
|
+
|
53
|
+
HandleClass(output,'clear');
|
54
|
+
|
55
|
+
$(Save.input.classList).map((index,value) => {
|
56
|
+
|
57
|
+
if (value.startsWith("title-")) { live = value.slice(6); }
|
58
|
+
|
59
|
+
});
|
60
|
+
|
61
|
+
data = `path#${live}`;
|
62
|
+
|
63
|
+
gsap.to(output,{
|
64
|
+
morphSVG : data,
|
65
|
+
duration : 0.3
|
66
|
+
});
|
67
|
+
|
68
|
+
HandleClass(Save.input,'add');
|
69
|
+
|
70
|
+
HandleClass(output,'add',live);
|
71
|
+
|
72
|
+
tl.play();
|
73
|
+
|
74
|
+
}
|
75
|
+
|
76
|
+
Roller.morph.tl = (input, output) => {
|
77
|
+
|
78
|
+
let tl = gsap.timeline({ repeat : -1 }),
|
79
|
+
live = "",
|
80
|
+
data = "";
|
81
|
+
|
82
|
+
input.map((index,value) => {
|
83
|
+
|
84
|
+
$(value.classList).map((index,value) => {
|
85
|
+
|
86
|
+
if (value.startsWith("title-")) { live = value.slice(6); }
|
87
|
+
|
88
|
+
});
|
89
|
+
|
90
|
+
data = `path#${live}`;
|
91
|
+
|
92
|
+
tl
|
93
|
+
.call(HandleClass,[value,'add'])
|
94
|
+
.call(HandleClass,[output,'add',live])
|
95
|
+
.to(output,{
|
96
|
+
morphSVG : data,
|
97
|
+
duration : 0.3
|
98
|
+
})
|
99
|
+
.call(HandleClass,[value,'remove'],"+=1")
|
100
|
+
.call(HandleClass,[output,'remove',live])
|
101
|
+
;
|
102
|
+
|
103
|
+
$(value).hover(function(){
|
104
|
+
|
105
|
+
Roller.morph.over(tl, input, value, output, index, data, live);
|
106
|
+
|
107
|
+
}, function() {
|
108
|
+
|
109
|
+
Roller.morph.out(tl, input, output);
|
110
|
+
|
111
|
+
});
|
112
|
+
|
113
|
+
});
|
114
|
+
|
115
|
+
}
|