toolbox_esten 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +0 -0
  3. data/CONTRIBUTING.md +0 -0
  4. data/Gemfile +10 -0
  5. data/Gemfile.lock +165 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +0 -0
  8. data/Rakefile +8 -0
  9. data/assets/javascripts/simpleLoader/simpleLoader.js +122 -0
  10. data/assets/javascripts/simpleLoader/simpleLoader.min.js +1 -0
  11. data/assets/javascripts/simpleMenu/simpleMenu.js +53 -0
  12. data/assets/javascripts/simpleMenu/simpleMenu.min.js +1 -0
  13. data/assets/javascripts/simpleSelection/simpleSelect.js +60 -0
  14. data/assets/javascripts/simpleTextfield/simpleTextfield.js +94 -0
  15. data/assets/javascripts/simpleTooltip/simpleTooltip.js +166 -0
  16. data/assets/javascripts/simpleTooltip/simpleTooltip.min.js +1 -0
  17. data/assets/stylesheets/_jquery_ui.scss +1 -0
  18. data/assets/stylesheets/_simpleloader.scss +2 -0
  19. data/assets/stylesheets/_simpleselection.scss +1 -0
  20. data/assets/stylesheets/_simpletextfield.scss +1 -0
  21. data/assets/stylesheets/_simpletooltip.scss +1 -0
  22. data/assets/stylesheets/_toolbox_esten.scss +18 -0
  23. data/assets/stylesheets/jquery_ui/uidialog.scss +39 -0
  24. data/assets/stylesheets/simpleLoader/keyframes.scss +325 -0
  25. data/assets/stylesheets/simpleLoader/simpleLoader.scss +367 -0
  26. data/assets/stylesheets/simpleSelection/simpleSelection.scss +15 -0
  27. data/assets/stylesheets/simpleTextfield/simpleTextfield.scss +54 -0
  28. data/assets/stylesheets/simpleTooltip/simpleTooltip.scss +21 -0
  29. data/assets/stylesheets/toolbox_esten/base.scss +27 -0
  30. data/assets/stylesheets/toolbox_esten/buttons.scss +162 -0
  31. data/assets/stylesheets/toolbox_esten/datatables.scss +113 -0
  32. data/assets/stylesheets/toolbox_esten/detail.scss +22 -0
  33. data/assets/stylesheets/toolbox_esten/flex.scss +32 -0
  34. data/assets/stylesheets/toolbox_esten/form.scss +35 -0
  35. data/assets/stylesheets/toolbox_esten/grid.scss +34 -0
  36. data/assets/stylesheets/toolbox_esten/helper.scss +42 -0
  37. data/assets/stylesheets/toolbox_esten/mixins.scss +179 -0
  38. data/assets/stylesheets/toolbox_esten/notification.scss +109 -0
  39. data/assets/stylesheets/toolbox_esten/reset.scss +38 -0
  40. data/assets/stylesheets/toolbox_esten/section.scss +53 -0
  41. data/assets/stylesheets/toolbox_esten/tables.scss +72 -0
  42. data/assets/stylesheets/toolbox_esten/tabs.scss +42 -0
  43. data/assets/stylesheets/toolbox_esten/textfield.scss +43 -0
  44. data/assets/stylesheets/toolbox_esten/top_bar.scss +80 -0
  45. data/assets/stylesheets/toolbox_esten/variables.scss +260 -0
  46. data/bower.json +26 -0
  47. data/composer.json +20 -0
  48. data/lib/toolbox_esten.rb +84 -0
  49. data/lib/toolbox_esten/engine.rb +11 -0
  50. data/lib/toolbox_esten/version.rb +3 -0
  51. data/sache.json +5 -0
  52. data/tasks/bower.rake +29 -0
  53. data/tasks/converter.rb +62 -0
  54. data/tasks/converter/char_string_scanner.rb +38 -0
  55. data/tasks/converter/logger.rb +57 -0
  56. data/tasks/converter/network.rb +100 -0
  57. data/tasks/install.rake +20 -0
  58. data/templates/.travis.yml +19 -0
  59. data/templates/project/styles.sass +2 -0
  60. data/toolbox_esten.gemspec +43 -0
  61. metadata +317 -0
