fomantic-ui 2.9.0-beta.276 → 2.9.0-beta.279

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 (155) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CONTRIBUTORS.md +1 -0
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +1 -1
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +1 -1
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +1 -1
  10. package/dist/components/api.min.js +1 -1
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +1 -1
  16. package/dist/components/calendar.js +78 -63
  17. package/dist/components/calendar.min.css +1 -1
  18. package/dist/components/calendar.min.js +2 -2
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +1 -1
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +1 -1
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +1 -1
  28. package/dist/components/container.min.css +1 -1
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +1 -1
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +1 -1
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +1 -1
  36. package/dist/components/dropdown.js +32 -13
  37. package/dist/components/dropdown.min.css +1 -1
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +1 -1
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/form.css +1 -1
  48. package/dist/components/form.js +1 -1
  49. package/dist/components/form.min.css +1 -1
  50. package/dist/components/form.min.js +1 -1
  51. package/dist/components/grid.css +1 -1
  52. package/dist/components/grid.min.css +1 -1
  53. package/dist/components/header.css +1 -1
  54. package/dist/components/header.min.css +1 -1
  55. package/dist/components/icon.css +1 -1
  56. package/dist/components/icon.min.css +1 -1
  57. package/dist/components/image.css +1 -1
  58. package/dist/components/image.min.css +1 -1
  59. package/dist/components/input.css +1 -1
  60. package/dist/components/input.min.css +1 -1
  61. package/dist/components/item.css +1 -1
  62. package/dist/components/item.min.css +1 -1
  63. package/dist/components/label.css +1 -1
  64. package/dist/components/label.min.css +1 -1
  65. package/dist/components/list.css +1 -1
  66. package/dist/components/list.min.css +1 -1
  67. package/dist/components/loader.css +1 -1
  68. package/dist/components/loader.min.css +1 -1
  69. package/dist/components/message.css +1 -1
  70. package/dist/components/message.min.css +1 -1
  71. package/dist/components/modal.css +1 -1
  72. package/dist/components/modal.js +1 -1
  73. package/dist/components/modal.min.css +1 -1
  74. package/dist/components/modal.min.js +1 -1
  75. package/dist/components/nag.css +1 -1
  76. package/dist/components/nag.js +1 -1
  77. package/dist/components/nag.min.css +1 -1
  78. package/dist/components/nag.min.js +1 -1
  79. package/dist/components/placeholder.css +1 -1
  80. package/dist/components/placeholder.min.css +1 -1
  81. package/dist/components/popup.css +1 -1
  82. package/dist/components/popup.js +1 -1
  83. package/dist/components/popup.min.css +1 -1
  84. package/dist/components/popup.min.js +1 -1
  85. package/dist/components/progress.css +1 -1
  86. package/dist/components/progress.js +1 -1
  87. package/dist/components/progress.min.css +1 -1
  88. package/dist/components/progress.min.js +1 -1
  89. package/dist/components/rail.css +1 -1
  90. package/dist/components/rail.min.css +1 -1
  91. package/dist/components/rating.css +1 -1
  92. package/dist/components/rating.js +1 -1
  93. package/dist/components/rating.min.css +1 -1
  94. package/dist/components/rating.min.js +1 -1
  95. package/dist/components/reset.css +1 -1
  96. package/dist/components/reset.min.css +1 -1
  97. package/dist/components/reveal.css +1 -1
  98. package/dist/components/reveal.min.css +1 -1
  99. package/dist/components/search.css +1 -1
  100. package/dist/components/search.js +1 -1
  101. package/dist/components/search.min.css +1 -1
  102. package/dist/components/search.min.js +1 -1
  103. package/dist/components/segment.css +1 -1
  104. package/dist/components/segment.min.css +1 -1
  105. package/dist/components/shape.css +1 -1
  106. package/dist/components/shape.js +1 -1
  107. package/dist/components/shape.min.css +1 -1
  108. package/dist/components/shape.min.js +1 -1
  109. package/dist/components/sidebar.css +1 -1
  110. package/dist/components/sidebar.js +1 -1
  111. package/dist/components/sidebar.min.css +1 -1
  112. package/dist/components/sidebar.min.js +1 -1
  113. package/dist/components/site.css +1 -1
  114. package/dist/components/site.js +1 -1
  115. package/dist/components/site.min.css +1 -1
  116. package/dist/components/site.min.js +1 -1
  117. package/dist/components/slider.js +68 -51
  118. package/dist/components/slider.min.js +2 -2
  119. package/dist/components/state.js +1 -1
  120. package/dist/components/state.min.js +1 -1
  121. package/dist/components/statistic.css +1 -1
  122. package/dist/components/statistic.min.css +1 -1
  123. package/dist/components/step.css +1 -1
  124. package/dist/components/step.min.css +1 -1
  125. package/dist/components/sticky.css +1 -1
  126. package/dist/components/sticky.js +1 -1
  127. package/dist/components/sticky.min.css +1 -1
  128. package/dist/components/sticky.min.js +1 -1
  129. package/dist/components/tab.css +1 -1
  130. package/dist/components/tab.js +1 -1
  131. package/dist/components/tab.min.css +1 -1
  132. package/dist/components/tab.min.js +1 -1
  133. package/dist/components/table.css +1 -1
  134. package/dist/components/table.min.css +1 -1
  135. package/dist/components/text.css +1 -1
  136. package/dist/components/text.min.css +1 -1
  137. package/dist/components/toast.css +1 -1
  138. package/dist/components/toast.js +1 -1
  139. package/dist/components/toast.min.css +1 -1
  140. package/dist/components/toast.min.js +1 -1
  141. package/dist/components/transition.css +1 -1
  142. package/dist/components/transition.js +1 -1
  143. package/dist/components/transition.min.css +1 -1
  144. package/dist/components/transition.min.js +1 -1
  145. package/dist/components/visibility.js +1 -1
  146. package/dist/components/visibility.min.js +1 -1
  147. package/dist/semantic.css +49 -49
  148. package/dist/semantic.js +200 -149
  149. package/dist/semantic.min.css +1 -1
  150. package/dist/semantic.min.js +2 -2
  151. package/package.json +2 -2
  152. package/src/definitions/modules/calendar.js +77 -62
  153. package/src/definitions/modules/dropdown.js +31 -12
  154. package/src/definitions/modules/slider.js +67 -50
  155. package/tasks/config/project/install.js +4 -8
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Slider
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Slider
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -70,6 +70,7 @@ $.fn.slider = function(parameters) {
70
70
 
71
71
  $module = $(this),
72
72
  $currThumb,
73
+ touchIdentifier,
73
74
  $thumb,
74
75
  $secondThumb,
75
76
  $track,
@@ -86,7 +87,6 @@ $.fn.slider = function(parameters) {
86
87
  secondPos,
87
88
  offset,
88
89
  precision,
89
- isTouch,
90
90
  gapRatio = 1,
91
91
  previousValue,
92
92
 
@@ -104,7 +104,6 @@ $.fn.slider = function(parameters) {
104
104
  currentRange += 1;
105
105
  documentEventID = currentRange;
106
106
 
107
- isTouch = module.setup.testOutTouch();
108
107
  module.setup.layout();
109
108
  module.setup.labels();
110
109
 
@@ -175,14 +174,6 @@ $.fn.slider = function(parameters) {
175
174
  }
176
175
  }
177
176
  },
178
- testOutTouch: function() {
179
- try {
180
- document.createEvent('TouchEvent');
181
- return true;
182
- } catch (e) {
183
- return false;
184
- }
185
- },
186
177
  customLabel: function() {
187
178
  var
188
179
  $children = $labels.find('.label'),
@@ -236,9 +227,6 @@ $.fn.slider = function(parameters) {
236
227
  module.bind.globalKeyboardEvents();
237
228
  module.bind.keyboardEvents();
238
229
  module.bind.mouseEvents();
239
- if(module.is.touch()) {
240
- module.bind.touchEvents();
241
- }
242
230
  if (settings.autoAdjustLabels) {
243
231
  module.bind.windowEvents();
244
232
  }
@@ -251,7 +239,7 @@ $.fn.slider = function(parameters) {
251
239
  $(document).on('keydown' + eventNamespace + documentEventID, module.event.activateFocus);
252
240
  },
253
241
  mouseEvents: function() {
254
- module.verbose('Binding mouse events');
242
+ module.verbose('Binding mouse and touch events');
255
243
  $module.find('.track, .thumb, .inner').on('mousedown' + eventNamespace, function(event) {
256
244
  event.stopImmediatePropagation();
257
245
  event.preventDefault();
@@ -264,27 +252,20 @@ $.fn.slider = function(parameters) {
264
252
  $module.on('mouseleave' + eventNamespace, function(event) {
265
253
  isHover = false;
266
254
  });
267
- },
268
- touchEvents: function() {
269
- module.verbose('Binding touch events');
270
- $module.find('.track, .thumb, .inner').on('touchstart' + eventNamespace, function(event) {
271
- event.stopImmediatePropagation();
272
- event.preventDefault();
273
- module.event.down(event);
274
- });
275
- $module.on('touchstart' + eventNamespace, module.event.down);
255
+ // All touch events are invoked on the element where the touch *started*. Thus, we can bind them all
256
+ // on the thumb(s) and don't need to worry about interference with other components, i.e. no dynamic binding
257
+ // and unbinding required.
258
+ $module.find('.thumb')
259
+ .on('touchstart' + eventNamespace, module.event.touchDown)
260
+ .on('touchmove' + eventNamespace, module.event.move)
261
+ .on('touchend' + eventNamespace, module.event.up)
262
+ .on('touchcancel' + eventNamespace, module.event.touchCancel);
276
263
  },
277
264
  slidingEvents: function() {
278
265
  // these don't need the identifier because we only ever want one of them to be registered with document
279
266
  module.verbose('Binding page wide events while handle is being draged');
280
- if(module.is.touch()) {
281
- $(document).on('touchmove' + eventNamespace, module.event.move);
282
- $(document).on('touchend' + eventNamespace, module.event.up);
283
- }
284
- else {
285
- $(document).on('mousemove' + eventNamespace, module.event.move);
286
- $(document).on('mouseup' + eventNamespace, module.event.up);
287
- }
267
+ $(document).on('mousemove' + eventNamespace, module.event.move);
268
+ $(document).on('mouseup' + eventNamespace, module.event.up);
288
269
  },
289
270
  windowEvents: function() {
290
271
  $window.on('resize' + eventNamespace, module.event.resize);
@@ -294,24 +275,22 @@ $.fn.slider = function(parameters) {
294
275
  unbind: {
295
276
  events: function() {
296
277
  $module.find('.track, .thumb, .inner').off('mousedown' + eventNamespace);
297
- $module.find('.track, .thumb, .inner').off('touchstart' + eventNamespace);
298
278
  $module.off('mousedown' + eventNamespace);
299
279
  $module.off('mouseenter' + eventNamespace);
300
280
  $module.off('mouseleave' + eventNamespace);
301
- $module.off('touchstart' + eventNamespace);
281
+ $module.find('.thumb')
282
+ .off('touchstart' + eventNamespace)
283
+ .off('touchmove' + eventNamespace)
284
+ .off('touchend' + eventNamespace)
285
+ .off('touchcancel' + eventNamespace);
302
286
  $module.off('keydown' + eventNamespace);
303
287
  $module.off('focusout' + eventNamespace);
304
288
  $(document).off('keydown' + eventNamespace + documentEventID, module.event.activateFocus);
305
289
  $window.off('resize' + eventNamespace);
306
290
  },
307
291
  slidingEvents: function() {
308
- if(module.is.touch()) {
309
- $(document).off('touchmove' + eventNamespace);
310
- $(document).off('touchend' + eventNamespace);
311
- } else {
312
- $(document).off('mousemove' + eventNamespace);
313
- $(document).off('mouseup' + eventNamespace);
314
- }
292
+ $(document).off('mousemove' + eventNamespace);
293
+ $(document).off('mouseup' + eventNamespace);
315
294
  },
316
295
  },
317
296
 
@@ -341,10 +320,31 @@ $.fn.slider = function(parameters) {
341
320
  module.bind.slidingEvents();
342
321
  }
343
322
  },
323
+ touchDown: function(event) {
324
+ event.preventDefault(); // disable mouse emulation and touch-scrolling
325
+ event.stopImmediatePropagation();
326
+ if(touchIdentifier !== undefined) {
327
+ // ignore multiple touches on the same slider --
328
+ // we cannot handle changing both thumbs at once due to shared state
329
+ return;
330
+ }
331
+ $currThumb = $(event.target);
332
+ var touchEvent = event.touches ? event : event.originalEvent;
333
+ touchIdentifier = touchEvent.targetTouches[0].identifier;
334
+ if(previousValue === undefined) {
335
+ previousValue = module.get.currentThumbValue();
336
+ }
337
+ },
344
338
  move: function(event) {
345
- event.preventDefault();
339
+ if(event.type == 'mousemove') {
340
+ event.preventDefault(); // prevent text selection etc.
341
+ }
342
+ if(module.is.disabled()) {
343
+ // touch events are always bound, so we need to prevent touch-sliding on disabled sliders here
344
+ return;
345
+ }
346
346
  var value = module.determine.valueFromEvent(event);
347
- if($currThumb === undefined) {
347
+ if(event.type == 'mousemove' && $currThumb === undefined) {
348
348
  var
349
349
  eventPos = module.determine.eventPos(event),
350
350
  newPos = module.determine.pos(eventPos)
@@ -381,13 +381,26 @@ $.fn.slider = function(parameters) {
381
381
  },
382
382
  up: function(event) {
383
383
  event.preventDefault();
384
+ if(module.is.disabled()) {
385
+ // touch events are always bound, so we need to prevent touch-sliding on disabled sliders here
386
+ return;
387
+ }
384
388
  var value = module.determine.valueFromEvent(event);
385
389
  module.set.value(value);
386
390
  module.unbind.slidingEvents();
391
+ touchIdentifier = undefined;
387
392
  if (previousValue !== undefined) {
388
393
  previousValue = undefined;
389
394
  }
390
395
  },
396
+ touchCancel: function(event) {
397
+ event.preventDefault();
398
+ touchIdentifier = undefined;
399
+ if (previousValue !== undefined) {
400
+ module.update.value(previousValue);
401
+ previousValue = undefined;
402
+ }
403
+ },
391
404
  keydown: function(event, first) {
392
405
  if(settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
393
406
  $currThumb = undefined;
@@ -500,9 +513,6 @@ $.fn.slider = function(parameters) {
500
513
  },
501
514
  smooth: function() {
502
515
  return settings.smooth || $module.hasClass(settings.className.smooth);
503
- },
504
- touch: function() {
505
- return isTouch;
506
516
  }
507
517
  },
508
518
 
@@ -766,12 +776,19 @@ $.fn.slider = function(parameters) {
766
776
  return value;
767
777
  },
768
778
  eventPos: function(event) {
769
- if(module.is.touch()) {
779
+ if(event.type === "touchmove" || event.type === "touchend") {
780
+ var
781
+ touchEvent = event.touches ? event : event.originalEvent,
782
+ touch = touchEvent.changedTouches[0]; // fall back to first touch if correct touch not found
783
+ for(var i=0; i < touchEvent.touches.length; i++) {
784
+ if(touchEvent.touches[i].identifier === touchIdentifier) {
785
+ touch = touchEvent.touches[i];
786
+ break;
787
+ }
788
+ }
770
789
  var
771
- touchEvent = event.changedTouches ? event : event.originalEvent,
772
- touches = touchEvent.changedTouches[0] ? touchEvent.changedTouches : touchEvent.touches,
773
- touchY = touches[0].pageY,
774
- touchX = touches[0].pageX
790
+ touchY = touch.pageY,
791
+ touchX = touch.pageX
775
792
  ;
776
793
  return module.is.vertical() ? touchY : touchX;
777
794
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -8,4 +8,4 @@
8
8
  * http://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
- !function(X,t,Y,K){"use strict";t=void 0!==t&&t.Math==Math?t:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),X.fn.slider=function(S){var A,e=X(this),D=X(t),O=e.selector||"",N=(new Date).getTime(),j=[],z=S,I="string"==typeof z,R=[].slice.call(arguments,1),B=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],U=0;return e.each(function(){var l,r,i,e,c,u,t,d,m,f,g,o,n,v,s,b,h=X.isPlainObject(S)?X.extend(!0,{},X.fn.slider.settings,S):X.extend({},X.fn.slider.settings),a=h.className,p=h.metadata,k=h.namespace,V=h.error,T=h.keys,w=h.interpretLabel,y=!1,M="."+k,x="module-"+k,P=X(this),E=this,C=P.data(x),L=1,F={initialize:function(){F.debug("Initializing slider",h),b=!0,t=U+=1,n=F.setup.testOutTouch(),F.setup.layout(),F.setup.labels(),F.is.disabled()||F.bind.events(),F.read.metadata(),F.read.settings(),b=!1,F.instantiate()},instantiate:function(){F.verbose("Storing instance of slider",F),C=F,P.data(x,F)},destroy:function(){F.verbose("Destroying previous slider for",P),clearInterval(C.interval),F.unbind.events(),F.unbind.slidingEvents(),P.removeData(x),C=K},setup:{layout:function(){P.attr("tabindex")===K&&P.attr("tabindex",0),0==P.find(".inner").length&&P.append("<div class='inner'><div class='track'></div><div class='track-fill'></div><div class='thumb'></div></div>"),o=F.get.precision(),r=P.find(".thumb:not(.second)"),l=r,F.is.range()&&(0==P.find(".thumb.second").length&&P.find(".inner").append("<div class='thumb second'></div>"),i=P.find(".thumb.second")),e=P.find(".track"),c=P.find(".track-fill"),g=r.width()/2},labels:function(){F.is.labeled()&&(0!=(u=P.find(".labels:not(.auto)")).length?F.setup.customLabel():F.setup.autoLabel(),h.showLabelTicks&&P.addClass(a.ticked))},testOutTouch:function(){try{return Y.createEvent("TouchEvent"),!0}catch(e){return!1}},customLabel:function(){var n,e=u.find(".label"),a=e.length,o=F.get.min(),s=F.get.max();e.each(function(e){var t=X(this).attr("data-value");n=t?((t=s<t?s:t<o?o:t)-o)/(s-o):(e+1)/(a+1),F.update.labelPosition(n,X(this))})},autoLabel:function(){0!=(u=P.find(".labels")).length?u.empty():u=P.append('<ul class="auto labels"></ul>').find(".labels");for(var e=0,t=F.get.numLabels();e<=t;e++){var n=F.get.label(e),n=""!==n?e%F.get.gapRatio()?X('<li class="halftick label"></li>'):X('<li class="label">'+n+"</li>"):null;n&&(F.update.labelPosition(e/t,n),u.append(n))}}},bind:{events:function(){F.bind.globalKeyboardEvents(),F.bind.keyboardEvents(),F.bind.mouseEvents(),F.is.touch()&&F.bind.touchEvents(),h.autoAdjustLabels&&F.bind.windowEvents()},keyboardEvents:function(){F.verbose("Binding keyboard events"),P.on("keydown"+M,F.event.keydown)},globalKeyboardEvents:function(){X(Y).on("keydown"+M+t,F.event.activateFocus)},mouseEvents:function(){F.verbose("Binding mouse events"),P.find(".track, .thumb, .inner").on("mousedown"+M,function(e){e.stopImmediatePropagation(),e.preventDefault(),F.event.down(e)}),P.on("mousedown"+M,F.event.down),P.on("mouseenter"+M,function(e){y=!0}),P.on("mouseleave"+M,function(e){y=!1})},touchEvents:function(){F.verbose("Binding touch events"),P.find(".track, .thumb, .inner").on("touchstart"+M,function(e){e.stopImmediatePropagation(),e.preventDefault(),F.event.down(e)}),P.on("touchstart"+M,F.event.down)},slidingEvents:function(){F.verbose("Binding page wide events while handle is being draged"),F.is.touch()?(X(Y).on("touchmove"+M,F.event.move),X(Y).on("touchend"+M,F.event.up)):(X(Y).on("mousemove"+M,F.event.move),X(Y).on("mouseup"+M,F.event.up))},windowEvents:function(){D.on("resize"+M,F.event.resize)}},unbind:{events:function(){P.find(".track, .thumb, .inner").off("mousedown"+M),P.find(".track, .thumb, .inner").off("touchstart"+M),P.off("mousedown"+M),P.off("mouseenter"+M),P.off("mouseleave"+M),P.off("touchstart"+M),P.off("keydown"+M),P.off("focusout"+M),X(Y).off("keydown"+M+t,F.event.activateFocus),D.off("resize"+M)},slidingEvents:function(){F.is.touch()?(X(Y).off("touchmove"+M),X(Y).off("touchend"+M)):(X(Y).off("mousemove"+M),X(Y).off("mouseup"+M))}},event:{down:function(e){e.preventDefault(),F.is.range()?(e=F.determine.eventPos(e),e=F.determine.pos(e),l=h.preventCrossover&&F.is.range()&&F.thumbVal===F.secondThumbVal?(s=e,K):F.determine.closestThumb(e),v===K&&(v=F.get.currentThumbValue())):v===K&&(v=F.get.value()),F.is.disabled()||F.bind.slidingEvents()},move:function(e){e.preventDefault();var t,n,a=F.determine.valueFromEvent(e);l===K&&(t=F.determine.eventPos(e),t=F.determine.pos(t),l=t<s?r:i),0==F.get.step()||F.is.smooth()?(t=F.thumbVal,n=F.secondThumbVal,e=F.determine.smoothValueFromEvent(e),l.hasClass("second")?(h.preventCrossover&&F.is.range()&&(a=Math.max(t,a),e=Math.max(t,e)),n=a):(h.preventCrossover&&F.is.range()&&(a=Math.min(n,a),e=Math.min(n,e)),t=a),a=Math.abs(t-(n||0)),F.update.position(e),h.onMove.call(E,a,t,n)):F.update.value(a,function(e,t,n){h.onMove.call(E,e,t,n)})},up:function(e){e.preventDefault();e=F.determine.valueFromEvent(e);F.set.value(e),F.unbind.slidingEvents(),v!==K&&(v=K)},keydown:function(e,t){if(h.preventCrossover&&F.is.range()&&F.thumbVal===F.secondThumbVal&&(l=K),F.is.focused()&&X(Y).trigger(e),t||F.is.focused()){t=F.determine.keyMovement(e);if(0!=t)switch(e.preventDefault(),t){case 1:F.takeStep();break;case 2:F.takeStep(F.get.multiplier());break;case-1:F.backStep();break;case-2:F.backStep(F.get.multiplier())}}},activateFocus:function(e){!F.is.focused()&&F.is.hover()&&0!=F.determine.keyMovement(e)&&(e.preventDefault(),F.event.keydown(e,!0),P.focus())},resize:function(e){L!=F.get.gapRatio()&&(F.setup.labels(),L=F.get.gapRatio())}},resync:function(){F.verbose("Resyncing thumb position based on value"),F.is.range()&&F.update.position(F.secondThumbVal,i),F.update.position(F.thumbVal,r),F.setup.labels()},takeStep:function(e){var e=e!=K?e:1,t=F.get.step(),n=F.get.currentThumbValue();F.verbose("Taking a step"),0<t?F.set.value(n+t*e):0==t&&(t=F.get.precision(),F.set.value(Math.round((n+e/t)*t)/t))},backStep:function(e){var e=e!=K?e:1,t=F.get.step(),n=F.get.currentThumbValue();F.verbose("Going back a step"),0<t?F.set.value(n-t*e):0==t&&(t=F.get.precision(),F.set.value(Math.round((n-e/t)*t)/t))},is:{range:function(){return P.hasClass(h.className.range)},hover:function(){return y},focused:function(){return P.is(":focus")},disabled:function(){return P.hasClass(h.className.disabled)},labeled:function(){return P.hasClass(h.className.labeled)},reversed:function(){return P.hasClass(h.className.reversed)},vertical:function(){return P.hasClass(h.className.vertical)},smooth:function(){return h.smooth||P.hasClass(h.className.smooth)},touch:function(){return n}},get:{trackOffset:function(){return F.is.vertical()?e.offset().top:e.offset().left},trackLength:function(){return F.is.vertical()?e.height():e.width()},trackLeft:function(){return F.is.vertical()?e.position().top:e.position().left},trackStartPos:function(){return F.is.reversed()?F.get.trackLeft()+F.get.trackLength():F.get.trackLeft()},trackEndPos:function(){return F.is.reversed()?F.get.trackLeft():F.get.trackLeft()+F.get.trackLength()},trackStartMargin:function(){var e=F.is.vertical()?F.is.reversed()?P.css("padding-bottom"):P.css("padding-top"):F.is.reversed()?P.css("padding-right"):P.css("padding-left");return e||"0px"},trackEndMargin:function(){var e=F.is.vertical()?F.is.reversed()?P.css("padding-top"):P.css("padding-bottom"):F.is.reversed()?P.css("padding-left"):P.css("padding-right");return e||"0px"},precision:function(){var e=F.get.step(),e=(e=0!=e?2==(e=String(e).split(".")).length?e[1].length:0:h.decimalPlaces,Math.pow(10,e));return F.debug("Precision determined",e),e},min:function(){return h.min},max:function(){var e=F.get.step(),t=F.get.min(),n=0===e?0:Math.floor((h.max-t)/e);return 0==(0===e?0:(h.max-t)%e)?h.max:t+n*e},step:function(){return h.step},numLabels:function(){var e=Math.round((F.get.max()-F.get.min())/(0===F.get.step()?1:F.get.step()));return F.debug("Determined that there should be "+e+" labels"),e},labelType:function(){return h.labelType},label:function(e){if(w)return w(e);switch(h.labelType){case h.labelTypes.number:return Math.round((e*(0===F.get.step()?1:F.get.step())+F.get.min())*o)/o;case h.labelTypes.letter:return B[e%26];default:return e}},value:function(){return d},currentThumbValue:function(){return l!==K&&l.hasClass("second")?F.secondThumbVal:F.thumbVal},thumbValue:function(e){return"second"!==e?F.thumbVal:F.is.range()?F.secondThumbVal:void F.error(V.notrange)},multiplier:function(){return h.pageMultiplier},thumbPosition:function(e){return"second"!==e?m:F.is.range()?f:void F.error(V.notrange)},gapRatio:function(){var e=1;if(h.autoAdjustLabels){var t=F.get.numLabels(),n=F.get.trackLength(),a=1;if(0<n)for(;n/t*a<h.labelDistance;)t%a||(e=a),a+=1}return e}},determine:{pos:function(e){return F.is.reversed()?F.get.trackStartPos()-e+F.get.trackOffset():e-F.get.trackOffset()-F.get.trackStartPos()},closestThumb:function(e){var t=parseFloat(F.determine.thumbPos(r)),t=Math.abs(e-t),n=parseFloat(F.determine.thumbPos(i)),e=Math.abs(e-n);return(t!==e||F.get.thumbValue()!==F.get.min())&&t<=e?r:i},closestThumbPos:function(e){var t=parseFloat(F.determine.thumbPos(r)),n=Math.abs(e-t),a=parseFloat(F.determine.thumbPos(i));return n<=Math.abs(e-a)?t:a},thumbPos:function(e){return F.is.vertical()?F.is.reversed()?e.css("bottom"):e.css("top"):F.is.reversed()?e.css("right"):e.css("left")},positionFromValue:function(e){var t=F.get.min(),n=F.get.max(),e=n<e?n:e<t?t:e,a=F.get.trackLength(),n=Math.round((e-t)/(n-t)*a);return F.verbose("Determined position: "+n+" from value: "+e),n},positionFromRatio:function(e){var t=F.get.trackLength(),n=F.get.step(),e=Math.round(e*t);return 0==n?e:Math.round(e/n)*n},valueFromEvent:function(e){var e=F.determine.eventPos(e),t=F.determine.pos(e),e=e<F.get.trackOffset()?F.is.reversed()?F.get.max():F.get.min():e>F.get.trackOffset()+F.get.trackLength()?F.is.reversed()?F.get.min():F.get.max():F.determine.value(t);return e},smoothValueFromEvent:function(e){var t=F.get.min(),n=F.get.max(),a=F.get.trackLength(),e=F.determine.eventPos(e)-F.get.trackOffset(),e=(e=e<0?0:a<e?a:e)/a;return(e=F.is.reversed()?1-e:e)*(n-t)+t},eventPos:function(e){if(F.is.touch())return t=(n=(n=e.changedTouches?e:e.originalEvent).changedTouches[0]?n.changedTouches:n.touches)[0].pageY,n=n[0].pageX,F.is.vertical()?t:n;var t=e.pageY||e.originalEvent.pageY,n=e.pageX||e.originalEvent.pageX;return F.is.vertical()?t:n},value:function(e){var t=F.is.reversed()?F.get.trackEndPos():F.get.trackStartPos(),t=(e-t)/((F.is.reversed()?F.get.trackStartPos():F.get.trackEndPos())-t),n=F.get.max()-F.get.min(),a=F.get.step(),t=t*n,n=0==a?t:Math.round(t/a)*a;return F.verbose("Determined value based upon position: "+e+" as: "+t),t!=n&&F.verbose("Rounding value to closest step: "+n),F.verbose("Cutting off additional decimal places"),Math.round((n+F.get.min())*o)/o},keyMovement:function(e){var e=e.which,t=!F.is.vertical()||F.is.reversed()?T.downArrow:T.upArrow,n=!F.is.vertical()||F.is.reversed()?T.upArrow:T.downArrow,a=!F.is.vertical()&&F.is.reversed()?T.rightArrow:T.leftArrow,o=!F.is.vertical()&&F.is.reversed()?T.leftArrow:T.rightArrow;return e==t||e==a?-1:e==n||e==o?1:e==T.pageDown?-2:e==T.pageUp?2:0}},handleNewValuePosition:function(e){var t=F.get.min(),n=F.get.max();return e<=t?e=t:n<=e&&(e=n),F.determine.positionFromValue(e)},set:{value:function(a,o){o=!1!==o;var s=v===K;v=v===K?F.get.value():v,F.update.value(a,function(e,t,n){b&&!h.fireOnInit||!o||(a!==v&&h.onChange.call(E,e,t,n),h.onMove.call(E,e,t,n)),s&&(v=K)})},rangeValue:function(e,t,n){var a,o,s;n=!1!==n,F.is.range()?(a=F.get.min(),o=F.get.max(),v=(s=v===K)?F.get.value():v,e<=a?e=a:o<=e&&(e=o),t<=a?t=a:o<=t&&(t=o),F.thumbVal=e,F.secondThumbVal=t,d=Math.abs(F.thumbVal-F.secondThumbVal),F.update.position(F.thumbVal,r),F.update.position(F.secondThumbVal,i),b&&!h.fireOnInit||!n||(d!==v&&h.onChange.call(E,d,F.thumbVal,F.secondThumbVal),h.onMove.call(E,d,F.thumbVal,F.secondThumbVal)),s&&(v=K)):F.error(V.notrange)},position:function(e,t){e=F.determine.value(e);"second"===t?(F.secondThumbVal=e,F.update.position(e,i)):(F.thumbVal=e,F.update.position(e,r)),d=Math.abs(F.thumbVal-(F.secondThumbVal||0)),F.set.value(d)}},update:{value:function(e,t){var n=F.get.min(),a=F.get.max();e<=n?e=n:a<=e&&(e=a),F.is.range()?((l=l===K?e<=F.get.currentThumbValue()?r:i:l).hasClass("second")?(h.preventCrossover&&F.is.range()&&(e=Math.max(F.thumbVal,e)),F.secondThumbVal=e):(h.preventCrossover&&F.is.range()&&(e=Math.min(F.secondThumbVal,e)),F.thumbVal=e),d=Math.abs(F.thumbVal-F.secondThumbVal)):(d=e,F.thumbVal=d),F.update.position(e),F.debug("Setting slider value to "+d),"function"==typeof t&&t(d,F.thumbVal,F.secondThumbVal)},position:function(e,t){var n=F.handleNewValuePosition(e),t=t!=K?t:l,a=F.thumbVal||F.get.min(),o=F.secondThumbVal||F.get.min();F.is.range()&&t.hasClass("second")?(f=n,o=e):(m=n,a=e);var s,r=F.get.min(),i=F.get.max(),e=100*(e-r)/(i-r),u=100*(Math.min(a,o)-r)/(i-r),a=100*(1-(Math.max(a,o)-r)/(i-r)),o=F.is.vertical()?F.is.reversed()?(s={bottom:"calc("+e+"% - "+g+"px)",top:"auto"},{bottom:u+"%",top:a+"%"}):(s={top:"calc("+e+"% - "+g+"px)",bottom:"auto"},{top:u+"%",bottom:a+"%"}):F.is.reversed()?(s={right:"calc("+e+"% - "+g+"px)",left:"auto"},{right:u+"%",left:a+"%"}):(s={left:"calc("+e+"% - "+g+"px)",right:"auto"},{left:u+"%",right:a+"%"});t.css(s),c.css(o),F.debug("Setting slider position to "+n)},labelPosition:function(e,t){var n=F.get.trackStartMargin(),a=F.get.trackEndMargin(),o=F.is.vertical()?F.is.reversed()?"bottom":"top":F.is.reversed()?"right":"left",s=F.is.reversed()&&!F.is.vertical()?" - ":" + ";t.css(o,"calc("+("(100% - "+n+" - "+a+") * "+e)+s+n+")")}},goto:{max:function(){F.set.value(F.get.max())},min:function(){F.set.value(F.get.min())}},read:{metadata:function(){var e={thumbVal:P.data(p.thumbVal),secondThumbVal:P.data(p.secondThumbVal)};e.thumbVal&&(F.is.range()&&e.secondThumbVal?(F.debug("Current value set from metadata",e.thumbVal,e.secondThumbVal),F.set.rangeValue(e.thumbVal,e.secondThumbVal)):(F.debug("Current value set from metadata",e.thumbVal),F.set.value(e.thumbVal)))},settings:function(){!1!==h.start&&(F.is.range()?(F.debug("Start position set from settings",h.start,h.end),F.set.rangeValue(h.start,h.end)):(F.debug("Start position set from settings",h.start),F.set.value(h.start)))}},setting:function(e,t){if(F.debug("Changing setting",e,t),X.isPlainObject(e))X.extend(!0,h,e);else{if(t===K)return h[e];X.isPlainObject(h[e])?X.extend(!0,h[e],t):h[e]=t}},internal:function(e,t){if(X.isPlainObject(e))X.extend(!0,F,e);else{if(t===K)return F[e];F[e]=t}},debug:function(){!h.silent&&h.debug&&(h.performance?F.performance.log(arguments):(F.debug=Function.prototype.bind.call(console.info,console,h.name+":"),F.debug.apply(console,arguments)))},verbose:function(){!h.silent&&h.verbose&&h.debug&&(h.performance?F.performance.log(arguments):(F.verbose=Function.prototype.bind.call(console.info,console,h.name+":"),F.verbose.apply(console,arguments)))},error:function(){h.silent||(F.error=Function.prototype.bind.call(console.error,console,h.name+":"),F.error.apply(console,arguments))},performance:{log:function(e){var t,n;h.performance&&(n=(t=(new Date).getTime())-(N||t),N=t,j.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:E,"Execution Time":n})),clearTimeout(F.performance.timer),F.performance.timer=setTimeout(F.performance.display,500)},display:function(){var e=h.name+":",n=0;N=!1,clearTimeout(F.performance.timer),X.each(j,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",O&&(e+=" '"+O+"'"),(console.group!==K||console.table!==K)&&0<j.length&&(console.groupCollapsed(e),console.table?console.table(j):X.each(j,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),j=[]}},invoke:function(a,e,t){var o,s,n,r=C;return e=e||R,t=E||t,"string"==typeof a&&r!==K&&(a=a.split(/[\. ]/),o=a.length-1,X.each(a,function(e,t){var n=e!=o?t+a[e+1].charAt(0).toUpperCase()+a[e+1].slice(1):a;if(X.isPlainObject(r[n])&&e!=o)r=r[n];else{if(r[n]!==K)return s=r[n],!1;{if(!X.isPlainObject(r[t])||e==o)return r[t]!==K?s=r[t]:F.error(V.method,a),!1;r=r[t]}}})),X.isFunction(s)?n=s.apply(t,e):s!==K&&(n=s),X.isArray(A)?A.push(n):A!==K?A=[A,n]:n!==K&&(A=n),s}};I?(C===K&&F.initialize(),F.invoke(z)):(C!==K&&C.invoke("destroy"),F.initialize())}),A!==K?A:this},X.fn.slider.settings={silent:!1,debug:!1,verbose:!1,performance:!0,name:"Slider",namespace:"slider",error:{method:"The method you called is not defined.",notrange:"This slider is not a range slider"},metadata:{thumbVal:"thumbVal",secondThumbVal:"secondThumbVal"},min:0,max:20,step:1,start:0,end:20,labelType:"number",showLabelTicks:!1,smooth:!1,autoAdjustLabels:!0,labelDistance:100,preventCrossover:!0,fireOnInit:!1,interpretLabel:!1,decimalPlaces:2,pageMultiplier:2,selector:{},className:{reversed:"reversed",disabled:"disabled",labeled:"labeled",ticked:"ticked",vertical:"vertical",range:"range",smooth:"smooth"},keys:{pageUp:33,pageDown:34,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40},labelTypes:{number:"number",letter:"letter"},onChange:function(e,t,n){},onMove:function(e,t,n){}}}(jQuery,window,document);
11
+ !function(X,t,Y,K){"use strict";t=void 0!==t&&t.Math==Math?t:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),X.fn.slider=function(F){var S,e=X(this),A=X(t),O=e.selector||"",N=(new Date).getTime(),j=[],z=F,I="string"==typeof z,R=[].slice.call(arguments,1),B=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],U=0;return e.each(function(){var l,r,i,u,e,c,d,t,m,f,g,v,o,b,s,h,p=X.isPlainObject(F)?X.extend(!0,{},X.fn.slider.settings,F):X.extend({},X.fn.slider.settings),n=p.className,a=p.metadata,k=p.namespace,V=p.error,T=p.keys,w=p.interpretLabel,y=!1,M="."+k,x="module-"+k,P=X(this),E=this,C=P.data(x),L=1,D={initialize:function(){D.debug("Initializing slider",p),h=!0,t=U+=1,D.setup.layout(),D.setup.labels(),D.is.disabled()||D.bind.events(),D.read.metadata(),D.read.settings(),h=!1,D.instantiate()},instantiate:function(){D.verbose("Storing instance of slider",D),C=D,P.data(x,D)},destroy:function(){D.verbose("Destroying previous slider for",P),clearInterval(C.interval),D.unbind.events(),D.unbind.slidingEvents(),P.removeData(x),C=K},setup:{layout:function(){P.attr("tabindex")===K&&P.attr("tabindex",0),0==P.find(".inner").length&&P.append("<div class='inner'><div class='track'></div><div class='track-fill'></div><div class='thumb'></div></div>"),o=D.get.precision(),i=P.find(".thumb:not(.second)"),l=i,D.is.range()&&(0==P.find(".thumb.second").length&&P.find(".inner").append("<div class='thumb second'></div>"),u=P.find(".thumb.second")),e=P.find(".track"),c=P.find(".track-fill"),v=i.width()/2},labels:function(){D.is.labeled()&&(0!=(d=P.find(".labels:not(.auto)")).length?D.setup.customLabel():D.setup.autoLabel(),p.showLabelTicks&&P.addClass(n.ticked))},customLabel:function(){var n,e=d.find(".label"),a=e.length,o=D.get.min(),s=D.get.max();e.each(function(e){var t=X(this).attr("data-value");n=t?((t=s<t?s:t<o?o:t)-o)/(s-o):(e+1)/(a+1),D.update.labelPosition(n,X(this))})},autoLabel:function(){0!=(d=P.find(".labels")).length?d.empty():d=P.append('<ul class="auto labels"></ul>').find(".labels");for(var e=0,t=D.get.numLabels();e<=t;e++){var n=D.get.label(e),n=""!==n?e%D.get.gapRatio()?X('<li class="halftick label"></li>'):X('<li class="label">'+n+"</li>"):null;n&&(D.update.labelPosition(e/t,n),d.append(n))}}},bind:{events:function(){D.bind.globalKeyboardEvents(),D.bind.keyboardEvents(),D.bind.mouseEvents(),p.autoAdjustLabels&&D.bind.windowEvents()},keyboardEvents:function(){D.verbose("Binding keyboard events"),P.on("keydown"+M,D.event.keydown)},globalKeyboardEvents:function(){X(Y).on("keydown"+M+t,D.event.activateFocus)},mouseEvents:function(){D.verbose("Binding mouse and touch events"),P.find(".track, .thumb, .inner").on("mousedown"+M,function(e){e.stopImmediatePropagation(),e.preventDefault(),D.event.down(e)}),P.on("mousedown"+M,D.event.down),P.on("mouseenter"+M,function(e){y=!0}),P.on("mouseleave"+M,function(e){y=!1}),P.find(".thumb").on("touchstart"+M,D.event.touchDown).on("touchmove"+M,D.event.move).on("touchend"+M,D.event.up).on("touchcancel"+M,D.event.touchCancel)},slidingEvents:function(){D.verbose("Binding page wide events while handle is being draged"),X(Y).on("mousemove"+M,D.event.move),X(Y).on("mouseup"+M,D.event.up)},windowEvents:function(){A.on("resize"+M,D.event.resize)}},unbind:{events:function(){P.find(".track, .thumb, .inner").off("mousedown"+M),P.off("mousedown"+M),P.off("mouseenter"+M),P.off("mouseleave"+M),P.find(".thumb").off("touchstart"+M).off("touchmove"+M).off("touchend"+M).off("touchcancel"+M),P.off("keydown"+M),P.off("focusout"+M),X(Y).off("keydown"+M+t,D.event.activateFocus),A.off("resize"+M)},slidingEvents:function(){X(Y).off("mousemove"+M),X(Y).off("mouseup"+M)}},event:{down:function(e){e.preventDefault(),D.is.range()?(e=D.determine.eventPos(e),e=D.determine.pos(e),l=p.preventCrossover&&D.is.range()&&D.thumbVal===D.secondThumbVal?(s=e,K):D.determine.closestThumb(e),b===K&&(b=D.get.currentThumbValue())):b===K&&(b=D.get.value()),D.is.disabled()||D.bind.slidingEvents()},touchDown:function(e){e.preventDefault(),e.stopImmediatePropagation(),r===K&&(l=X(e.target),e=e.touches?e:e.originalEvent,r=e.targetTouches[0].identifier,b===K&&(b=D.get.currentThumbValue()))},move:function(e){var t,n,a;"mousemove"==e.type&&e.preventDefault(),D.is.disabled()||(t=D.determine.valueFromEvent(e),"mousemove"==e.type&&l===K&&(n=D.determine.eventPos(e),n=D.determine.pos(n),l=n<s?i:u),0==D.get.step()||D.is.smooth()?(n=D.thumbVal,a=D.secondThumbVal,e=D.determine.smoothValueFromEvent(e),l.hasClass("second")?(p.preventCrossover&&D.is.range()&&(t=Math.max(n,t),e=Math.max(n,e)),a=t):(p.preventCrossover&&D.is.range()&&(t=Math.min(a,t),e=Math.min(a,e)),n=t),t=Math.abs(n-(a||0)),D.update.position(e),p.onMove.call(E,t,n,a)):D.update.value(t,function(e,t,n){p.onMove.call(E,e,t,n)}))},up:function(e){e.preventDefault(),D.is.disabled()||(e=D.determine.valueFromEvent(e),D.set.value(e),D.unbind.slidingEvents(),b!==(r=K)&&(b=K))},touchCancel:function(e){e.preventDefault(),b!==(r=K)&&(D.update.value(b),b=K)},keydown:function(e,t){if(p.preventCrossover&&D.is.range()&&D.thumbVal===D.secondThumbVal&&(l=K),D.is.focused()&&X(Y).trigger(e),t||D.is.focused()){t=D.determine.keyMovement(e);if(0!=t)switch(e.preventDefault(),t){case 1:D.takeStep();break;case 2:D.takeStep(D.get.multiplier());break;case-1:D.backStep();break;case-2:D.backStep(D.get.multiplier())}}},activateFocus:function(e){!D.is.focused()&&D.is.hover()&&0!=D.determine.keyMovement(e)&&(e.preventDefault(),D.event.keydown(e,!0),P.focus())},resize:function(e){L!=D.get.gapRatio()&&(D.setup.labels(),L=D.get.gapRatio())}},resync:function(){D.verbose("Resyncing thumb position based on value"),D.is.range()&&D.update.position(D.secondThumbVal,u),D.update.position(D.thumbVal,i),D.setup.labels()},takeStep:function(e){var e=e!=K?e:1,t=D.get.step(),n=D.get.currentThumbValue();D.verbose("Taking a step"),0<t?D.set.value(n+t*e):0==t&&(t=D.get.precision(),D.set.value(Math.round((n+e/t)*t)/t))},backStep:function(e){var e=e!=K?e:1,t=D.get.step(),n=D.get.currentThumbValue();D.verbose("Going back a step"),0<t?D.set.value(n-t*e):0==t&&(t=D.get.precision(),D.set.value(Math.round((n-e/t)*t)/t))},is:{range:function(){return P.hasClass(p.className.range)},hover:function(){return y},focused:function(){return P.is(":focus")},disabled:function(){return P.hasClass(p.className.disabled)},labeled:function(){return P.hasClass(p.className.labeled)},reversed:function(){return P.hasClass(p.className.reversed)},vertical:function(){return P.hasClass(p.className.vertical)},smooth:function(){return p.smooth||P.hasClass(p.className.smooth)}},get:{trackOffset:function(){return D.is.vertical()?e.offset().top:e.offset().left},trackLength:function(){return D.is.vertical()?e.height():e.width()},trackLeft:function(){return D.is.vertical()?e.position().top:e.position().left},trackStartPos:function(){return D.is.reversed()?D.get.trackLeft()+D.get.trackLength():D.get.trackLeft()},trackEndPos:function(){return D.is.reversed()?D.get.trackLeft():D.get.trackLeft()+D.get.trackLength()},trackStartMargin:function(){var e=D.is.vertical()?D.is.reversed()?P.css("padding-bottom"):P.css("padding-top"):D.is.reversed()?P.css("padding-right"):P.css("padding-left");return e||"0px"},trackEndMargin:function(){var e=D.is.vertical()?D.is.reversed()?P.css("padding-top"):P.css("padding-bottom"):D.is.reversed()?P.css("padding-left"):P.css("padding-right");return e||"0px"},precision:function(){var e=D.get.step(),e=(e=0!=e?2==(e=String(e).split(".")).length?e[1].length:0:p.decimalPlaces,Math.pow(10,e));return D.debug("Precision determined",e),e},min:function(){return p.min},max:function(){var e=D.get.step(),t=D.get.min(),n=0===e?0:Math.floor((p.max-t)/e);return 0==(0===e?0:(p.max-t)%e)?p.max:t+n*e},step:function(){return p.step},numLabels:function(){var e=Math.round((D.get.max()-D.get.min())/(0===D.get.step()?1:D.get.step()));return D.debug("Determined that there should be "+e+" labels"),e},labelType:function(){return p.labelType},label:function(e){if(w)return w(e);switch(p.labelType){case p.labelTypes.number:return Math.round((e*(0===D.get.step()?1:D.get.step())+D.get.min())*o)/o;case p.labelTypes.letter:return B[e%26];default:return e}},value:function(){return m},currentThumbValue:function(){return l!==K&&l.hasClass("second")?D.secondThumbVal:D.thumbVal},thumbValue:function(e){return"second"!==e?D.thumbVal:D.is.range()?D.secondThumbVal:void D.error(V.notrange)},multiplier:function(){return p.pageMultiplier},thumbPosition:function(e){return"second"!==e?f:D.is.range()?g:void D.error(V.notrange)},gapRatio:function(){var e=1;if(p.autoAdjustLabels){var t=D.get.numLabels(),n=D.get.trackLength(),a=1;if(0<n)for(;n/t*a<p.labelDistance;)t%a||(e=a),a+=1}return e}},determine:{pos:function(e){return D.is.reversed()?D.get.trackStartPos()-e+D.get.trackOffset():e-D.get.trackOffset()-D.get.trackStartPos()},closestThumb:function(e){var t=parseFloat(D.determine.thumbPos(i)),t=Math.abs(e-t),n=parseFloat(D.determine.thumbPos(u)),e=Math.abs(e-n);return(t!==e||D.get.thumbValue()!==D.get.min())&&t<=e?i:u},closestThumbPos:function(e){var t=parseFloat(D.determine.thumbPos(i)),n=Math.abs(e-t),a=parseFloat(D.determine.thumbPos(u));return n<=Math.abs(e-a)?t:a},thumbPos:function(e){return D.is.vertical()?D.is.reversed()?e.css("bottom"):e.css("top"):D.is.reversed()?e.css("right"):e.css("left")},positionFromValue:function(e){var t=D.get.min(),n=D.get.max(),e=n<e?n:e<t?t:e,a=D.get.trackLength(),n=Math.round((e-t)/(n-t)*a);return D.verbose("Determined position: "+n+" from value: "+e),n},positionFromRatio:function(e){var t=D.get.trackLength(),n=D.get.step(),e=Math.round(e*t);return 0==n?e:Math.round(e/n)*n},valueFromEvent:function(e){var e=D.determine.eventPos(e),t=D.determine.pos(e),e=e<D.get.trackOffset()?D.is.reversed()?D.get.max():D.get.min():e>D.get.trackOffset()+D.get.trackLength()?D.is.reversed()?D.get.min():D.get.max():D.determine.value(t);return e},smoothValueFromEvent:function(e){var t=D.get.min(),n=D.get.max(),a=D.get.trackLength(),e=D.determine.eventPos(e)-D.get.trackOffset(),e=(e=e<0?0:a<e?a:e)/a;return(e=D.is.reversed()?1-e:e)*(n-t)+t},eventPos:function(e){if("touchmove"===e.type||"touchend"===e.type){for(var t=e.touches?e:e.originalEvent,n=t.changedTouches[0],a=0;a<t.touches.length;a++)if(t.touches[a].identifier===r){n=t.touches[a];break}var o=n.pageY,s=n.pageX;return D.is.vertical()?o:s}o=e.pageY||e.originalEvent.pageY,s=e.pageX||e.originalEvent.pageX;return D.is.vertical()?o:s},value:function(e){var t=D.is.reversed()?D.get.trackEndPos():D.get.trackStartPos(),t=(e-t)/((D.is.reversed()?D.get.trackStartPos():D.get.trackEndPos())-t),n=D.get.max()-D.get.min(),a=D.get.step(),t=t*n,n=0==a?t:Math.round(t/a)*a;return D.verbose("Determined value based upon position: "+e+" as: "+t),t!=n&&D.verbose("Rounding value to closest step: "+n),D.verbose("Cutting off additional decimal places"),Math.round((n+D.get.min())*o)/o},keyMovement:function(e){var e=e.which,t=!D.is.vertical()||D.is.reversed()?T.downArrow:T.upArrow,n=!D.is.vertical()||D.is.reversed()?T.upArrow:T.downArrow,a=!D.is.vertical()&&D.is.reversed()?T.rightArrow:T.leftArrow,o=!D.is.vertical()&&D.is.reversed()?T.leftArrow:T.rightArrow;return e==t||e==a?-1:e==n||e==o?1:e==T.pageDown?-2:e==T.pageUp?2:0}},handleNewValuePosition:function(e){var t=D.get.min(),n=D.get.max();return e<=t?e=t:n<=e&&(e=n),D.determine.positionFromValue(e)},set:{value:function(a,o){o=!1!==o;var s=b===K;b=b===K?D.get.value():b,D.update.value(a,function(e,t,n){h&&!p.fireOnInit||!o||(a!==b&&p.onChange.call(E,e,t,n),p.onMove.call(E,e,t,n)),s&&(b=K)})},rangeValue:function(e,t,n){var a,o,s;n=!1!==n,D.is.range()?(a=D.get.min(),o=D.get.max(),b=(s=b===K)?D.get.value():b,e<=a?e=a:o<=e&&(e=o),t<=a?t=a:o<=t&&(t=o),D.thumbVal=e,D.secondThumbVal=t,m=Math.abs(D.thumbVal-D.secondThumbVal),D.update.position(D.thumbVal,i),D.update.position(D.secondThumbVal,u),h&&!p.fireOnInit||!n||(m!==b&&p.onChange.call(E,m,D.thumbVal,D.secondThumbVal),p.onMove.call(E,m,D.thumbVal,D.secondThumbVal)),s&&(b=K)):D.error(V.notrange)},position:function(e,t){e=D.determine.value(e);"second"===t?(D.secondThumbVal=e,D.update.position(e,u)):(D.thumbVal=e,D.update.position(e,i)),m=Math.abs(D.thumbVal-(D.secondThumbVal||0)),D.set.value(m)}},update:{value:function(e,t){var n=D.get.min(),a=D.get.max();e<=n?e=n:a<=e&&(e=a),D.is.range()?((l=l===K?e<=D.get.currentThumbValue()?i:u:l).hasClass("second")?(p.preventCrossover&&D.is.range()&&(e=Math.max(D.thumbVal,e)),D.secondThumbVal=e):(p.preventCrossover&&D.is.range()&&(e=Math.min(D.secondThumbVal,e)),D.thumbVal=e),m=Math.abs(D.thumbVal-D.secondThumbVal)):(m=e,D.thumbVal=m),D.update.position(e),D.debug("Setting slider value to "+m),"function"==typeof t&&t(m,D.thumbVal,D.secondThumbVal)},position:function(e,t){var n=D.handleNewValuePosition(e),t=t!=K?t:l,a=D.thumbVal||D.get.min(),o=D.secondThumbVal||D.get.min();D.is.range()&&t.hasClass("second")?(g=n,o=e):(f=n,a=e);var s,r=D.get.min(),i=D.get.max(),e=100*(e-r)/(i-r),u=100*(Math.min(a,o)-r)/(i-r),a=100*(1-(Math.max(a,o)-r)/(i-r)),o=D.is.vertical()?D.is.reversed()?(s={bottom:"calc("+e+"% - "+v+"px)",top:"auto"},{bottom:u+"%",top:a+"%"}):(s={top:"calc("+e+"% - "+v+"px)",bottom:"auto"},{top:u+"%",bottom:a+"%"}):D.is.reversed()?(s={right:"calc("+e+"% - "+v+"px)",left:"auto"},{right:u+"%",left:a+"%"}):(s={left:"calc("+e+"% - "+v+"px)",right:"auto"},{left:u+"%",right:a+"%"});t.css(s),c.css(o),D.debug("Setting slider position to "+n)},labelPosition:function(e,t){var n=D.get.trackStartMargin(),a=D.get.trackEndMargin(),o=D.is.vertical()?D.is.reversed()?"bottom":"top":D.is.reversed()?"right":"left",s=D.is.reversed()&&!D.is.vertical()?" - ":" + ";t.css(o,"calc("+("(100% - "+n+" - "+a+") * "+e)+s+n+")")}},goto:{max:function(){D.set.value(D.get.max())},min:function(){D.set.value(D.get.min())}},read:{metadata:function(){var e={thumbVal:P.data(a.thumbVal),secondThumbVal:P.data(a.secondThumbVal)};e.thumbVal&&(D.is.range()&&e.secondThumbVal?(D.debug("Current value set from metadata",e.thumbVal,e.secondThumbVal),D.set.rangeValue(e.thumbVal,e.secondThumbVal)):(D.debug("Current value set from metadata",e.thumbVal),D.set.value(e.thumbVal)))},settings:function(){!1!==p.start&&(D.is.range()?(D.debug("Start position set from settings",p.start,p.end),D.set.rangeValue(p.start,p.end)):(D.debug("Start position set from settings",p.start),D.set.value(p.start)))}},setting:function(e,t){if(D.debug("Changing setting",e,t),X.isPlainObject(e))X.extend(!0,p,e);else{if(t===K)return p[e];X.isPlainObject(p[e])?X.extend(!0,p[e],t):p[e]=t}},internal:function(e,t){if(X.isPlainObject(e))X.extend(!0,D,e);else{if(t===K)return D[e];D[e]=t}},debug:function(){!p.silent&&p.debug&&(p.performance?D.performance.log(arguments):(D.debug=Function.prototype.bind.call(console.info,console,p.name+":"),D.debug.apply(console,arguments)))},verbose:function(){!p.silent&&p.verbose&&p.debug&&(p.performance?D.performance.log(arguments):(D.verbose=Function.prototype.bind.call(console.info,console,p.name+":"),D.verbose.apply(console,arguments)))},error:function(){p.silent||(D.error=Function.prototype.bind.call(console.error,console,p.name+":"),D.error.apply(console,arguments))},performance:{log:function(e){var t,n;p.performance&&(n=(t=(new Date).getTime())-(N||t),N=t,j.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:E,"Execution Time":n})),clearTimeout(D.performance.timer),D.performance.timer=setTimeout(D.performance.display,500)},display:function(){var e=p.name+":",n=0;N=!1,clearTimeout(D.performance.timer),X.each(j,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",O&&(e+=" '"+O+"'"),(console.group!==K||console.table!==K)&&0<j.length&&(console.groupCollapsed(e),console.table?console.table(j):X.each(j,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),j=[]}},invoke:function(a,e,t){var o,s,n,r=C;return e=e||R,t=E||t,"string"==typeof a&&r!==K&&(a=a.split(/[\. ]/),o=a.length-1,X.each(a,function(e,t){var n=e!=o?t+a[e+1].charAt(0).toUpperCase()+a[e+1].slice(1):a;if(X.isPlainObject(r[n])&&e!=o)r=r[n];else{if(r[n]!==K)return s=r[n],!1;{if(!X.isPlainObject(r[t])||e==o)return r[t]!==K?s=r[t]:D.error(V.method,a),!1;r=r[t]}}})),X.isFunction(s)?n=s.apply(t,e):s!==K&&(n=s),X.isArray(S)?S.push(n):S!==K?S=[S,n]:n!==K&&(S=n),s}};I?(C===K&&D.initialize(),D.invoke(z)):(C!==K&&C.invoke("destroy"),D.initialize())}),S!==K?S:this},X.fn.slider.settings={silent:!1,debug:!1,verbose:!1,performance:!0,name:"Slider",namespace:"slider",error:{method:"The method you called is not defined.",notrange:"This slider is not a range slider"},metadata:{thumbVal:"thumbVal",secondThumbVal:"secondThumbVal"},min:0,max:20,step:1,start:0,end:20,labelType:"number",showLabelTicks:!1,smooth:!1,autoAdjustLabels:!0,labelDistance:100,preventCrossover:!0,fireOnInit:!1,interpretLabel:!1,decimalPlaces:2,pageMultiplier:2,selector:{},className:{reversed:"reversed",disabled:"disabled",labeled:"labeled",ticked:"ticked",vertical:"vertical",range:"range",smooth:"smooth"},keys:{pageUp:33,pageDown:34,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40},labelTypes:{number:"number",letter:"letter"},onChange:function(e,t,n){},onMove:function(e,t,n){}}}(jQuery,window,document);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - State
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - State
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Statistic
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Statistic
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Statistic
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Statistic
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Step
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Step
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Step
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Step
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Sticky
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Sticky
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Sticky
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Sticky
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Sticky
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Sticky
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Tab
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Tab
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Tab
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Tab
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Tab
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Tab
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Table
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Table
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Table
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Table
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Text
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Text
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Text
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Text
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Toast
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Toast
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Toast
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Toast
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Toast
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Toast
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Transition
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Transition
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Transition
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Transition
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Transition
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Transition
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.276+0e4d021 - Visibility
2
+ * # Fomantic-UI 2.9.0-beta.279+1f0733d - Visibility
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.276+0e4d021
2
+ * # Fomantic UI - 2.9.0-beta.279+1f0733d
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *