metro-ui-rails-cn 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. data/.gitignore +18 -0
  2. data/.gitmodules +3 -0
  3. data/Gemfile +4 -0
  4. data/README.md +54 -0
  5. data/Rakefile +15 -0
  6. data/lib/generators/metro/layout/layout_generator.rb +19 -0
  7. data/lib/generators/metro/layout/templates/layout.html.erb +89 -0
  8. data/lib/metro-ui-rails-cn.rb +10 -0
  9. data/lib/metro/ui/convert.rb +64 -0
  10. data/lib/metro/ui/rails/engine.rb +15 -0
  11. data/lib/metro/ui/rails/metro.rb +2 -0
  12. data/lib/metro/ui/rails/version.rb +7 -0
  13. data/metro-ui-rails-cn.gemspec +26 -0
  14. data/test/convert_test.rb +28 -0
  15. data/test/test_helper.rb +2 -0
  16. data/vendor/assets/images/.DS_Store +0 -0
  17. data/vendor/assets/images/metro-ui-css/1.jpg +0 -0
  18. data/vendor/assets/images/metro-ui-css/1005-BizSpark-261x230.jpg +0 -0
  19. data/vendor/assets/images/metro-ui-css/2.jpg +0 -0
  20. data/vendor/assets/images/metro-ui-css/3.jpg +0 -0
  21. data/vendor/assets/images/metro-ui-css/4.jpg +0 -0
  22. data/vendor/assets/images/metro-ui-css/5.jpg +0 -0
  23. data/vendor/assets/images/metro-ui-css/Calendar128.png +0 -0
  24. data/vendor/assets/images/metro-ui-css/Camera48.png +0 -0
  25. data/vendor/assets/images/metro-ui-css/InternetExplorer128.png +0 -0
  26. data/vendor/assets/images/metro-ui-css/Mail128.png +0 -0
  27. data/vendor/assets/images/metro-ui-css/Market128.png +0 -0
  28. data/vendor/assets/images/metro-ui-css/Music128.png +0 -0
  29. data/vendor/assets/images/metro-ui-css/Picture128.png +0 -0
  30. data/vendor/assets/images/metro-ui-css/Rss128.png +0 -0
  31. data/vendor/assets/images/metro-ui-css/Video128.png +0 -0
  32. data/vendor/assets/images/metro-ui-css/YouTube128.png +0 -0
  33. data/vendor/assets/images/metro-ui-css/armor.png +0 -0
  34. data/vendor/assets/images/metro-ui-css/author.jpg +0 -0
  35. data/vendor/assets/images/metro-ui-css/bage-activity.png +0 -0
  36. data/vendor/assets/images/metro-ui-css/bage-alert.png +0 -0
  37. data/vendor/assets/images/metro-ui-css/bage-attention.png +0 -0
  38. data/vendor/assets/images/metro-ui-css/bage-available.png +0 -0
  39. data/vendor/assets/images/metro-ui-css/bage-away.png +0 -0
  40. data/vendor/assets/images/metro-ui-css/bage-busy.png +0 -0
  41. data/vendor/assets/images/metro-ui-css/bage-error.png +0 -0
  42. data/vendor/assets/images/metro-ui-css/bage-newMessage.png +0 -0
  43. data/vendor/assets/images/metro-ui-css/bage-paused.png +0 -0
  44. data/vendor/assets/images/metro-ui-css/bage-playing.png +0 -0
  45. data/vendor/assets/images/metro-ui-css/bage-unavailable.png +0 -0
  46. data/vendor/assets/images/metro-ui-css/chrome.png +0 -0
  47. data/vendor/assets/images/metro-ui-css/collapse24-black.png +0 -0
  48. data/vendor/assets/images/metro-ui-css/collapse24.png +0 -0
  49. data/vendor/assets/images/metro-ui-css/collapse32-black.png +0 -0
  50. data/vendor/assets/images/metro-ui-css/collapse32.png +0 -0
  51. data/vendor/assets/images/metro-ui-css/download-32.png +0 -0
  52. data/vendor/assets/images/metro-ui-css/excel2013icon.png +0 -0
  53. data/vendor/assets/images/metro-ui-css/expand24-black.png +0 -0
  54. data/vendor/assets/images/metro-ui-css/expand24.png +0 -0
  55. data/vendor/assets/images/metro-ui-css/expand32-black.png +0 -0
  56. data/vendor/assets/images/metro-ui-css/expand32.png +0 -0
  57. data/vendor/assets/images/metro-ui-css/firefox.png +0 -0
  58. data/vendor/assets/images/metro-ui-css/fonts/7xkFOeTxxO1GMC1suOUYWWhBabBbEjGd1iRmpyoZukE.woff +0 -0
  59. data/vendor/assets/images/metro-ui-css/fonts/DXI1ORHCpsQm3Vp6mXoaTZ1r3JsPcQLi8jytr04NNhU.woff +0 -0
  60. data/vendor/assets/images/metro-ui-css/fonts/EInbV5DfGHOiMmvb1Xr-hp1r3JsPcQLi8jytr04NNhU.woff +0 -0
  61. data/vendor/assets/images/metro-ui-css/fonts/K88pR3goAWT7BTt32Z01mz8E0i7KZn-EPnyo3HZu7kw.woff +0 -0
  62. data/vendor/assets/images/metro-ui-css/fonts/k3k702ZOKiLJc3WVjuplzJ1r3JsPcQLi8jytr04NNhU.woff +0 -0
  63. data/vendor/assets/images/metro-ui-css/fork-32.png +0 -0
  64. data/vendor/assets/images/metro-ui-css/github.png +0 -0
  65. data/vendor/assets/images/metro-ui-css/grid.png +0 -0
  66. data/vendor/assets/images/metro-ui-css/icons-white.png +0 -0
  67. data/vendor/assets/images/metro-ui-css/icons.png +0 -0
  68. data/vendor/assets/images/metro-ui-css/ie.png +0 -0
  69. data/vendor/assets/images/metro-ui-css/lock-open.png +0 -0
  70. data/vendor/assets/images/metro-ui-css/lock.png +0 -0
  71. data/vendor/assets/images/metro-ui-css/logo-jetbrains.jpg +0 -0
  72. data/vendor/assets/images/metro-ui-css/logo32.png +0 -0
  73. data/vendor/assets/images/metro-ui-css/michael.jpg +0 -0
  74. data/vendor/assets/images/metro-ui-css/myface.jpg +0 -0
  75. data/vendor/assets/images/metro-ui-css/onenote2013icon.png +0 -0
  76. data/vendor/assets/images/metro-ui-css/opera.png +0 -0
  77. data/vendor/assets/images/metro-ui-css/pull24-dark.png +0 -0
  78. data/vendor/assets/images/metro-ui-css/pull24.png +0 -0
  79. data/vendor/assets/images/metro-ui-css/responsive.png +0 -0
  80. data/vendor/assets/images/metro-ui-css/row24.png +0 -0
  81. data/vendor/assets/images/metro-ui-css/shield-user.png +0 -0
  82. data/vendor/assets/images/metro-ui-css/simple.png +0 -0
  83. data/vendor/assets/images/metro-ui-css/star32.png +0 -0
  84. data/vendor/assets/images/metro-ui-css/stock-up.png +0 -0
  85. data/vendor/assets/images/metro-ui-css/view-32.png +0 -0
  86. data/vendor/assets/images/metro-ui-css/windows-8-metro.jpg +0 -0
  87. data/vendor/assets/images/metro-ui-css/windows8_metro_green_1920_1080.jpg +0 -0
  88. data/vendor/assets/images/metro-ui-css/word2013icon.png +0 -0
  89. data/vendor/assets/javascripts/metro-ui-css-js.js +1 -0
  90. data/vendor/assets/javascripts/metro-ui-css/accordion.js +44 -0
  91. data/vendor/assets/javascripts/metro-ui-css/buttonset.js +34 -0
  92. data/vendor/assets/javascripts/metro-ui-css/carousel.js +368 -0
  93. data/vendor/assets/javascripts/metro-ui-css/dropdown.js +95 -0
  94. data/vendor/assets/javascripts/metro-ui-css/pagecontrol.js +64 -0
  95. data/vendor/assets/javascripts/metro-ui-css/rating.js +46 -0
  96. data/vendor/assets/javascripts/metro-ui-css/tile-slider.js +196 -0
  97. data/vendor/toolkit/metro-ui-css/accordion.less +69 -0
  98. data/vendor/toolkit/metro-ui-css/bricks.less +57 -0
  99. data/vendor/toolkit/metro-ui-css/buttons.less +256 -0
  100. data/vendor/toolkit/metro-ui-css/cards.less +113 -0
  101. data/vendor/toolkit/metro-ui-css/carousel.less +109 -0
  102. data/vendor/toolkit/metro-ui-css/code.less +47 -0
  103. data/vendor/toolkit/metro-ui-css/colors.less +90 -0
  104. data/vendor/toolkit/metro-ui-css/forms.less +427 -0
  105. data/vendor/toolkit/metro-ui-css/grid.less +115 -0
  106. data/vendor/toolkit/metro-ui-css/hero.less +18 -0
  107. data/vendor/toolkit/metro-ui-css/icons.less +326 -0
  108. data/vendor/toolkit/metro-ui-css/images.less +121 -0
  109. data/vendor/toolkit/metro-ui-css/layout.less +287 -0
  110. data/vendor/toolkit/metro-ui-css/listview.less +143 -0
  111. data/vendor/toolkit/metro-ui-css/menus.less +345 -0
  112. data/vendor/toolkit/metro-ui-css/modern-responsive-max480.less +147 -0
  113. data/vendor/toolkit/metro-ui-css/modern-responsive-max767.less +211 -0
  114. data/vendor/toolkit/metro-ui-css/modern-responsive-max979.less +71 -0
  115. data/vendor/toolkit/metro-ui-css/modern-responsive-min1200.less +28 -0
  116. data/vendor/toolkit/metro-ui-css/modern-responsive.less +13 -0
  117. data/vendor/toolkit/metro-ui-css/modern.less +33 -0
  118. data/vendor/toolkit/metro-ui-css/notices.less +183 -0
  119. data/vendor/toolkit/metro-ui-css/pagecontrol.less +100 -0
  120. data/vendor/toolkit/metro-ui-css/progress.less +22 -0
  121. data/vendor/toolkit/metro-ui-css/rating.less +80 -0
  122. data/vendor/toolkit/metro-ui-css/reset.less +504 -0
  123. data/vendor/toolkit/metro-ui-css/routines.less +137 -0
  124. data/vendor/toolkit/metro-ui-css/sidebar.less +139 -0
  125. data/vendor/toolkit/metro-ui-css/slider.less +52 -0
  126. data/vendor/toolkit/metro-ui-css/tables.less +158 -0
  127. data/vendor/toolkit/metro-ui-css/theme-dark.less +54 -0
  128. data/vendor/toolkit/metro-ui-css/tiles.less +276 -0
  129. data/vendor/toolkit/metro-ui-css/typography.less +347 -0
  130. metadata +229 -0
@@ -0,0 +1 @@
1
+ //= require_tree ./metro-ui-css
@@ -0,0 +1,44 @@
1
+ (function($){
2
+ $.fn.Accordion = function( options ){
3
+ var defaults = {
4
+ };
5
+
6
+ var $this = $(this)
7
+ , $li = $this.children("li")
8
+ , $triggers = $li.children("a")
9
+ , $frames = $this.find("li div")
10
+ ;
11
+
12
+ var initTriggers = function(triggers){
13
+ triggers.on('click', function(e){
14
+ e.preventDefault();
15
+ var $a = $(this)
16
+ , target = $($a.parent('li').children("div"));
17
+
18
+ if ( $a.parent('li').hasClass('active') ) {
19
+ target.slideUp();
20
+ $(this).parent("li").removeClass("active");
21
+ } else {
22
+ $frames.slideUp();
23
+ $li.removeClass("active");
24
+ target.slideDown();
25
+ $(this).parent("li").addClass("active");
26
+ }
27
+ });
28
+ }
29
+
30
+ return this.each(function(){
31
+ if ( options ) {
32
+ $.extend(defaults, options)
33
+ }
34
+
35
+ initTriggers($triggers);
36
+ });
37
+ }
38
+
39
+ $(function () {
40
+ $('[data-role="accordion"]').each(function () {
41
+ $(this).Accordion();
42
+ })
43
+ })
44
+ })(window.jQuery);
@@ -0,0 +1,34 @@
1
+ (function($){
2
+ $.fn.ButtonSet = function( options ){
3
+ var defaults = {
4
+ };
5
+
6
+ var $this = $(this)
7
+ , $buttons = $this.find("button")
8
+ ;
9
+
10
+ var initButtons = function(buttons){
11
+ buttons.on('click', function(e){
12
+ e.preventDefault();
13
+ var $a = $(this);
14
+ if ( $a.hasClass('active') ) return false;
15
+ $buttons.removeClass("active");
16
+ $(this).addClass("active");
17
+ });
18
+ }
19
+
20
+ return this.each(function(){
21
+ if ( options ) {
22
+ $.extend(defaults, options)
23
+ }
24
+
25
+ initButtons($buttons);
26
+ });
27
+ }
28
+
29
+ $(function () {
30
+ $('[data-role="button-set"]').each(function () {
31
+ $(this).ButtonSet();
32
+ })
33
+ })
34
+ })(window.jQuery);
@@ -0,0 +1,368 @@
1
+ /**
2
+ * Carousel - jQuery plugin for MetroUiCss framework
3
+ */
4
+
5
+ (function($) {
6
+
7
+ $.Carousel = function(element, options) {
8
+
9
+ // default settings
10
+ var defaults = {
11
+ // auto slide change
12
+ auto: true,
13
+ // slide change period
14
+ period: 6000,
15
+ // animation duration
16
+ duration: 1000,
17
+ // animation effect (fade, slide, switch, slowdown)
18
+ effect: 'slide',
19
+ // animation direction (left, right) for some kinds of animation effect
20
+ direction: 'left',
21
+ // markers below the carousel
22
+ markers: 'on',
23
+ // prev and next arrows
24
+ arrows: 'on',
25
+ // stop sliding when cursor over the carousel
26
+ stop: 'on'
27
+ };
28
+
29
+ var plugin = this;
30
+ // plugin settings
31
+ plugin.settings = {};
32
+
33
+ var $element = $(element); // reference to the jQuery version of DOM element
34
+
35
+ var slides, // all slides DOM objects
36
+ currentSlideIndex, // index of current slide
37
+ slideInPosition, // slide start position before it's appear
38
+ slideOutPosition, // slide position after it's disappear
39
+ parentWidth,
40
+ parentHeight,
41
+ animationInProgress,
42
+ autoSlideTimer,
43
+ markers,
44
+ stopAutoSlide = false;
45
+
46
+ // initialization
47
+ plugin.init = function () {
48
+
49
+ plugin.settings = $.extend({}, defaults, options);
50
+
51
+ slides = $element.find('.slides:first-child > .slide');
52
+
53
+ // if only one slide
54
+ if (slides.length <= 1) {
55
+ return;
56
+ }
57
+
58
+ currentSlideIndex = 0;
59
+
60
+ // parent block dimensions
61
+ parentWidth = $element.innerWidth();
62
+ parentHeight = $element.innerHeight();
63
+ // slides positions, used for some kinds of animation
64
+ slideInPosition = getSlideInPosition();
65
+ slideOutPosition = getSlideOutPosition();
66
+
67
+ // prepare slide elements
68
+ slides.each(function (index, slide) {
69
+ $slide = $(slide);
70
+ // each slide must have position:absolute
71
+ // if not, set it
72
+ if ($slide.css('position') !== 'absolute') {
73
+ $slide.css('position', 'absolute');
74
+ }
75
+ // disappear all slides, except first
76
+ if (index !== 0) {
77
+ $slide.hide();
78
+ }
79
+ });
80
+
81
+ if (plugin.settings.arrows === 'on') {
82
+ // prev next buttons handlers
83
+ $element.find('span.control.left').on('click', function(){
84
+ changeSlide('left');
85
+ startAutoSlide();
86
+ });
87
+ $element.find('span.control.right').on('click', function(){
88
+ changeSlide('right');
89
+ startAutoSlide();
90
+ });
91
+ } else {
92
+ $element.find('span.control').hide();
93
+ }
94
+
95
+ // markers
96
+ if (plugin.settings.markers === 'on') {
97
+ insertMarkers();
98
+ }
99
+
100
+ // enable auto slide
101
+ if (plugin.settings.auto === true) {
102
+ startAutoSlide();
103
+
104
+ // stop sliding when cursor over the carousel
105
+ if (plugin.settings.stop === 'on') {
106
+ $element.on('mouseenter', function () {
107
+ stopAutoSlide = true;
108
+ });
109
+ $element.on('mouseleave', function () {
110
+ stopAutoSlide = false;
111
+ startAutoSlide();
112
+ });
113
+ }
114
+ }
115
+ };
116
+
117
+ /**
118
+ * returns start position for appearing slide {left: xxx}
119
+ */
120
+ var getSlideInPosition = function () {
121
+ var pos;
122
+ if (plugin.settings.direction === 'left') {
123
+ pos = {
124
+ 'left': parentWidth
125
+ }
126
+ } else if (plugin.settings.direction === 'right') {
127
+ pos = {
128
+ 'left': -parentWidth
129
+ }
130
+ }
131
+ return pos;
132
+ };
133
+
134
+ /**
135
+ * returns end position of disappearing slide {left: xxx}
136
+ */
137
+ var getSlideOutPosition = function () {
138
+ var pos;
139
+ if (plugin.settings.direction === 'left') {
140
+ pos = {
141
+ 'left': -parentWidth
142
+ }
143
+ } else if (plugin.settings.direction === 'right') {
144
+ pos = {
145
+ 'left': parentWidth
146
+ }
147
+ }
148
+ return pos;
149
+ };
150
+
151
+ /**
152
+ * start or restart auto change
153
+ */
154
+ var startAutoSlide = function () {
155
+ clearInterval(autoSlideTimer);
156
+ // start slide changer timer
157
+ autoSlideTimer = setInterval(function () {
158
+ if (stopAutoSlide) {
159
+ return;
160
+ }
161
+ changeSlide();
162
+ }, plugin.settings.period);
163
+ };
164
+
165
+ /**
166
+ * inserts markers below the carousel
167
+ */
168
+ var insertMarkers = function () {
169
+ var div, ul, li, i;
170
+
171
+ div = $('<div class="markers"></div>');
172
+ ul = $('<ul></ul>').appendTo(div);
173
+
174
+ for (i = 0; i < slides.length; i++) {
175
+ li = $('<li><a href="javascript:void(0)" data-num="' + i + '"></a></li>');
176
+ if (i === 0) {
177
+ li.addClass('active');
178
+ }
179
+ li.appendTo(ul);
180
+ }
181
+
182
+ markers = ul.find('li');
183
+
184
+ ul.find('li a').on('click', function () {
185
+ var $this = $(this),
186
+ index;
187
+
188
+ // index of appearing slide
189
+ index = $this.data('num');
190
+ if (index === currentSlideIndex) {
191
+ return;
192
+ }
193
+
194
+ changeSlide(undefined, 'switch', index);
195
+ startAutoSlide();
196
+ });
197
+
198
+ div.appendTo($element);
199
+ };
200
+
201
+ /**
202
+ * changes slide to next
203
+ */
204
+ var changeSlide = function(direction, effect, slideIndex) {
205
+
206
+ var outSlide, // disappearin slide element
207
+ inSlide, // appearing slide element
208
+ nextSlideIndex,
209
+ delta = 1,
210
+ slideDirection = 1;
211
+
212
+ effect = effect || plugin.settings.effect;
213
+ // correct slide direction, used for 'slide' and 'slowdown' effects
214
+ if ((effect === 'slide' || effect === 'slowdown') && typeof direction !== 'undefined' && direction !== plugin.settings.direction) {
215
+ slideDirection = -1;
216
+ }
217
+ if (direction === 'left') {
218
+ delta = -1;
219
+ }
220
+
221
+ outSlide = $(slides[currentSlideIndex]);
222
+
223
+ nextSlideIndex = typeof slideIndex !== 'undefined' ? slideIndex : currentSlideIndex + delta;
224
+ if (nextSlideIndex >= slides.length) {
225
+ nextSlideIndex = 0;
226
+ }
227
+ if (nextSlideIndex < 0) {
228
+ nextSlideIndex = slides.length - 1;
229
+ }
230
+
231
+ inSlide = $(slides[nextSlideIndex]);
232
+
233
+ if (animationInProgress === true) {
234
+ return;
235
+ }
236
+
237
+ // switch effect is quickly, no need to wait
238
+ if (effect !== 'switch') {
239
+ // when animation in progress no other animation occur
240
+ animationInProgress = true;
241
+ setTimeout(function () {
242
+ animationInProgress = false;
243
+ }, plugin.settings.duration)
244
+ }
245
+
246
+ // change slide with selected effect
247
+ switch (effect) {
248
+ case 'switch':
249
+ changeSlideSwitch(outSlide, inSlide);
250
+ break;
251
+ case 'slide':
252
+ changeSlideSlide(outSlide, inSlide, slideDirection);
253
+ break;
254
+ case 'fade':
255
+ changeSlideFade(outSlide, inSlide);
256
+ break;
257
+ case 'slowdown':
258
+ changeSlideSlowdown(outSlide, inSlide, slideDirection);
259
+ break;
260
+ }
261
+
262
+ currentSlideIndex = nextSlideIndex;
263
+
264
+ // switch marker
265
+ if (plugin.settings.markers === 'on') {
266
+ markers.removeClass('active');
267
+ $(markers.get(currentSlideIndex)).addClass('active');
268
+ }
269
+
270
+ };
271
+ /**
272
+ * switch effect
273
+ */
274
+ var changeSlideSwitch = function (outSlide, inSlide) {
275
+ inSlide.show().css({'left': 0});
276
+ outSlide.hide();
277
+ };
278
+ /**
279
+ * slide effect
280
+ */
281
+ var changeSlideSlide = function (outSlide, inSlide, slideDirection) {
282
+ var unmovedPosition = {'left': 0},
283
+ duration = plugin.settings.duration;
284
+
285
+ if (slideDirection !== -1) {
286
+ inSlide.css(slideInPosition);
287
+ inSlide.show();
288
+ outSlide.animate(slideOutPosition, duration);
289
+ inSlide.animate(unmovedPosition, duration);
290
+ } else {
291
+ inSlide.css(slideOutPosition);
292
+ inSlide.show();
293
+ outSlide.animate(slideInPosition, duration);
294
+ inSlide.animate(unmovedPosition, duration);
295
+ }
296
+ };
297
+ /**
298
+ * slowdown slide effect (custom easing 'doubleSqrt')
299
+ */
300
+ var changeSlideSlowdown = function (outSlide, inSlide, slideDirection) {
301
+ var unmovedPosition = {'left': 0},
302
+ options;
303
+
304
+ options = {
305
+ 'duration': plugin.settings.duration,
306
+ 'easing': 'doubleSqrt'
307
+ };
308
+
309
+ if (slideDirection !== -1) {
310
+ inSlide.css(slideInPosition);
311
+ inSlide.show();
312
+ outSlide.animate(slideOutPosition, options);
313
+ inSlide.animate(unmovedPosition, options);
314
+ } else {
315
+ inSlide.css(slideOutPosition);
316
+ inSlide.show();
317
+ outSlide.animate(slideInPosition, options);
318
+ inSlide.animate(unmovedPosition, options);
319
+ }
320
+ };
321
+ /**
322
+ * fade effect
323
+ */
324
+ var changeSlideFade = function (outSlide, inSlide) {
325
+ inSlide.fadeIn(plugin.settings.duration);
326
+ outSlide.fadeOut(plugin.settings.duration);
327
+ };
328
+
329
+ plugin.init();
330
+
331
+ };
332
+
333
+ $.fn.Carousel = function(options) {
334
+ return this.each(function() {
335
+ if (undefined == $(this).data('Carousel')) {
336
+ var plugin = new $.Carousel(this, options);
337
+ $(this).data('Carousel', plugin);
338
+ }
339
+ });
340
+ };
341
+
342
+ // easing effect for jquery animation
343
+ $.easing.doubleSqrt = function(t, millisecondsSince, startValue, endValue, totalDuration) {
344
+ var res = Math.sqrt(Math.sqrt(t));
345
+ return res;
346
+ };
347
+
348
+ })(jQuery);
349
+
350
+
351
+ $(window).ready(function(){
352
+ var allCarousels = $('[data-role=carousel], .carousel');
353
+ allCarousels.each(function (index, carousel) {
354
+ var params = {};
355
+ $carousel = $(carousel);
356
+ params.auto = $carousel.data('paramAuto');
357
+ params.period = $carousel.data('paramPeriod');
358
+ params.duration = $carousel.data('paramDuration');
359
+ params.effect = $carousel.data('paramEffect');
360
+ params.direction = $carousel.data('paramDirection');
361
+ params.markers = $carousel.data('paramMarkers');
362
+ params.arrows = $carousel.data('paramArrows');
363
+ params.stop = $carousel.data('paramStop');
364
+
365
+ $carousel.Carousel(params);
366
+ })
367
+
368
+ });