fomantic-ui 2.9.3-beta.1 → 2.9.3-beta.10

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 (243) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CONTRIBUTORS.md +102 -99
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +1 -5
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +2 -2
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +14 -8
  10. package/dist/components/api.min.js +2 -2
  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 +6 -6
  16. package/dist/components/calendar.js +1 -6
  17. package/dist/components/calendar.min.css +2 -2
  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 -5
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +2 -2
  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 -5
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +2 -2
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +19 -2
  36. package/dist/components/dropdown.js +29 -14
  37. package/dist/components/dropdown.min.css +2 -2
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +1 -6
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +2 -2
  43. package/dist/components/emoji.css +1 -1
  44. package/dist/components/emoji.min.css +1 -1
  45. package/dist/components/feed.css +1 -1
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +1 -1
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +1 -1
  50. package/dist/components/flyout.js +40 -27
  51. package/dist/components/flyout.min.css +1 -1
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +36 -5
  54. package/dist/components/form.js +32 -24
  55. package/dist/components/form.min.css +2 -2
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +1 -1
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +1 -1
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +1 -1
  62. package/dist/components/icon.min.css +1 -1
  63. package/dist/components/image.css +1 -1
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +1 -1
  66. package/dist/components/input.min.css +1 -1
  67. package/dist/components/item.css +1 -1
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +21 -2
  70. package/dist/components/label.min.css +2 -2
  71. package/dist/components/list.css +1 -1
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +1 -1
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +1 -1
  76. package/dist/components/menu.min.css +1 -1
  77. package/dist/components/message.css +1 -1
  78. package/dist/components/message.min.css +1 -1
  79. package/dist/components/modal.css +6 -3
  80. package/dist/components/modal.js +44 -32
  81. package/dist/components/modal.min.css +2 -2
  82. package/dist/components/modal.min.js +2 -2
  83. package/dist/components/nag.css +1 -1
  84. package/dist/components/nag.js +16 -8
  85. package/dist/components/nag.min.css +1 -1
  86. package/dist/components/nag.min.js +2 -2
  87. package/dist/components/placeholder.css +1 -1
  88. package/dist/components/placeholder.min.css +1 -1
  89. package/dist/components/popup.css +41 -40
  90. package/dist/components/popup.js +25 -17
  91. package/dist/components/popup.min.css +2 -2
  92. package/dist/components/popup.min.js +2 -2
  93. package/dist/components/progress.css +1 -1
  94. package/dist/components/progress.js +1 -6
  95. package/dist/components/progress.min.css +1 -1
  96. package/dist/components/progress.min.js +2 -2
  97. package/dist/components/rail.css +1 -1
  98. package/dist/components/rail.min.css +1 -1
  99. package/dist/components/rating.css +1 -1
  100. package/dist/components/rating.js +1 -5
  101. package/dist/components/rating.min.css +1 -1
  102. package/dist/components/rating.min.js +2 -2
  103. package/dist/components/reset.css +1 -1
  104. package/dist/components/reset.min.css +1 -1
  105. package/dist/components/reveal.css +1 -1
  106. package/dist/components/reveal.min.css +1 -1
  107. package/dist/components/search.css +1 -1
  108. package/dist/components/search.js +1 -5
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +2 -2
  111. package/dist/components/segment.css +3 -2
  112. package/dist/components/segment.min.css +2 -2
  113. package/dist/components/shape.css +1 -1
  114. package/dist/components/shape.js +1 -5
  115. package/dist/components/shape.min.css +1 -1
  116. package/dist/components/shape.min.js +2 -2
  117. package/dist/components/sidebar.css +1 -1
  118. package/dist/components/sidebar.js +15 -8
  119. package/dist/components/sidebar.min.css +1 -1
  120. package/dist/components/sidebar.min.js +2 -2
  121. package/dist/components/site.css +1 -1
  122. package/dist/components/site.js +1 -1
  123. package/dist/components/site.min.css +1 -1
  124. package/dist/components/site.min.js +1 -1
  125. package/dist/components/slider.css +1 -1
  126. package/dist/components/slider.js +122 -31
  127. package/dist/components/slider.min.css +1 -1
  128. package/dist/components/slider.min.js +2 -2
  129. package/dist/components/state.js +23 -20
  130. package/dist/components/state.min.js +2 -2
  131. package/dist/components/statistic.css +1 -1
  132. package/dist/components/statistic.min.css +1 -1
  133. package/dist/components/step.css +1 -1
  134. package/dist/components/step.min.css +1 -1
  135. package/dist/components/sticky.css +1 -1
  136. package/dist/components/sticky.js +17 -16
  137. package/dist/components/sticky.min.css +1 -1
  138. package/dist/components/sticky.min.js +2 -2
  139. package/dist/components/tab.css +1 -1
  140. package/dist/components/tab.js +14 -6
  141. package/dist/components/tab.min.css +1 -1
  142. package/dist/components/tab.min.js +2 -2
  143. package/dist/components/table.css +1 -1
  144. package/dist/components/table.min.css +1 -1
  145. package/dist/components/text.css +1 -1
  146. package/dist/components/text.min.css +1 -1
  147. package/dist/components/toast.css +1 -1
  148. package/dist/components/toast.js +17 -9
  149. package/dist/components/toast.min.css +1 -1
  150. package/dist/components/toast.min.js +2 -2
  151. package/dist/components/transition.css +1 -1
  152. package/dist/components/transition.js +1 -5
  153. package/dist/components/transition.min.css +1 -1
  154. package/dist/components/transition.min.js +2 -2
  155. package/dist/components/visibility.js +15 -6
  156. package/dist/components/visibility.min.js +2 -2
  157. package/dist/semantic.css +203 -108
  158. package/dist/semantic.js +435 -281
  159. package/dist/semantic.min.css +2 -2
  160. package/dist/semantic.min.js +2 -2
  161. package/package.json +1 -1
  162. package/src/definitions/behaviors/api.js +13 -7
  163. package/src/definitions/behaviors/form.js +31 -23
  164. package/src/definitions/behaviors/state.js +22 -19
  165. package/src/definitions/behaviors/visibility.js +14 -5
  166. package/src/definitions/collections/breadcrumb.less +2 -1
  167. package/src/definitions/collections/form.less +24 -5
  168. package/src/definitions/collections/grid.less +2 -1
  169. package/src/definitions/collections/menu.less +2 -1
  170. package/src/definitions/collections/message.less +2 -1
  171. package/src/definitions/collections/table.less +2 -1
  172. package/src/definitions/elements/button.less +3 -1
  173. package/src/definitions/elements/container.less +2 -1
  174. package/src/definitions/elements/divider.less +2 -1
  175. package/src/definitions/elements/emoji.less +2 -1
  176. package/src/definitions/elements/flag.less +2 -1
  177. package/src/definitions/elements/header.less +2 -1
  178. package/src/definitions/elements/icon.less +2 -1
  179. package/src/definitions/elements/image.less +2 -1
  180. package/src/definitions/elements/input.less +2 -1
  181. package/src/definitions/elements/label.less +23 -2
  182. package/src/definitions/elements/list.less +2 -1
  183. package/src/definitions/elements/loader.less +2 -1
  184. package/src/definitions/elements/placeholder.less +2 -1
  185. package/src/definitions/elements/rail.less +2 -1
  186. package/src/definitions/elements/reveal.less +2 -1
  187. package/src/definitions/elements/segment.less +4 -2
  188. package/src/definitions/elements/step.less +2 -1
  189. package/src/definitions/elements/text.less +2 -1
  190. package/src/definitions/globals/reset.less +2 -1
  191. package/src/definitions/globals/site.less +2 -1
  192. package/src/definitions/modules/accordion.js +0 -4
  193. package/src/definitions/modules/accordion.less +2 -1
  194. package/src/definitions/modules/calendar.js +0 -5
  195. package/src/definitions/modules/calendar.less +3 -2
  196. package/src/definitions/modules/checkbox.js +0 -4
  197. package/src/definitions/modules/checkbox.less +2 -1
  198. package/src/definitions/modules/dimmer.js +0 -4
  199. package/src/definitions/modules/dimmer.less +2 -1
  200. package/src/definitions/modules/dropdown.js +28 -13
  201. package/src/definitions/modules/dropdown.less +22 -2
  202. package/src/definitions/modules/embed.js +0 -5
  203. package/src/definitions/modules/embed.less +2 -1
  204. package/src/definitions/modules/flyout.js +39 -26
  205. package/src/definitions/modules/flyout.less +2 -1
  206. package/src/definitions/modules/modal.js +43 -31
  207. package/src/definitions/modules/modal.less +7 -3
  208. package/src/definitions/modules/nag.js +15 -7
  209. package/src/definitions/modules/nag.less +3 -1
  210. package/src/definitions/modules/popup.js +24 -16
  211. package/src/definitions/modules/popup.less +42 -39
  212. package/src/definitions/modules/progress.js +0 -5
  213. package/src/definitions/modules/progress.less +2 -1
  214. package/src/definitions/modules/rating.js +0 -4
  215. package/src/definitions/modules/rating.less +2 -1
  216. package/src/definitions/modules/search.js +0 -4
  217. package/src/definitions/modules/search.less +2 -1
  218. package/src/definitions/modules/shape.js +0 -4
  219. package/src/definitions/modules/shape.less +2 -1
  220. package/src/definitions/modules/sidebar.js +14 -7
  221. package/src/definitions/modules/sidebar.less +2 -1
  222. package/src/definitions/modules/slider.js +121 -30
  223. package/src/definitions/modules/slider.less +2 -1
  224. package/src/definitions/modules/sticky.js +16 -15
  225. package/src/definitions/modules/sticky.less +2 -1
  226. package/src/definitions/modules/tab.js +13 -5
  227. package/src/definitions/modules/tab.less +2 -1
  228. package/src/definitions/modules/toast.js +16 -8
  229. package/src/definitions/modules/toast.less +2 -1
  230. package/src/definitions/modules/transition.js +0 -4
  231. package/src/definitions/modules/transition.less +2 -1
  232. package/src/definitions/views/ad.less +2 -1
  233. package/src/definitions/views/card.less +2 -1
  234. package/src/definitions/views/comment.less +2 -1
  235. package/src/definitions/views/feed.less +2 -1
  236. package/src/definitions/views/item.less +2 -1
  237. package/src/definitions/views/statistic.less +2 -1
  238. package/src/overrides.less +7 -0
  239. package/src/theme.less +7 -6
  240. package/src/themes/default/elements/label.variables +5 -0
  241. package/src/themes/default/modules/dropdown.variables +3 -0
  242. package/src/themes/default/modules/modal.variables +1 -0
  243. package/src/themes/default/modules/popup.variables +3 -1
