deckr 0.1.0

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 (89) hide show
  1. data/Gemfile +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +29 -0
  4. data/Rakefile +9 -0
  5. data/bin/deckr +3 -0
  6. data/lib/deckr.rb +7 -0
  7. data/lib/deckr/cli.rb +22 -0
  8. data/lib/deckr/deck.rb +64 -0
  9. data/lib/deckr/package.rb +22 -0
  10. data/lib/deckr/resource.rb +37 -0
  11. data/lib/deckr/templates/Gemfile +5 -0
  12. data/lib/deckr/templates/config.ru +12 -0
  13. data/lib/deckr/templates/deck/GPL-license.txt +278 -0
  14. data/lib/deckr/templates/deck/MIT-license.txt +21 -0
  15. data/lib/deckr/templates/deck/README.md +64 -0
  16. data/lib/deckr/templates/deck/boilerplate.html +96 -0
  17. data/lib/deckr/templates/deck/core/deck.core.css +407 -0
  18. data/lib/deckr/templates/deck/core/deck.core.js +498 -0
  19. data/lib/deckr/templates/deck/core/deck.core.scss +450 -0
  20. data/lib/deckr/templates/deck/extensions/goto/deck.goto.css +41 -0
  21. data/lib/deckr/templates/deck/extensions/goto/deck.goto.html +7 -0
  22. data/lib/deckr/templates/deck/extensions/goto/deck.goto.js +170 -0
  23. data/lib/deckr/templates/deck/extensions/goto/deck.goto.scss +46 -0
  24. data/lib/deckr/templates/deck/extensions/hash/deck.hash.css +13 -0
  25. data/lib/deckr/templates/deck/extensions/hash/deck.hash.html +2 -0
  26. data/lib/deckr/templates/deck/extensions/hash/deck.hash.js +142 -0
  27. data/lib/deckr/templates/deck/extensions/hash/deck.hash.scss +15 -0
  28. data/lib/deckr/templates/deck/extensions/menu/deck.menu.css +47 -0
  29. data/lib/deckr/templates/deck/extensions/menu/deck.menu.js +187 -0
  30. data/lib/deckr/templates/deck/extensions/menu/deck.menu.scss +58 -0
  31. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.css +43 -0
  32. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.html +3 -0
  33. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.js +92 -0
  34. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.scss +56 -0
  35. data/lib/deckr/templates/deck/extensions/scale/deck.scale.css +28 -0
  36. data/lib/deckr/templates/deck/extensions/scale/deck.scale.js +170 -0
  37. data/lib/deckr/templates/deck/extensions/scale/deck.scale.scss +31 -0
  38. data/lib/deckr/templates/deck/extensions/status/deck.status.css +18 -0
  39. data/lib/deckr/templates/deck/extensions/status/deck.status.html +6 -0
  40. data/lib/deckr/templates/deck/extensions/status/deck.status.js +95 -0
  41. data/lib/deckr/templates/deck/extensions/status/deck.status.scss +22 -0
  42. data/lib/deckr/templates/deck/introduction/index.html +215 -0
  43. data/lib/deckr/templates/deck/jquery-1.7.2.min.js +4 -0
  44. data/lib/deckr/templates/deck/modernizr.custom.js +4 -0
  45. data/lib/deckr/templates/deck/test/fixtures/complex.html +24 -0
  46. data/lib/deckr/templates/deck/test/fixtures/empty.html +19 -0
  47. data/lib/deckr/templates/deck/test/fixtures/iframe_simple.html +10 -0
  48. data/lib/deckr/templates/deck/test/fixtures/iframes.html +32 -0
  49. data/lib/deckr/templates/deck/test/fixtures/nesteds.html +36 -0
  50. data/lib/deckr/templates/deck/test/fixtures/standard.html +42 -0
  51. data/lib/deckr/templates/deck/test/index.html +39 -0
  52. data/lib/deckr/templates/deck/test/lib/jasmine-html.js +190 -0
  53. data/lib/deckr/templates/deck/test/lib/jasmine-jquery.js +288 -0
  54. data/lib/deckr/templates/deck/test/lib/jasmine.css +166 -0
  55. data/lib/deckr/templates/deck/test/lib/jasmine.js +2477 -0
  56. data/lib/deckr/templates/deck/test/settings.js +3 -0
  57. data/lib/deckr/templates/deck/test/spec.core.js +436 -0
  58. data/lib/deckr/templates/deck/test/spec.goto.js +142 -0
  59. data/lib/deckr/templates/deck/test/spec.hash.js +81 -0
  60. data/lib/deckr/templates/deck/test/spec.menu.js +66 -0
  61. data/lib/deckr/templates/deck/test/spec.navigation.js +51 -0
  62. data/lib/deckr/templates/deck/test/spec.scale.js +57 -0
  63. data/lib/deckr/templates/deck/test/spec.status.js +58 -0
  64. data/lib/deckr/templates/deck/themes/style/neon.css +123 -0
  65. data/lib/deckr/templates/deck/themes/style/neon.scss +155 -0
  66. data/lib/deckr/templates/deck/themes/style/swiss.css +84 -0
  67. data/lib/deckr/templates/deck/themes/style/swiss.scss +107 -0
  68. data/lib/deckr/templates/deck/themes/style/web-2.0.css +214 -0
  69. data/lib/deckr/templates/deck/themes/style/web-2.0.scss +250 -0
  70. data/lib/deckr/templates/deck/themes/transition/fade.css +43 -0
  71. data/lib/deckr/templates/deck/themes/transition/fade.scss +69 -0
  72. data/lib/deckr/templates/deck/themes/transition/horizontal-slide.css +76 -0
  73. data/lib/deckr/templates/deck/themes/transition/horizontal-slide.scss +90 -0
  74. data/lib/deckr/templates/deck/themes/transition/vertical-slide.css +94 -0
  75. data/lib/deckr/templates/deck/themes/transition/vertical-slide.scss +112 -0
  76. data/lib/deckr/templates/views/index.slim +13 -0
  77. data/lib/deckr/templates/views/layout.slim +48 -0
  78. data/lib/deckr/version.rb +3 -0
  79. data/lib/rack/deckr.rb +31 -0
  80. data/lib/sinatra/deckr.rb +17 -0
  81. data/spec/deck_spec.rb +118 -0
  82. data/spec/fixtures/foo.txt +1 -0
  83. data/spec/fixtures/foo/bar.txt +1 -0
  84. data/spec/package_spec.rb +45 -0
  85. data/spec/rack/deckr_spec.rb +38 -0
  86. data/spec/resource_spec.rb +62 -0
  87. data/spec/sinatra/deckr_spec.rb +32 -0
  88. data/spec/spec_helper.rb +27 -0
  89. metadata +161 -0