@@ -0,0 +1,94 @@
1
+ +function($) {
2
+ 'use strict';
3
+
4
+ var Simpletextfield = function(element, options) {
5
+ this.init(element, options);
6
+ }
7
+
8
+ Simpletextfield.DEFAULTS = {
9
+ }
10
+
11
+ Simpletextfield.prototype.init = function(element, options) {
12
+ var $ele = $(element);
13
+ if($ele.parent().find(".simplelabel").length == 0) {
14
+ generateTemplate($ele);
15
+ }
16
+
17
+ var target = $ele.parent().find(".simplelabel");
18
+ var inactive_target = $ele.parent().find(".simplelabel:not('.focus')");
19
+
20
+ target.click(function() {
21
+ if(!$(this).hasClass("focus")) {
22
+ $ele.focus();
23
+ focus_In($ele, target);
24
+ }
25
+ });
26
+
27
+ $ele.on("focusin", function() {
28
+ focus_In($(this), target);
29
+ });
30
+
31
+ $ele.on("focusout", function() {
32
+ focus_Out($(this), target);
33
+ });
34
+
35
+ if($ele[0].localName == "textarea") {
36
+ var ta = $ele[0];
37
+
38
+ $(ta).keyup(function() {
39
+ autoHeight(this);
40
+ });
41
+ }
42
+ }
43
+
44
+ function generateTemplate(ele) {
45
+ var title = ele.data("title");
46
+ var tooltip = ele.data("tooltip-title");
47
+ if(tooltip) {
48
+ var template = '<span class="simplelabel simpletooltip" data-tooltip-title="'+tooltip+'">'+title+'</span>';
49
+ } else {
50
+ var template = '<span class="simplelabel">'+title+'</span>';
51
+ }
52
+ ele.after(template);
53
+ }
54
+
55
+ function focus_In(ele, target) {
56
+ target.addClass("focus");
57
+ ele.addClass("focus");
58
+ }
59
+
60
+ function focus_Out(ele, target) {
61
+ if(ele.val().length == 0) {
62
+ target.removeClass("focus filled");
63
+ ele.removeClass("focus");
64
+ } else {
65
+ target.addClass("filled").removeClass("focus");
66
+ ele.removeClass("focus");
67
+ }
68
+ }
69
+
70
+ function autoHeight(obj) {
71
+ $(obj).height(30);
72
+ $(obj).height(
73
+ obj.scrollHeight + parseFloat($(obj).css("borderTopWidth")) + parseFloat($(obj).css("borderBottomWidth"))
74
+ );
75
+ }
76
+
77
+ function Plugin(option) {
78
+ return this.each(function() {
79
+ var $this = $(this);
80
+ var options = $.extend({}, Simpletextfield.DEFAULTS, option);
81
+ new Simpletextfield(this, options);
82
+ });
83
+ }
84
+
85
+ var old = $.fn.simpletextfield;
86
+
87
+ $.fn.simpletextfield = Plugin;
88
+ $.fn.simpletextfield.Constructor = Simpletextfield;
89
+
90
+ $.fn.simpletextfield.noConflict = function() {
91
+ $.fn.simpletextfield = old;
92
+ return this;
93
+ }
94
+ }(jQuery);
@@ -0,0 +1,166 @@
1
+ +function($) {
2
+ 'use strict';
3
+
4
+ var Simpletooltip = function(element, options) {
5
+ this.init(element, options);
6
+ }
7
+
8
+ Simpletooltip.DEFAULTS = {
9
+ template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
10
+ viewport: '.container',
11
+ maxwidth: false,
12
+ theme: {
13
+ background: '#000000',
14
+ color: '#FFFFFF',
15
+ textshadow: 'none'
16
+ }
17
+ }
18
+
19
+ Simpletooltip.prototype.init = function(element, options) {
20
+ this.$element = $(element);
21
+ this.options = options;
22
+
23
+ this.$element.on('mouseenter', $.proxy(this.enter, this));
24
+ this.$element.on('mouseout', $.proxy(this.leave, this));
25
+ }
26
+
27
+ Simpletooltip.prototype.enter = function(obj) {
28
+ var $tip = this.tip();
29
+ var el = this.$element;
30
+ var viewport = this.options.viewport;
31
+
32
+ this.setContent($tip);
33
+
34
+ $tip.detach();
35
+ $(viewport).css("position", "relative");
36
+ $tip.appendTo(viewport);
37
+
38
+ var placement = el.data("placement");
39
+ var pos = this.getPosition(el);
40
+ var calculatedOffset = this.getCalculatedOffset(placement, pos);
41
+ // this.placeArrow(placement);
42
+
43
+ this.setCalculatedOffset(calculatedOffset);
44
+ }
45
+
46
+ Simpletooltip.prototype.leave = function(obj) {
47
+ var $tip = this.tip();
48
+ $tip.detach();
49
+ }
50
+
51
+ Simpletooltip.prototype.tip = function() {
52
+ if (!this.$tip) {
53
+ this.$tip = $(this.options.template)
54
+ if (this.$tip.length != 1) {
55
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
56
+ }
57
+ }
58
+ return this.$tip;
59
+ }
60
+
61
+ Simpletooltip.prototype.setContent = function(tip) {
62
+ var $tip = this.tip();
63
+ var $background = this.options.theme.background;
64
+ var $color = this.options.theme.color;
65
+ var $textshadow = this.options.theme.textshadow;
66
+ var $maxwidth = this.options.maxwidth;
67
+ var $title = this.getTitle();
68
+ $tip.css({
69
+ 'background': $background,
70
+ 'color': $color,
71
+ 'text-shadow': $textshadow,
72
+ 'max-width': $maxwidth
73
+ });
74
+ $tip.find('.tooltip-inner').empty().append($title);
75
+ }
76
+
77
+ Simpletooltip.prototype.getTitle = function() {
78
+ var $e = this.$element;
79
+
80
+ if($e.data("title")) {
81
+ return $e.data('title');
82
+ } else {
83
+ return $e.data('tooltip-title');
84
+ }
85
+ }
86
+
87
+ Simpletooltip.prototype.getPosition = function(element) {
88
+ var pos = element.offset();
89
+
90
+ return pos;
91
+ }
92
+
93
+ Simpletooltip.prototype.getCalculatedOffset = function(placement, pos) {
94
+ var $tip = this.tip();
95
+ var el = this.$element;
96
+ var tipWidth = $tip[0].offsetWidth;
97
+ var tipHeight = $tip[0].offsetHeight;
98
+ var elWidth = el[0].offsetWidth;
99
+ var elHeight = el[0].offsetHeight;
100
+ var top, left, calculatedOffset;
101
+
102
+ if(placement == 'top') {
103
+ top = pos.top - tipHeight - 3;
104
+ left = pos.left - (tipWidth - elWidth) / 2;
105
+ } else if(placement == 'bottom') {
106
+ top = pos.top + elHeight + 3;
107
+ left = pos.left - (tipWidth - elWidth) / 2;
108
+ } else if(placement == 'left') {
109
+ top = pos.top + (elHeight - tipHeight) / 2;
110
+ left = pos.left - tipWidth - 3;
111
+ } else {
112
+ top = pos.top + (elHeight - tipHeight) / 2;
113
+ left = pos.left + elWidth + 3;
114
+ }
115
+
116
+ calculatedOffset = {'top': top, 'left': left};
117
+
118
+ return calculatedOffset;
119
+ }
120
+
121
+ // Simpletooltip.prototype.placeArrow = function(placement) {
122
+ // var $tip = this.tip();
123
+ // var $arrow = $tip.find(".tooltip-arrow");
124
+ // var $background = this.options.theme.background;
125
+
126
+ // if(placement == 'top') {
127
+ // $arrow.addClass('to_top');
128
+ // $arrow.css("border-top-color", $background);
129
+ // } else if(placement == 'bottom') {
130
+ // $arrow.addClass('to_bottom');
131
+ // $arrow.css("border-bottom-color", $background);
132
+ // } else if(placement == 'left') {
133
+ // $arrow.addClass('to_left');
134
+ // $arrow.css("border-left-color", $background);
135
+ // } else {
136
+ // $arrow.addClass('to_right');
137
+ // $arrow.css("border-right-color", $background);
138
+ // }
139
+ // }
140
+
141
+ Simpletooltip.prototype.setCalculatedOffset = function(calculatedOffset) {
142
+ var $tip = this.tip();
143
+ $($tip[0]).css({
144
+ 'top': calculatedOffset.top,
145
+ 'left': calculatedOffset.left
146
+ });
147
+ }
148
+
149
+ function Plugin(option) {
150
+ return this.each(function() {
151
+ var $this = $(this);
152
+ var options = $.extend({}, Simpletooltip.DEFAULTS, option);
153
+ new Simpletooltip(this, options);
154
+ });
155
+ }
156
+
157
+ var old = $.fn.simpletooltip;
158
+
159
+ $.fn.simpletooltip = Plugin;
160
+ $.fn.simpletooltip.Constructor = Simpletooltip;
161
+
162
+ $.fn.simpletooltip.noConflict = function() {
163
+ $.fn.simpletooltip = old;
164
+ return this;
165
+ }
166
+ }(jQuery);
@@ -0,0 +1 @@
1
+ +function(t){"use strict";function o(o){return this.each(function(){var i=(t(this),t.extend({},e.DEFAULTS,o));new e(this,i)})}var e=function(t,o){this.init(t,o)};e.DEFAULTS={template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',viewport:".container",theme:{background:"#000000",color:"#FFFFFF"}},e.prototype.init=function(o,e){this.$element=t(o),this.options=e,this.$element.on("mouseenter",t.proxy(this.enter,this)),this.$element.on("mouseout",t.proxy(this.leave,this))},e.prototype.enter=function(o){var e=this.tip(),i=this.$element,s=this.options.viewport;this.setContent(e),e.detach(),t(s).css("position","relative"),e.appendTo(s);var n=i.data("placement"),r=this.getPosition(i),p=this.getCalculatedOffset(n,r);this.placeArrow(n),this.setCalculatedOffset(p)},e.prototype.leave=function(t){var o=this.tip();o.detach()},e.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},e.prototype.setContent=function(t){var o=this.tip(),e=this.options.theme.background,i=this.options.theme.color,s=this.getTitle();o.css({background:e,color:i}),o.find(".tooltip-inner").empty().append(s)},e.prototype.getTitle=function(){var t=this.$element;return t.attr("title")},e.prototype.getPosition=function(t){var o=t.offset();return o},e.prototype.getCalculatedOffset=function(t,o){var e,i,s,n=this.tip(),r=this.$element,p=n[0].offsetWidth,l=n[0].offsetHeight,a=r[0].offsetWidth,f=r[0].offsetHeight;return"top"==t?(e=o.top-l-5,i=o.left-(p-a)/2):"bottom"==t?(e=o.top+f+5,i=o.left-(p-a)/2):"left"==t?(e=o.top+(f-l)/2,i=o.left-p-5):(e=o.top+(f-l)/2,i=o.left+a+5),s={top:e,left:i}},e.prototype.placeArrow=function(t){var o=this.tip(),e=o.find(".tooltip-arrow"),i=this.options.theme.background;"top"==t?(e.addClass("to_top"),e.css("border-top-color",i)):"bottom"==t?(e.addClass("to_bottom"),e.css("border-bottom-color",i)):"left"==t?(e.addClass("to_left"),e.css("border-left-color",i)):(e.addClass("to_right"),e.css("border-right-color",i))},e.prototype.setCalculatedOffset=function(o){var e=this.tip();t(e[0]).css({top:o.top,left:o.left})};var i=t.fn.simpletooltip;t.fn.simpletooltip=o,t.fn.simpletooltip.Constructor=e,t.fn.simpletooltip.noConflict=function(){return t.fn.simpletooltip=i,this}}(jQuery);
@@ -0,0 +1 @@
1
+ @import "jquery_ui/uidialog";
@@ -0,0 +1,2 @@
1
+ @import "simpleLoader/keyframes";
2
+ @import "simpleLoader/simpleLoader";
@@ -0,0 +1 @@
1
+ @import "simpleSelection/simpleSelection";
@@ -0,0 +1 @@
1
+ @import "simpleTextfield/simpleTextfield";
@@ -0,0 +1 @@
1
+ @import "simpleTooltip/simpleTooltip";
@@ -0,0 +1,18 @@
1
+ @import "toolbox_esten/mixins";
2
+ @import "toolbox_esten/variables";
3
+ @import "toolbox_esten/reset";
4
+ @import "toolbox_esten/base";
5
+ @import "toolbox_esten/grid";
6
+ @import "toolbox_esten/helper";
7
+ @import "toolbox_esten/flex";
8
+
9
+ @import "toolbox_esten/top_bar";
10
+ @import "toolbox_esten/buttons";
11
+ @import "toolbox_esten/textfield";
12
+ @import "toolbox_esten/section";
13
+ @import "toolbox_esten/form";
14
+ @import "toolbox_esten/detail";
15
+ @import "toolbox_esten/tables";
16
+ @import "toolbox_esten/tabs";
17
+ @import "toolbox_esten/datatables";
18
+ @import "toolbox_esten/notification";
@@ -0,0 +1,39 @@
1
+ .ui-dialog {
2
+ @include border-radius(0);
3
+ @include box-shadow(0 1px 10px $grey_500);
4
+ position: absolute;
5
+ background: #FFFFFF;
6
+ outline: 0;
7
+ .ui-dialog-titlebar { display: none; }
8
+ .ui-dialog-content {
9
+ @include font(14px, 400);
10
+ @include border-radius(0);
11
+ padding: 16px 24px;
12
+ line-height: 30px;
13
+ color: $grey_600;
14
+ overflow: auto;
15
+ outline: 0;
16
+ p { margin: 4px 0; }
17
+ b {
18
+ color: $blue_500;
19
+ &.alert { color: $deep_orange_400; }
20
+ }
21
+ .dialog-title {
22
+ @include font(20px, 500);
23
+ line-height: 30px;
24
+ color: $grey_500;
25
+ }
26
+ .form-body { padding: 0; }
27
+ }
28
+ .ui-dialog-buttonpane {
29
+ min-height: 30px;
30
+ padding: 16px 24px;
31
+ }
32
+ }
33
+ .ui-widget-overlay {
34
+ @include size(100%, 100%);
35
+ position: fixed;
36
+ top: 0;
37
+ left: 0;
38
+ background: rgba(255,255,255,.7);
39
+ }
@@ -0,0 +1,325 @@
1
+ /* ==================== Keyframes ==================== */
2
+ /* ---------- Horizon Ball ---------- */
3
+ @-webkit-keyframes horizon-ball {
4
+ 0%, 80% {
5
+ @include opacity(100);
6
+ @include transform(scale(1));
7
+ }
8
+ 40% {
9
+ @include opacity(70);
10
+ @include transform(scale(0.1));
11
+ }
12
+ }
13
+ @keyframes horizon-ball {
14
+ 0%, 80% {
15
+ @include opacity(100);
16
+ @include transform(scale(1));
17
+ }
18
+ 40% {
19
+ @include opacity(70);
20
+ @include transform(scale(0.1));
21
+ }
22
+ }
23
+ /* ---------- END Horizon Ball ---------- */
24
+
25
+ /* ---------- Grid Ball ---------- */
26
+ @-webkit-keyframes grid-ball {
27
+ 0%, 100% {
28
+ @include opacity(100);
29
+ @include transform(scale(1));
30
+ }
31
+ 50% {
32
+ @include opacity(70);
33
+ @include transform(scale(0.5));
34
+ }
35
+ }
36
+ @keyframes grid-ball {
37
+ 0%, 100% {
38
+ @include opacity(100);
39
+ @include transform(scale(1));
40
+ }
41
+ 50% {
42
+ @include opacity(70);
43
+ @include transform(scale(0.5));
44
+ }
45
+ }
46
+ /* ---------- END Grid Ball ---------- */
47
+
48
+ /* ---------- Rotate Circle ---------- */
49
+ @-webkit-keyframes rotate-circle {
50
+ 0% { @include transform(scale(1) rotate(0deg)); }
51
+ 50% { @include transform(scale(1.3) rotate(180deg)); }
52
+ 100% { @include transform(scale(1) rotate(360deg)); }
53
+ }
54
+ @keyframes rotate-circle {
55
+ 0% { @include transform(scale(1) rotate(0deg)); }
56
+ 50% { @include transform(scale(1.3) rotate(180deg)); }
57
+ 100% { @include transform(scale(1) rotate(360deg)); }
58
+ }
59
+ /* ---------- END Rotate Circle ---------- */
60
+
61
+ /* ---------- Rotate Clip Ball ---------- */
62
+ @-webkit-keyframes rotate-clip-ball {
63
+ 30% { @include transform(scale(0.3)); }
64
+ 100% { @include transform(scale(1)); }
65
+ }
66
+ @keyframes rotate-clip-ball {
67
+ 30% { @include transform(scale(0.3)); }
68
+ 100% { @include transform(scale(1)); }
69
+ }
70
+ /* ---------- END Rotate Clip Ball ---------- */
71
+
72
+ /* ---------- Square Spin ---------- */
73
+ @-webkit-keyframes square-spin {
74
+ 25% { @include transform(perspective(100px) rotateX(180deg) rotateY(0)); }
75
+ 50% { @include transform(perspective(100px) rotateX(180deg) rotateY(180deg)); }
76
+ 75% { @include transform(perspective(100px) rotateX(0) rotateY(180deg)); }
77
+ 100% { @include transform(perspective(100px) rotateX(0) rotateY(0)); }
78
+ }
79
+ @keyframes square-spin {
80
+ 25% { @include transform(perspective(100px) rotateX(180deg) rotateY(0)); }
81
+ 50% { @include transform(perspective(100px) rotateX(180deg) rotateY(180deg)); }
82
+ 75% { @include transform(perspective(100px) rotateX(0) rotateY(180deg)); }
83
+ 100% { @include transform(perspective(100px) rotateX(0) rotateY(0)); }
84
+ }
85
+ /* ---------- END Square Spin ---------- */
86
+
87
+ /* ---------- Rotate Clip Circle ---------- */
88
+ @-webkit-keyframes rotate-clip-circle {
89
+ 0% { @include transform(scale(1) rotate(0deg)); }
90
+ 50% { @include transform(scale(1.3) rotate(180deg)); }
91
+ 100% { @include transform(scale(1) rotate(360deg)); }
92
+ }
93
+ @keyframes rotate-clip-circle {
94
+ 0% { @include transform(scale(1) rotate(0deg)); }
95
+ 50% { @include transform(scale(1.3) rotate(180deg)); }
96
+ 100% { @include transform(scale(1) rotate(360deg)); }
97
+ }
98
+ /* ---------- END Rotate Clip Circle ---------- */
99
+
100
+ /* ---------- Rise Ball ---------- */
101
+ @-webkit-keyframes rise-ball-odd {
102
+ 0%, 100% { @include transform(scale(0.3) translate(0)); }
103
+ 25% { @include transform(scale(1) translate(0, 20px)); }
104
+ 75% { @include transform(scale(1) translate(0, -20px)); }
105
+ }
106
+ @keyframes rise-ball-odd {
107
+ 0%, 100% { @include transform(scale(0.3) translate(0)); }
108
+ 25% { @include transform(scale(1) translate(0, 20px)); }
109
+ 75% { @include transform(scale(1) translate(0, -20px)); }
110
+ }
111
+ @-webkit-keyframes rise-ball-even {
112
+ 0%, 100% { @include transform(scale(1) translate(0)); }
113
+ 25% { @include transform(scale(1) translate(0, -20px)); }
114
+ 50% { @include transform(scale(0.3) translate(0)); }
115
+ 75% { @include transform(scale(1) translate(0, 20px)); }
116
+ }
117
+ @keyframes rise-ball-even {
118
+ 0%, 100% { @include transform(scale(1) translate(0)); }
119
+ 25% { @include transform(scale(1) translate(0, -20px)); }
120
+ 50% { @include transform(scale(0.3) translate(0)); }
121
+ 75% { @include transform(scale(1) translate(0, 20px)); }
122
+ }
123
+ /* ---------- END Rise Ball ---------- */
124
+
125
+ /* ---------- Rotate Ball ---------- */
126
+ @-webkit-keyframes rotate-ball {
127
+ 0% { @include transform(scale(1) rotate(0deg)); }
128
+ 50% { @include transform(scale(0.6) rotate(180deg)); }
129
+ 100% { @include transform(scale(1) rotate(360deg)); }
130
+ }
131
+ @keyframes rotate-ball {
132
+ 0% { @include transform(scale(1) rotate(0deg)); }
133
+ 50% { @include transform(scale(0.6) rotate(180deg)); }
134
+ 100% { @include transform(scale(1) rotate(360deg)); }
135
+ }
136
+ /* ---------- END Rotate Ball ---------- */
137
+
138
+ /* ---------- Transition Cube ---------- */
139
+ @-webkit-keyframes transition-cube {
140
+ 0% { @include transform(translate(0, 0) rotate(0deg) scale(1)); }
141
+ 25% { @include transform(translate(50px, 0) rotate(-90deg) scale(0.3)); }
142
+ 50% { @include transform(translate(50px, 50px) rotate(180deg) scale(1)); }
143
+ 75% { @include transform(translate(0, 50px) rotate(90deg) scale(0.3)); }
144
+ }
145
+ @keyframes transition-cube {
146
+ 0% { @include transform(translate(0, 0) rotate(0deg) scale(1)); }
147
+ 25% { @include transform(translate(50px, 0) rotate(-90deg) scale(0.3)); }
148
+ 50% { @include transform(translate(50px, 50px) rotate(180deg) scale(1)); }
149
+ 75% { @include transform(translate(0, 50px) rotate(90deg) scale(0.3)); }
150
+ }
151
+ /* ---------- END Transition Cube ---------- */
152
+
153
+ /* ---------- Transition Ball ---------- */
154
+ @-webkit-keyframes transition-ball {
155
+ 0% { @include transform(translate(0)); }
156
+ 33% { @include transform(translate(-15px, -30px)); }
157
+ 66% { @include transform(translate(15px, -30px)); }
158
+ }
159
+ @keyframes transition-ball {
160
+ 0% { @include transform(translate(0)); }
161
+ 33% { @include transform(translate(-15px, -30px)); }
162
+ 66% { @include transform(translate(15px, -30px)); }
163
+ }
164
+ @-webkit-keyframes transition-ball-opposite {
165
+ 0% { @include transform(translate(0)); }
166
+ 33% { @include transform(translate(15px, 30px)); }
167
+ 66% { @include transform(translate(-15px, 30px)); }
168
+ }
169
+ @keyframes transition-ball-opposite {
170
+ 0% { @include transform(translate(0)); }
171
+ 33% { @include transform(translate(15px, 30px)); }
172
+ 66% { @include transform(translate(-15px, 30px)); }
173
+ }
174
+ /* ---------- END Transition Ball ---------- */
175
+
176
+ /* ---------- Transition Ball Reflect ---------- */
177
+ @-webkit-keyframes transition-ball-reflect {
178
+ 0%, 50% { @include transform(translate(0)); }
179
+ 17%, 84% { @include transform(translate(-15px, -30px)); }
180
+ 34%, 67% { @include transform(translate(15px, -30px)); }
181
+ }
182
+ @keyframes transition-ball-reflect {
183
+ 0%, 50% { @include transform(translate(0)); }
184
+ 17%, 84% { @include transform(translate(-15px, -30px)); }
185
+ 34%, 67% { @include transform(translate(15px, -30px)); }
186
+ }
187
+ @-webkit-keyframes transition-ball-reflect-opposite {
188
+ 0%, 50% { @include transform(translate(0)); }
189
+ 17%, 84% { @include transform(translate(15px, 30px)); }
190
+ 34%, 67% { @include transform(translate(-15px, 30px)); }
191
+ }
192
+ @keyframes transition-ball-reflect-opposite {
193
+ 0%, 50% { @include transform(translate(0)); }
194
+ 17%, 84% { @include transform(translate(15px, 30px)); }
195
+ 34%, 67% { @include transform(translate(-15px, 30px)); }
196
+ }
197
+ /* ---------- END Transition Ball Reflect ---------- */
198
+
199
+ /* ---------- Transition Ball Triangle ---------- */
200
+ @-webkit-keyframes transition-ball-triangle-path1 {
201
+ 0% { @include transform(translate(0)); }
202
+ 33% { @include transform(translate(40px, 60px)); }
203
+ 66% { @include transform(translate(-40px, 60px)); }
204
+ }
205
+ @keyframes transition-ball-triangle-path1 {
206
+ 0% { @include transform(translate(0)); }
207
+ 33% { @include transform(translate(40px, 60px)); }
208
+ 66% { @include transform(translate(-40px, 60px)); }
209
+ }
210
+ @-webkit-keyframes transition-ball-triangle-path2 {
211
+ 0% { @include transform(translate(0)); }
212
+ 33% { @include transform(translate(40px, -60px)); }
213
+ 66% { @include transform(translate(80px, 0)); }
214
+ }
215
+ @keyframes transition-ball-triangle-path2 {
216
+ 0% { @include transform(translate(0)); }
217
+ 33% { @include transform(translate(40px, -60px)); }
218
+ 66% { @include transform(translate(80px, 0)); }
219
+ }
220
+ @-webkit-keyframes transition-ball-triangle-path3 {
221
+ 0% { @include transform(translate(0)); }
222
+ 33% { @include transform(translate(-80px, 0)); }
223
+ 66% { @include transform(translate(-40px, -60px)); }
224
+ }
225
+ @keyframes transition-ball-triangle-path3 {
226
+ 0% { @include transform(translate(0)); }
227
+ 33% { @include transform(translate(-80px, 0)); }
228
+ 66% { @include transform(translate(-40px, -60px)); }
229
+ }
230
+ /* ---------- END Transition Ball Triangle ---------- */
231
+
232
+ /* ---------- Scale Ball ---------- */
233
+ @-webkit-keyframes scale-ball {
234
+ 0% {
235
+ @include opacity(100);
236
+ @include transform(scale(0.1));
237
+ }
238
+ 100% {
239
+ @include opacity(0);
240
+ @include transform(scale(1));
241
+ }
242
+ }
243
+ @keyframes scale-ball {
244
+ 0% {
245
+ @include opacity(100);
246
+ @include transform(scale(0.1));
247
+ }
248
+ 100% {
249
+ @include opacity(0);
250
+ @include transform(scale(1));
251
+ }
252
+ }
253
+ /* ---------- END Scale Ball ---------- */
254
+
255
+ /* ---------- Scale Ball Multiple ---------- */
256
+ @-webkit-keyframes scale-ball-multiple {
257
+ 0% {
258
+ @include opacity(0);
259
+ @include transform(scale(0));
260
+ }
261
+ 5%{ @include opacity(100); }
262
+ 100% {
263
+ @include opacity(0);
264
+ @include transform(scale(1));
265
+ }
266
+ }
267
+ @keyframes scale-ball-multiple {
268
+ 0% {
269
+ @include opacity(0);
270
+ @include transform(scale(0));
271
+ }
272
+ 5%{ @include opacity(100); }
273
+ 100% {
274
+ @include opacity(0);
275
+ @include transform(scale(1));
276
+ }
277
+ }
278
+ /* ---------- END Scale Ball Multiple ---------- */
279
+
280
+ /* ---------- Spin Ball ---------- */
281
+ @-webkit-keyframes spin-ball {
282
+ 50% {
283
+ @include opacity(30);
284
+ @include transform(scale(0.4));
285
+ }
286
+ 100% {
287
+ @include opacity(100);
288
+ @include transform(scale(1));
289
+ }
290
+ }
291
+ @keyframes spin-ball {
292
+ 50% {
293
+ @include opacity(30);
294
+ @include transform(scale(0.4));
295
+ }
296
+ 100% {
297
+ @include opacity(100);
298
+ @include transform(scale(1));
299
+ }
300
+ }
301
+ /* ---------- END Spin Ball ---------- */
302
+
303
+ /* ---------- Spin Line ---------- */
304
+ @-webkit-keyframes spin-line {
305
+ 50% { @include opacity(30); }
306
+ 100% { @include opacity(100); }
307
+ }
308
+ @keyframes spin-line {
309
+ 50% { @include opacity(30); }
310
+ 100% { @include opacity(100); }
311
+ }
312
+ /* ---------- END Spin Line ---------- */
313
+
314
+ /* ---------- Time Loader ---------- */
315
+ @-webkit-keyframes time-loader {
316
+ 0% { @include transform(rotate(0deg)); }
317
+ 100% { @include transform(rotate(360deg));
318
+ }
319
+ }
320
+ @keyframes time-loader {
321
+ 0% { @include transform(rotate(0deg)); }
322
+ 100% { @include transform(rotate(360deg)); }
323
+ }
324
+ /* ---------- END Time Loader ---------- */
325
+ /* ==================== END Keyframes ==================== */