@@ -35,7 +35,6 @@
35
35
 
36
36
  $allModules.each(function () {
37
37
  var
38
- moduleSelector = $allModules.selector || '',
39
38
  settings = $.isPlainObject(parameters)
40
39
  ? $.extend(true, {}, $.fn.shape.settings, parameters)
41
40
  : $.extend({}, $.fn.shape.settings),
@@ -637,9 +636,6 @@
637
636
  totalTime += data['Execution Time'];
638
637
  });
639
638
  title += ' ' + totalTime + 'ms';
640
- if (moduleSelector) {
641
- title += ' \'' + moduleSelector + '\'';
642
- }
643
639
  if ($allModules.length > 1) {
644
640
  title += ' (' + $allModules.length + ')';
645
641
  }
@@ -143,4 +143,5 @@
143
143
  display: block;
144
144
  }
145
145
 
146
- .loadUIOverrides();
146
+ // stylelint-disable no-invalid-position-at-import-rule
147
+ @import (multiple, optional) "../../overrides.less";
@@ -28,15 +28,25 @@
28
28
  $html = $('html'),
29
29
  $head = $('head'),
30
30
 
31
- moduleSelector = $allModules.selector || '',
32
-
33
31
  time = Date.now(),
34
32
  performance = [],
35
33
 