@@ -0,0 +1,43 @@
1
+ .csstransitions.csstransforms .deck-container .slide {
2
+ -webkit-transition: opacity 500ms ease-in-out 0ms;
3
+ -moz-transition: opacity 500ms ease-in-out 0ms;
4
+ -ms-transition: opacity 500ms ease-in-out 0ms;
5
+ -o-transition: opacity 500ms ease-in-out 0ms;
6
+ transition: opacity 500ms ease-in-out 0ms;
7
+ }
8
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide {
9
+ position: absolute;
10
+ top: 0;
11
+ left: 0;
12
+ -webkit-box-sizing: border-box;
13
+ -moz-box-sizing: border-box;
14
+ box-sizing: border-box;
15
+ width: 100%;
16
+ padding: 0 48px;
17
+ }
18
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .slide {
19
+ position: relative;
20
+ left: 0;
21
+ top: 0;
22
+ }
23
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-after {
24
+ opacity: 0;
25
+ }
26
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-current {
27
+ opacity: 1;
28
+ }
29
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-after {
30
+ opacity: 0;
31
+ pointer-events: none;
32
+ }
33
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before .slide, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous .slide {
34
+ visibility: visible;
35
+ }
36
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current {
37
+ opacity: 1;
38
+ visibility: visible;
39
+ pointer-events: auto;
40
+ }
41
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current .deck-after {
42
+ visibility: hidden;
43
+ }
@@ -0,0 +1,69 @@
1
+ @mixin translate($x: 0, $y: 0, $z: 0) {
2
+ -webkit-transform:translate3d($x, $y, $z);
3
+ -moz-transform:translate($x, $y);
4
+ -ms-transform:translate($x, $y);
5
+ -o-transform:translate($x, $y);
6
+ transform:translate3d($x, $y, $z);
7
+ }
8
+
9
+ @mixin transition($prop, $duration, $easing: ease-in-out, $delay: 0ms) {
10
+ -webkit-transition:$prop $duration $easing $delay;
11
+ -moz-transition:$prop $duration $easing $delay;
12
+ -ms-transition:$prop $duration $easing $delay;
13
+ -o-transition:$prop $duration $easing $delay;
14
+ transition:$prop $duration $easing $delay;
15
+ }
16
+
17
+ .csstransitions.csstransforms {
18
+ .deck-container .slide {
19
+ @include transition(opacity, 500ms);
20
+ }
21
+
22
+ .deck-container:not(.deck-menu) {
23
+ > .slide {
24
+ position:absolute;
25
+ top:0;
26
+ left:0;
27
+ -webkit-box-sizing: border-box;
28
+ -moz-box-sizing: border-box;
29
+ box-sizing: border-box;
30
+ width:100%;
31
+ padding:0 48px;
32
+
33
+ .slide {
34
+ position:relative;
35
+ left:0;
36
+ top:0;
37
+ }
38
+
39
+ .deck-next, .deck-after {
40
+ opacity:0;
41
+ }
42
+
43
+ .deck-current {
44
+ opacity:1;
45
+ }
46
+ }
47
+
48
+ > .deck-previous, > .deck-before, > .deck-next, > .deck-after {
49
+ opacity:0;
50
+ pointer-events:none;
51
+ }
52
+
53
+ > .deck-before, > .deck-previous {
54
+ .slide {
55
+ visibility:visible;
56
+ }
57
+ }
58
+
59
+ > .deck-child-current {
60
+ opacity:1;
61
+ visibility:visible;
62
+ pointer-events:auto;
63
+
64
+ .deck-next, .deck-after {
65
+ visibility:hidden;
66
+ }
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,76 @@
1
+ .csstransitions.csstransforms {
2
+ overflow-x: hidden;
3
+ }
4
+ .csstransitions.csstransforms .deck-container > .slide {
5
+ -webkit-transition: -webkit-transform 500ms ease-in-out;
6
+ -moz-transition: -moz-transform 500ms ease-in-out;
7
+ -ms-transition: -ms-transform 500ms ease-in-out;
8
+ -o-transition: -o-transform 500ms ease-in-out;
9
+ transition: transform 500ms ease-in-out;
10
+ }
11
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide {
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ -webkit-box-sizing: border-box;
16
+ -moz-box-sizing: border-box;
17
+ box-sizing: border-box;
18
+ width: 100%;
19
+ padding: 0 48px;
20
+ }
21
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .slide {
22
+ position: relative;
23
+ left: 0;
24
+ top: 0;
25
+ -webkit-transition: -webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
26
+ -moz-transition: -moz-transform 500ms ease-in-out, opacity 500ms ease-in-out;
27
+ -ms-transition: -ms-transform 500ms ease-in-out, opacity 500ms ease-in-out;
28
+ -o-transition: -o-transform 500ms ease-in-out, opacity 500ms ease-in-out;
29
+ transition: -webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
30
+ }
31
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-after {
32
+ visibility: visible;
33
+ -webkit-transform: translate3d(200%, 0, 0);
34
+ -moz-transform: translate(200%, 0);
35
+ -ms-transform: translate(200%, 0);
36
+ -o-transform: translate(200%, 0);
37
+ transform: translate3d(200%, 0, 0);
38
+ }
39
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous {
40
+ -webkit-transform: translate3d(-200%, 0, 0);
41
+ -moz-transform: translate(-200%, 0);
42
+ -ms-transform: translate(-200%, 0);
43
+ -o-transform: translate(-200%, 0);
44
+ transform: translate3d(-200%, 0, 0);
45
+ }
46
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before {
47
+ -webkit-transform: translate3d(-400%, 0, 0);
48
+ -moz-transform: translate(-400%, 0);
49
+ -ms-transform: translate(-400%, 0);
50
+ -o-transform: translate(-400%, 0);
51
+ transform: translate3d(-400%, 0, 0);
52
+ }
53
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-next {
54
+ -webkit-transform: translate3d(200%, 0, 0);
55
+ -moz-transform: translate(200%, 0);
56
+ -ms-transform: translate(200%, 0);
57
+ -o-transform: translate(200%, 0);
58
+ transform: translate3d(200%, 0, 0);
59
+ }
60
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-after {
61
+ -webkit-transform: translate3d(400%, 0, 0);
62
+ -moz-transform: translate(400%, 0);
63
+ -ms-transform: translate(400%, 0);
64
+ -o-transform: translate(400%, 0);
65
+ transform: translate3d(400%, 0, 0);
66
+ }
67
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before .slide, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous .slide {
68
+ visibility: visible;
69
+ }
70
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current {
71
+ -webkit-transform: none;
72
+ -moz-transform: none;
73
+ -ms-transform: none;
74
+ -o-transform: none;
75
+ transform: none;
76
+ }
@@ -0,0 +1,90 @@
1
+ @mixin translate($x: 0, $y: 0, $z: 0) {
2
+ -webkit-transform:translate3d($x, $y, $z);
3
+ -moz-transform:translate($x, $y);
4
+ -ms-transform:translate($x, $y);
5
+ -o-transform:translate($x, $y);
6
+ transform:translate3d($x, $y, $z);
7
+ }
8
+
9
+ @mixin transition($prop, $duration, $easing: ease-in-out, $delay: 0ms) {
10
+ -webkit-transition:$prop $duration $easing $delay;
11
+ -moz-transition:$prop $duration $easing $delay;
12
+ -ms-transition:$prop $duration $easing $delay;
13
+ -o-transition:$prop $duration $easing $delay;
14
+ transition:$prop $duration $easing $delay;
15
+ }
16
+
17
+ @mixin transform($val) {
18
+ -webkit-transform:$val;
19
+ -moz-transform:$val;
20
+ -ms-transform:$val;
21
+ -o-transform:$val;
22
+ transform:$val;
23
+ }
24
+
25
+ .csstransitions.csstransforms {
26
+ overflow-x:hidden;
27
+
28
+ .deck-container > .slide {
29
+ -webkit-transition:-webkit-transform 500ms ease-in-out;
30
+ -moz-transition:-moz-transform 500ms ease-in-out;
31
+ -ms-transition:-ms-transform 500ms ease-in-out;
32
+ -o-transition:-o-transform 500ms ease-in-out;
33
+ transition:transform 500ms ease-in-out;
34
+ }
35
+
36
+ .deck-container:not(.deck-menu) {
37
+ > .slide {
38
+ position:absolute;
39
+ top:0;
40
+ left:0;
41
+ -webkit-box-sizing: border-box;
42
+ -moz-box-sizing: border-box;
43
+ box-sizing: border-box;
44
+ width:100%;
45
+ padding:0 48px;
46
+
47
+ .slide {
48
+ position:relative;
49
+ left:0;
50
+ top:0;
51
+ -webkit-transition:-webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
52
+ -moz-transition:-moz-transform 500ms ease-in-out, opacity 500ms ease-in-out;
53
+ -ms-transition:-ms-transform 500ms ease-in-out, opacity 500ms ease-in-out;
54
+ -o-transition:-o-transform 500ms ease-in-out, opacity 500ms ease-in-out;
55
+ transition:-webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
56
+ }
57
+
58
+ .deck-next, .deck-after {
59
+ visibility:visible;
60
+ @include translate(200%);
61
+ }
62
+ }
63
+
64
+ > .deck-previous {
65
+ @include translate(-200%);
66
+ }
67
+
68
+ > .deck-before {
69
+ @include translate(-400%);
70
+ }
71
+
72
+ > .deck-next {
73
+ @include translate(200%);
74
+ }
75
+
76
+ > .deck-after {
77
+ @include translate(400%);
78
+ }
79
+
80
+ > .deck-before, > .deck-previous {
81
+ .slide {
82
+ visibility:visible;
83
+ }
84
+ }
85
+
86
+ > .deck-child-current {
87
+ @include transform(none);
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,94 @@
1
+ .csstransitions.csstransforms .deck-container {
2
+ overflow-y: hidden;
3
+ }
4
+ .csstransitions.csstransforms .deck-container > .slide {
5
+ -webkit-transition: -webkit-transform 500ms ease-in-out;
6
+ -moz-transition: -moz-transform 500ms ease-in-out;
7
+ -ms-transition: -ms-transform 500ms ease-in-out;
8
+ -o-transition: -o-transform 500ms ease-in-out;
9
+ transition: transform 500ms ease-in-out;
10
+ }
11
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide {
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ -webkit-box-sizing: border-box;
16
+ -moz-box-sizing: border-box;
17
+ box-sizing: border-box;
18
+ width: 100%;
19
+ padding: 0 48px;
20
+ }
21
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .slide {
22
+ position: relative;
23
+ left: 0;
24
+ top: 0;
25
+ -webkit-transition: -webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
26
+ -moz-transition: -moz-transform 500ms ease-in-out, opacity 500ms ease-in-out;
27
+ -ms-transition: -ms-transform 500ms ease-in-out, opacity 500ms ease-in-out;
28
+ -o-transition: -o-transform 500ms ease-in-out, opacity 500ms ease-in-out;
29
+ transition: -webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
30
+ }
31
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-after {
32
+ visibility: visible;
33
+ -webkit-transform: translate3d(0, 1600px, 0);
34
+ -moz-transform: translate(0, 1600px);
35
+ -ms-transform: translate(0, 1600px);
36
+ -o-transform: translate(0, 1600px);
37
+ transform: translate3d(0, 1600px, 0);
38
+ }
39
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous {
40
+ -webkit-transform: translate3d(0, -200%, 0);
41
+ -moz-transform: translate(0, -200%);
42
+ -ms-transform: translate(0, -200%);
43
+ -o-transform: translate(0, -200%);
44
+ transform: translate3d(0, -200%, 0);
45
+ }
46
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before {
47
+ -webkit-transform: translate3d(0, -400%, 0);
48
+ -moz-transform: translate(0, -400%);
49
+ -ms-transform: translate(0, -400%);
50
+ -o-transform: translate(0, -400%);
51
+ transform: translate3d(0, -400%, 0);
52
+ }
53
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-next {
54
+ -webkit-transform: translate3d(0, 200%, 0);
55
+ -moz-transform: translate(0, 200%);
56
+ -ms-transform: translate(0, 200%);
57
+ -o-transform: translate(0, 200%);
58
+ transform: translate3d(0, 200%, 0);
59
+ }
60
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-after {
61
+ -webkit-transform: translate3d(0, 400%, 0);
62
+ -moz-transform: translate(0, 400%);
63
+ -ms-transform: translate(0, 400%);
64
+ -o-transform: translate(0, 400%);
65
+ transform: translate3d(0, 400%, 0);
66
+ }
67
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before .slide, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous .slide {
68
+ visibility: visible;
69
+ }
70
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current {
71
+ -webkit-transform: none;
72
+ -moz-transform: none;
73
+ -ms-transform: none;
74
+ -o-transform: none;
75
+ transform: none;
76
+ }
77
+ .csstransitions.csstransforms .deck-prev-link {
78
+ left: auto;
79
+ right: 8px;
80
+ top: 59px;
81
+ -webkit-transform: rotate(90deg);
82
+ -moz-transform: rotate(90deg);
83
+ -ms-transform: rotate(90deg);
84
+ -o-transform: rotate(90deg);
85
+ transform: rotate(90deg);
86
+ }
87
+ .csstransitions.csstransforms .deck-next-link {
88
+ top: 99px;
89
+ -webkit-transform: rotate(90deg);
90
+ -moz-transform: rotate(90deg);
91
+ -ms-transform: rotate(90deg);
92
+ -o-transform: rotate(90deg);
93
+ transform: rotate(90deg);
94
+ }
@@ -0,0 +1,112 @@
1
+ @mixin translate($x: 0, $y: 0, $z: 0) {
2
+ -webkit-transform:translate3d($x, $y, $z);
3
+ -moz-transform:translate($x, $y);
4
+ -ms-transform:translate($x, $y);
5
+ -o-transform:translate($x, $y);
6
+ transform:translate3d($x, $y, $z);
7
+ }
8
+
9
+ @mixin rotate($deg) {
10
+ -webkit-transform:rotate($deg);
11
+ -moz-transform:rotate($deg);
12
+ -ms-transform:rotate($deg);
13
+ -o-transform:rotate($deg);
14
+ transform:rotate($deg);
15
+ }
16
+
17
+ @mixin transition($prop, $duration, $easing: ease-in-out, $delay: 0ms) {
18
+ -webkit-transition:$prop $duration $easing $delay;
19
+ -moz-transition:$prop $duration $easing $delay;
20
+ -ms-transition:$prop $duration $easing $delay;
21
+ -o-transition:$prop $duration $easing $delay;
22
+ transition:$prop $duration $easing $delay;
23
+ }
24
+
25
+ @mixin transform($val) {
26
+ -webkit-transform:$val;
27
+ -moz-transform:$val;
28
+ -ms-transform:$val;
29
+ -o-transform:$val;
30
+ transform:$val;
31
+ }
32
+
33
+ .csstransitions.csstransforms {
34
+ .deck-container {
35
+ overflow-y:hidden;
36
+
37
+ > .slide {
38
+ -webkit-transition:-webkit-transform 500ms ease-in-out;
39
+ -moz-transition:-moz-transform 500ms ease-in-out;
40
+ -ms-transition:-ms-transform 500ms ease-in-out;
41
+ -o-transition:-o-transform 500ms ease-in-out;
42
+ transition:transform 500ms ease-in-out;
43
+ }
44
+ }
45
+
46
+ .deck-container:not(.deck-menu) {
47
+ > .slide {
48
+ position:absolute;
49
+ top:0;
50
+ left:0;
51
+ -webkit-box-sizing: border-box;
52
+ -moz-box-sizing: border-box;
53
+ box-sizing: border-box;
54
+ width:100%;
55
+ padding:0 48px;
56
+
57
+ .slide {
58
+ position:relative;
59
+ left:0;
60
+ top:0;
61
+ -webkit-transition:-webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
62
+ -moz-transition:-moz-transform 500ms ease-in-out, opacity 500ms ease-in-out;
63
+ -ms-transition:-ms-transform 500ms ease-in-out, opacity 500ms ease-in-out;
64
+ -o-transition:-o-transform 500ms ease-in-out, opacity 500ms ease-in-out;
65
+ transition:-webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
66
+ }
67
+
68
+ .deck-next, .deck-after {
69
+ visibility:visible;
70
+ @include translate(0, 1600px);
71
+ }
72
+ }
73
+
74
+ > .deck-previous {
75
+ @include translate(0, -200%);
76
+ }
77
+
78
+ > .deck-before {
79
+ @include translate(0, -400%);
80
+ }
81
+
82
+ > .deck-next {
83
+ @include translate(0, 200%);
84
+ }
85
+
86
+ > .deck-after {
87
+ @include translate(0, 400%);
88
+ }
89
+
90
+ > .deck-before, > .deck-previous {
91
+ .slide {
92
+ visibility:visible;
93
+ }
94
+ }
95
+
96
+ > .deck-child-current {
97
+ @include transform(none);
98
+ }
99
+ }
100
+
101
+ .deck-prev-link {
102
+ left:auto;
103
+ right:8px;
104
+ top:59px;
105
+ @include rotate(90deg);
106
+ }
107
+
108
+ .deck-next-link {
109
+ top:99px;
110
+ @include rotate(90deg);
111
+ }
112
+ }