36
34
  query = arguments[0],
37
35
  methodInvoked = typeof query === 'string',
38
36
  queryArguments = [].slice.call(arguments, 1),
37
+ contextCheck = function (context, win) {
38
+ var $context;
39
+ if ([window, document].indexOf(context) >= 0) {
40
+ $context = $body;
41
+ } else {
42
+ $context = $(win.document).find(context);
43
+ if ($context.length === 0) {
44
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
45
+ }
46
+ }
39
47
 
48
+ return $context;
49
+ },
40
50
  returnedValue;
41
51
 
42
52
  $allModules.each(function () {
@@ -55,7 +65,7 @@
55
65
  moduleNamespace = 'module-' + namespace,
56
66
 
57
67
  $module = $(this),
58
- $context = [window, document].indexOf(settings.context) < 0 ? $document.find(settings.context) : $body,
68
+ $context = contextCheck(settings.context, window),
59
69
  isBody = $context[0] === $body[0],
60
70
 
61
71
  $sidebars = $module.children(selector.sidebar),
@@ -277,7 +287,7 @@
277
287
 
278
288
  refresh: function () {
279
289
  module.verbose('Refreshing selector cache');
280
- $context = [window, document].indexOf(settings.context) < 0 ? $document.find(settings.context) : $body;
290
+ $context = contextCheck(settings.context, window);
281
291
  module.refreshSidebars();
282
292
  $pusher = $context.children(selector.pusher);
283
293
  $fixed = $context.children(selector.fixed);
@@ -901,9 +911,6 @@
901
911
  totalTime += data['Execution Time'];
902
912
  });
903
913
  title += ' ' + totalTime + 'ms';
904
- if (moduleSelector) {
905
- title += ' \'' + moduleSelector + '\'';
906
- }
907
914
  if (performance.length > 0) {
908
915
  console.groupCollapsed(title);
909
916
  if (console.table) {
@@ -667,4 +667,5 @@ body.pushable > .pusher {
667
667
  }
668
668
  }
669
669
 
670
- .loadUIOverrides();
670
+ // stylelint-disable no-invalid-position-at-import-rule
671
+ @import (multiple, optional) "../../overrides.less";
@@ -25,8 +25,6 @@
25
25
  $document = $(document),
26
26
  $window = $(window),
27
27
 
28
- moduleSelector = $allModules.selector || '',
29
-
30
28
  time = Date.now(),
31
29
  performance = [],
32
30
 
@@ -105,9 +103,7 @@
105
103
  module.setup.layout();
106
104
  module.setup.labels();
107
105
 
108
- if (!module.is.disabled()) {
109
- module.bind.events();
110
- }
106
+ module.bind.events();
111
107
 
112
108
  module.read.metadata();
113
109
  module.read.settings();
@@ -139,20 +135,32 @@
139
135
  $module.attr('tabindex', 0);
140
136
  }
141
137
  if ($module.find('.inner').length === 0) {
142
- $module.append("<div class='inner'>"
143
- + "<div class='track'></div>"
144
- + "<div class='track-fill'></div>"
145
- + "<div class='thumb'></div>"
138
+ $module.append('<div class="inner">'
139
+ + '<div class="track"></div>'
140
+ + '<div class="track-fill"></div>'
141
+ + '<div class="thumb"></div>'
146
142
  + '</div>');
147
143
  }
148
144
  precision = module.get.precision();
149
145
  $thumb = $module.find('.thumb:not(.second)');
146
+ if (settings.showThumbTooltip) {
147
+ $thumb
148
+ .attr('data-position', settings.tooltipConfig.position)
149
+ .attr('data-variation', settings.tooltipConfig.variation)
150
+ ;
151
+ }
150
152
  $currThumb = $thumb;
151
153
  if (module.is.range()) {
152
154
  if ($module.find('.thumb.second').length === 0) {
153
- $module.find('.inner').append("<div class='thumb second'></div>");
155
+ $module.find('.inner').append('<div class="thumb second"></div>');
154
156
  }
155
157
  $secondThumb = $module.find('.thumb.second');
158
+ if (settings.showThumbTooltip) {
159
+ $secondThumb
160
+ .attr('data-position', settings.tooltipConfig.position)
161
+ .attr('data-variation', settings.tooltipConfig.variation)
162
+ ;
163
+ }
156
164
  }
157
165
  $track = $module.find('.track');
158
166
  $trackFill = $module.find('.track-fill');
@@ -206,9 +214,10 @@
206
214
  for (var i = 0, len = module.get.numLabels(); i <= len; i++) {
207
215
  var
208
216
  labelText = module.get.label(i),
209
- $label = labelText !== ''
217
+ showLabel = settings.restrictedLabels.length === 0 || settings.restrictedLabels.indexOf(labelText) >= 0,
218
+ $label = labelText !== '' && (showLabel || settings.showLabelTicks === 'always')
210
219
  ? (!(i % module.get.gapRatio())
211
- ? $('<li class="label">' + labelText + '</li>')
220
+ ? $('<li class="label">' + (showLabel ? labelText : '') + '</li>')
212
221
  : $('<li class="halftick label"></li>'))
213
222
  : null,
214
223
  ratio = i / len
@@ -352,6 +361,18 @@
352
361
  ;
353
362
  $currThumb = initialPosition > newPos ? $thumb : $secondThumb;
354
363
  }
364
+ if (module.is.range() && (settings.minRange || settings.maxRange)) {
365
+ var currentRangeDiff = module.get.currentRangeDiff(value),
366
+ isSecondThumb = $currThumb.hasClass('second')
367
+ ;
368
+ if ((settings.minRange && currentRangeDiff < settings.minRange)
369
+ || (settings.maxRange && currentRangeDiff > settings.maxRange)
370
+ || (settings.preventCrossover && !isSecondThumb && value > module.secondThumbVal)
371
+ || (settings.preventCrossover && isSecondThumb && value < module.thumbVal)
372
+ ) {
373
+ return;
374
+ }
375
+ }
355
376
  if (module.get.step() === 0 || module.is.smooth()) {
356
377
  var
357
378
  thumbVal = module.thumbVal,
@@ -387,6 +408,17 @@
387
408
  return;
388
409
  }
389
410
  var value = module.determine.valueFromEvent(event);
411
+ if (module.is.range() && (settings.minRange || settings.maxRange)) {
412
+ if ($currThumb === undefined) {
413
+ $currThumb = value <= module.get.currentThumbValue() ? $thumb : $secondThumb;
414
+ }
415
+ var currentRangeDiff = module.get.currentRangeDiff(value);
416
+ if (settings.minRange && currentRangeDiff < settings.minRange) {
417
+ value = module.get.edgeValue(value, settings.minRange);
418
+ } else if (settings.maxRange && currentRangeDiff > settings.maxRange) {
419
+ value = module.get.edgeValue(value, settings.maxRange);
420
+ }
421
+ }
390
422
  module.set.value(value);
391
423
  module.unbind.slidingEvents();
392
424
  touchIdentifier = undefined;
@@ -403,6 +435,9 @@
403
435
  }
404
436
  },
405
437
  keydown: function (event, first) {
438
+ if (module.is.disabled()) {
439
+ return;
440
+ }
406
441
  if (settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
407
442
  $currThumb = undefined;
408
443
  }
@@ -439,7 +474,7 @@
439
474
  }
440
475
  },
441
476
  activateFocus: function (event) {
442
- if (!module.is.focused() && module.is.hover() && module.determine.keyMovement(event) !== NO_STEP) {
477
+ if (!module.is.disabled() && !module.is.focused() && module.is.hover() && module.determine.keyMovement(event) !== NO_STEP) {
443
478
  event.preventDefault();
444
479
  module.event.keydown(event, true);
445
480
  $module.trigger('focus');
@@ -504,7 +539,13 @@
504
539
 
505
540
  is: {
506
541
  range: function () {
507
- return $module.hasClass(settings.className.range);
542
+ var isRange = $module.hasClass(className.range);
543
+ if (!isRange && (settings.minRange || settings.maxRange)) {
544
+ $module.addClass(className.range);
545
+ isRange = true;
546
+ }
547
+
548
+ return isRange;
508
549
  },
509
550
  hover: function () {
510
551
  return isHover;
@@ -513,23 +554,56 @@
513
554
  return $module.is(':focus');
514
555
  },
515
556
  disabled: function () {
516
- return $module.hasClass(settings.className.disabled);
557
+ return $module.hasClass(className.disabled);
517
558
  },
518
559
  labeled: function () {
519
- return $module.hasClass(settings.className.labeled);
560
+ var isLabeled = $module.hasClass(className.labeled);
561
+ if (!isLabeled && (settings.restrictedLabels.length > 0 || settings.showLabelTicks !== false)) {
562
+ $module.addClass(className.labeled);
563
+ isLabeled = true;
564
+ }
565
+
566
+ return isLabeled;
520
567
  },
521
568
  reversed: function () {
522
- return $module.hasClass(settings.className.reversed);
569
+ return $module.hasClass(className.reversed);
523
570
  },
524
571
  vertical: function () {
525
- return $module.hasClass(settings.className.vertical);
572
+ return $module.hasClass(className.vertical);
526
573
  },
527
574
  smooth: function () {
528
- return settings.smooth || $module.hasClass(settings.className.smooth);
575
+ return settings.smooth || $module.hasClass(className.smooth);
529
576
  },
530
577
  },
531
578
 
532
579
  get: {
580
+ currentRangeDiff: function (value) {
581
+ var currentRangeDiff;
582
+ if ($currThumb.hasClass('second')) {
583
+ currentRangeDiff = module.thumbVal < value
584
+ ? value - module.thumbVal
585
+ : module.thumbVal - value;
586
+ } else {
587
+ currentRangeDiff = module.secondThumbVal > value
588
+ ? module.secondThumbVal - value
589
+ : value - module.secondThumbVal;
590
+ }
591
+
592
+ return currentRangeDiff;
593
+ },
594
+ edgeValue: function (value, edgeValue) {
595
+ if ($currThumb.hasClass('second')) {
596
+ value = module.thumbVal < value
597
+ ? module.thumbVal + edgeValue
598
+ : module.thumbVal - edgeValue;
599
+ } else {
600
+ value = module.secondThumbVal < value
601
+ ? module.secondThumbVal + edgeValue
602
+ : module.secondThumbVal - edgeValue;
603
+ }
604
+
605
+ return value;
606
+ },
533
607
  trackOffset: function () {
534
608
  if (module.is.vertical()) {
535
609
  return $track.offset().top;
@@ -733,13 +807,10 @@
733
807
  return thumbDelta <= secondThumbDelta ? thumbPos : secondThumbPos;
734
808
  },
735
809
  thumbPos: function ($element) {
736
- var
737
- pos = module.is.vertical()
738
- ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
739
- : (module.is.reversed() ? $element.css('right') : $element.css('left'))
810
+ return module.is.vertical()
811
+ ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
812
+ : (module.is.reversed() ? $element.css('right') : $element.css('left'))
740
813
  ;
741
-
742
- return pos;
743
814
  },
744
815
  positionFromValue: function (val) {
745
816
  var
@@ -763,6 +834,7 @@
763
834
  position = Math.round(ratio * trackLength),
764
835
  adjustedPos = step === 0 ? position : Math.round(position / step) * step
765
836
  ;
837
+ module.verbose('Determined position: ' + position + ' from ratio: ' + ratio);
766
838
 
767
839
  return adjustedPos;
768
840
  },
@@ -986,12 +1058,12 @@
986
1058
  }
987
1059
  if (!$currThumb.hasClass('second')) {
988
1060
  if (settings.preventCrossover && module.is.range()) {
989
- newValue = Math.min(module.secondThumbVal, newValue);
1061
+ newValue = Math.min(module.secondThumbVal - (settings.minRange || 0), newValue);
990
1062
  }
991
1063
  module.thumbVal = newValue;
992
1064
  } else {
993
1065
  if (settings.preventCrossover && module.is.range()) {
994
- newValue = Math.max(module.thumbVal, newValue);
1066
+ newValue = Math.max(module.thumbVal + (settings.minRange || 0), newValue);
995
1067
  }
996
1068
  module.secondThumbVal = newValue;
997
1069
  }
@@ -1010,6 +1082,10 @@
1010
1082
  thumbVal = module.thumbVal || module.get.min(),
1011
1083
  secondThumbVal = module.secondThumbVal || module.get.min()
1012
1084
  ;
1085
+ if (settings.showThumbTooltip) {
1086
+ var precision = module.get.precision();
1087
+ $targetThumb.attr('data-tooltip', Math.round(newValue * precision) / precision);
1088
+ }
1013
1089
  if (module.is.range()) {
1014
1090
  if (!$targetThumb.hasClass('second')) {
1015
1091
  position = newPos;
@@ -1098,6 +1174,14 @@
1098
1174
  settings: function () {
1099
1175
  if (settings.start !== false) {
1100
1176
  if (module.is.range()) {
1177
+ var rangeDiff = settings.end - settings.start;
1178
+ if (rangeDiff < 0
1179
+ || (settings.minRange && rangeDiff < settings.minRange)
1180
+ || (settings.maxRange && rangeDiff > settings.maxRange)
1181
+ || (settings.minRange && settings.maxRange && settings.minRange > settings.maxRange)
1182
+ ) {
1183
+ module.error(error.invalidRanges, settings.start, settings.end, settings.minRange, settings.maxRange);
1184
+ }
1101
1185
  module.debug('Start position set from settings', settings.start, settings.end);
1102
1186
  module.set.rangeValue(settings.start, settings.end);
1103
1187
  } else {
@@ -1191,9 +1275,6 @@
1191
1275
  totalTime += data['Execution Time'];
1192
1276
  });
1193
1277
  title += ' ' + totalTime + 'ms';
1194
- if (moduleSelector) {
1195
- title += ' \'' + moduleSelector + '\'';
1196
- }
1197
1278
  if (performance.length > 0) {
1198
1279
  console.groupCollapsed(title);
1199
1280
  if (console.table) {
@@ -1293,6 +1374,7 @@
1293
1374
  error: {
1294
1375
  method: 'The method you called is not defined.',
1295
1376
  notrange: 'This slider is not a range slider',
1377
+ invalidRanges: 'Invalid range settings (start/end/minRange/maxRange)',
1296
1378
  },
1297
1379
 
1298
1380
  metadata: {
@@ -1305,6 +1387,8 @@
1305
1387
  step: 1,
1306
1388
  start: 0,
1307
1389
  end: 20,
1390
+ minRange: false,
1391
+ maxRange: false,
1308
1392
  labelType: 'number',
1309
1393
  showLabelTicks: false,
1310
1394
  smooth: false,
@@ -1341,6 +1425,13 @@
1341
1425
  downArrow: 40,
1342
1426
  },
1343
1427
 
1428
+ restrictedLabels: [],
1429
+ showThumbTooltip: false,
1430
+ tooltipConfig: {
1431
+ position: 'top center',
1432
+ variation: 'tiny black',
1433
+ },
1434
+
1344
1435
  labelTypes: {
1345
1436
  number: 'number',
1346
1437
  letter: 'letter',
@@ -426,4 +426,5 @@
426
426
  });
427
427
  }
428
428
 
429
- .loadUIOverrides();
429
+ // stylelint-disable no-invalid-position-at-import-rule
430
+ @import (multiple, optional) "../../overrides.less";
@@ -23,7 +23,6 @@
23
23
  var
24
24
  $allModules = $(this),
25
25
  $document = $(document),
26
- moduleSelector = $allModules.selector || '',
27
26
 
28
27
  time = Date.now(),
29
28
  performance = [],
@@ -31,6 +30,19 @@
31
30
  query = arguments[0],
32
31
  methodInvoked = typeof query === 'string',
33
32
  queryArguments = [].slice.call(arguments, 1),
33
+ contextCheck = function (context, win) {
34
+ var $context;
35
+ if ([window, document].indexOf(context) >= 0) {
36
+ $context = $(context);
37
+ } else {
38
+ $context = $(win.document).find(context);
39
+ if ($context.length === 0) {
40
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
41
+ }
42
+ }
43
+
44
+ return $context;
45
+ },
34
46
  returnedValue
35
47
  ;
36
48
 
@@ -49,7 +61,7 @@
49
61
 
50
62
  $module = $(this),
51
63
  $window = $(window),
52
- $scroll = [window, document].indexOf(settings.scrollContext) < 0 ? $document.find(settings.scrollContext) : $(settings.scrollContext),
64
+ $scroll = contextCheck(settings.scrollContext, window),
53
65
  $container,
54
66
  $context,
55
67
 
@@ -127,19 +139,11 @@
127
139
  },
128
140
 
129
141
  determineContainer: function () {
130
- if (settings.container) {
131
- $container = [window, document].indexOf(settings.container) < 0 ? $document.find(settings.container) : $(settings.container);
132
- } else {
133
- $container = $module.offsetParent();
134
- }
142
+ $container = settings.container ? contextCheck(settings.container, window) : $module.offsetParent();
135
143
  },
136
144
 
137
145
  determineContext: function () {
138
- if (settings.context) {
139
- $context = [window, document].indexOf(settings.context) < 0 ? $document.find(settings.context) : $(settings.context);
140
- } else {
141
- $context = $container;
142
- }
146
+ $context = settings.context ? contextCheck(settings.context, window) : $container;
143
147
  if ($context.length === 0) {
144
148
  module.error(error.invalidContext, settings.context, $module);
145
149
  }
@@ -755,9 +759,6 @@
755
759
  totalTime += data['Execution Time'];
756
760
  });
757
761
  title += ' ' + totalTime + 'ms';
758
- if (moduleSelector) {
759
- title += ' \'' + moduleSelector + '\'';
760
- }
761
762
  if (performance.length > 0) {
762
763
  console.groupCollapsed(title);
763
764
  if (console.table) {
@@ -65,4 +65,5 @@
65
65
  position: sticky;
66
66
  }
67
67
 
68
- .loadUIOverrides();
68
+ // stylelint-disable no-invalid-position-at-import-rule
69
+ @import (multiple, optional) "../../overrides.less";
@@ -30,14 +30,25 @@
30
30
  ? $(window)
31
31
  : $(this),
32
32
  $document = $(document),
33
- moduleSelector = $allModules.selector || '',
34
33
  time = Date.now(),
35
34
  performance = [],
36
35
 
37
36
  query = arguments[0],
38
37
  methodInvoked = typeof query === 'string',
39
38
  queryArguments = [].slice.call(arguments, 1),
39
+ contextCheck = function (context, win) {
40
+ var $context;
41
+ if ([window, document].indexOf(context) >= 0) {
42
+ $context = $(context);
43
+ } else {
44
+ $context = $(win.document).find(context);
45
+ if ($context.length === 0) {
46
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
47
+ }
48
+ }
40
49
 
50
+ return $context;
51
+ },
41
52
  initializedHistory = false,
42
53
  returnedValue
43
54
  ;
@@ -152,7 +163,7 @@
152
163
  $context = $reference.parent();
153
164
  module.verbose('Determined parent element for creating context', $context);
154
165
  } else if (settings.context) {
155
- $context = [window, document].indexOf(settings.context) < 0 ? $document.find(settings.context) : $(settings.context);
166
+ $context = contextCheck(settings.context, window);
156
167
  module.verbose('Using selector for tab context', settings.context, $context);
157
168
  } else {
158
169
  $context = $('body');
@@ -788,9 +799,6 @@
788
799
  totalTime += data['Execution Time'];
789
800
  });
790
801
  title += ' ' + totalTime + 'ms';
791
- if (moduleSelector) {
792
- title += ' \'' + moduleSelector + '\'';
793
- }
794
802
  if (performance.length > 0) {
795
803
  console.groupCollapsed(title);
796
804
  if (console.table) {
@@ -82,4 +82,5 @@
82
82
  }
83
83
  }
84
84
 
85
- .loadUIOverrides();
85
+ // stylelint-disable no-invalid-position-at-import-rule
86
+ @import (multiple, optional) "../../overrides.less";
@@ -22,7 +22,7 @@
22
22
  $.fn.toast = function (parameters) {
23
23
  var
24
24
  $allModules = $(this),
25
- moduleSelector = $allModules.selector || '',
25
+ $body = $('body'),
26
26
 
27
27
  time = Date.now(),
28
28
  performance = [],
@@ -30,6 +30,19 @@
30
30
  query = arguments[0],
31
31
  methodInvoked = typeof query === 'string',
32
32
  queryArguments = [].slice.call(arguments, 1),
33
+ contextCheck = function (context, win) {
34
+ var $context;
35
+ if ([window, document].indexOf(context) >= 0) {
36
+ $context = $(context);
37
+ } else {
38
+ $context = $(win.document).find(context);
39
+ if ($context.length === 0) {
40
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
41
+ }
42
+ }
43
+
44
+ return $context;
45
+ },
33
46
  returnedValue
34
47
  ;
35
48
  $allModules.each(function () {
@@ -55,9 +68,7 @@
55
68
  $progressBar,
56
69
  $animationObject,
57
70
  $close,
58
- $context = settings.context
59
- ? ([window, document].indexOf(settings.context) < 0 ? $(document).find(settings.context) : $(settings.context))
60
- : $('body'),
71
+ $context = settings.context ? contextCheck(settings.context, window) : $body,
61
72
 
62
73
  isToastComponent = $module.hasClass('toast') || $module.hasClass('message') || $module.hasClass('card'),
63
74
 
@@ -106,11 +117,11 @@
106
117
  if ($toastBox) {
107
118
  module.debug('Removing toast', $toastBox);
108
119
  module.unbind.events();
120
+ settings.onRemove.call($toastBox, element);
109
121
  $toastBox.remove();
110
122
  $toastBox = undefined;
111
123
  $toast = undefined;
112
124
  $animationObject = undefined;
113
- settings.onRemove.call($toastBox, element);
114
125
  $progress = undefined;
115
126
  $progressBar = undefined;
116
127
  $close = undefined;
@@ -704,9 +715,6 @@
704
715
  totalTime += data['Execution Time'];
705
716
  });
706
717
  title += ' ' + totalTime + 'ms';
707
- if (moduleSelector) {
708
- title += ' \'' + moduleSelector + '\'';
709
- }
710
718
  if (performance.length > 0) {
711
719
  console.groupCollapsed(title);
712
720
  if (console.table) {
@@ -714,4 +714,5 @@
714
714
  }
715
715
  }
716
716
 
717
- .loadUIOverrides();
717
+ // stylelint-disable no-invalid-position-at-import-rule
718
+ @import (multiple, optional) "../../overrides.less";
@@ -22,7 +22,6 @@
22
22
  $.fn.transition = function () {
23
23
  var
24
24
  $allModules = $(this),
25
- moduleSelector = $allModules.selector || '',
26
25
 
27
26
  time = Date.now(),
28
27
  performance = [],
@@ -863,9 +862,6 @@
863
862
  totalTime += data['Execution Time'];
864
863
  });
865
864
  title += ' ' + totalTime + 'ms';
866
- if (moduleSelector) {
867
- title += ' \'' + moduleSelector + '\'';
868
- }
869
865
  if ($allModules.length > 1) {
870
866
  title += ' (' + $allModules.length + ')';
871
867
  }
@@ -113,4 +113,5 @@
113
113
  }
114
114
  }
115
115
 
116
- .loadUIOverrides();
116
+ // stylelint-disable no-invalid-position-at-import-rule
117
+ @import (multiple, optional) "../../overrides.less";
@@ -293,4 +293,5 @@
293
293
  }
294
294
  }
295
295
 
296
- .loadUIOverrides();
296
+ // stylelint-disable no-invalid-position-at-import-rule
297
+ @import (multiple, optional) "../../overrides.less";
@@ -1178,4 +1178,5 @@
1178
1178
  }
1179
1179
  }
1180
1180
 
1181
- .loadUIOverrides();
1181
+ // stylelint-disable no-invalid-position-at-import-rule
1182
+ @import (multiple, optional) "../../overrides.less";
@@ -291,4 +291,5 @@
291
291
  }
292
292
  }
293
293
 
294
- .loadUIOverrides();
294
+ // stylelint-disable no-invalid-position-at-import-rule
295
+ @import (multiple, optional) "../../overrides.less";
@@ -317,4 +317,5 @@
317
317
  }
318
318
  }
319
319
 
320
- .loadUIOverrides();
320
+ // stylelint-disable no-invalid-position-at-import-rule
321
+ @import (multiple, optional) "../../overrides.less";