fomantic-ui 2.9.3-beta.2 → 2.9.3-beta.20

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 (246) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/dist/components/accordion.css +1 -1
  3. package/dist/components/accordion.js +1 -1
  4. package/dist/components/accordion.min.css +1 -1
  5. package/dist/components/accordion.min.js +1 -1
  6. package/dist/components/ad.css +1 -1
  7. package/dist/components/ad.min.css +1 -1
  8. package/dist/components/api.js +1 -1
  9. package/dist/components/api.min.js +1 -1
  10. package/dist/components/breadcrumb.css +1 -1
  11. package/dist/components/breadcrumb.min.css +1 -1
  12. package/dist/components/button.css +2 -2
  13. package/dist/components/button.min.css +2 -2
  14. package/dist/components/calendar.css +6 -6
  15. package/dist/components/calendar.js +1 -1
  16. package/dist/components/calendar.min.css +2 -2
  17. package/dist/components/calendar.min.js +1 -1
  18. package/dist/components/card.css +1 -1
  19. package/dist/components/card.min.css +1 -1
  20. package/dist/components/checkbox.css +1 -1
  21. package/dist/components/checkbox.js +1 -1
  22. package/dist/components/checkbox.min.css +1 -1
  23. package/dist/components/checkbox.min.js +1 -1
  24. package/dist/components/comment.css +1 -1
  25. package/dist/components/comment.min.css +1 -1
  26. package/dist/components/container.css +62 -1
  27. package/dist/components/container.min.css +2 -2
  28. package/dist/components/dimmer.css +3 -3
  29. package/dist/components/dimmer.js +1 -1
  30. package/dist/components/dimmer.min.css +2 -2
  31. package/dist/components/dimmer.min.js +1 -1
  32. package/dist/components/divider.css +1 -1
  33. package/dist/components/divider.min.css +1 -1
  34. package/dist/components/dropdown.css +42 -4
  35. package/dist/components/dropdown.js +22 -12
  36. package/dist/components/dropdown.min.css +2 -2
  37. package/dist/components/dropdown.min.js +2 -2
  38. package/dist/components/embed.css +1 -1
  39. package/dist/components/embed.js +1 -1
  40. package/dist/components/embed.min.css +1 -1
  41. package/dist/components/embed.min.js +1 -1
  42. package/dist/components/emoji.css +1 -1
  43. package/dist/components/emoji.min.css +1 -1
  44. package/dist/components/feed.css +1 -1
  45. package/dist/components/feed.min.css +1 -1
  46. package/dist/components/flag.css +3 -2
  47. package/dist/components/flag.min.css +2 -2
  48. package/dist/components/flyout.css +1 -1
  49. package/dist/components/flyout.js +26 -20
  50. package/dist/components/flyout.min.css +1 -1
  51. package/dist/components/flyout.min.js +2 -2
  52. package/dist/components/form.css +53 -20
  53. package/dist/components/form.js +74 -43
  54. package/dist/components/form.min.css +2 -2
  55. package/dist/components/form.min.js +2 -2
  56. package/dist/components/grid.css +107 -107
  57. package/dist/components/grid.min.css +2 -2
  58. package/dist/components/header.css +1 -1
  59. package/dist/components/header.min.css +1 -1
  60. package/dist/components/icon.css +1 -1
  61. package/dist/components/icon.min.css +1 -1
  62. package/dist/components/image.css +1 -1
  63. package/dist/components/image.min.css +1 -1
  64. package/dist/components/input.css +3 -27
  65. package/dist/components/input.min.css +2 -2
  66. package/dist/components/item.css +1 -1
  67. package/dist/components/item.min.css +1 -1
  68. package/dist/components/label.css +21 -2
  69. package/dist/components/label.min.css +2 -2
  70. package/dist/components/list.css +13 -13
  71. package/dist/components/list.min.css +2 -2
  72. package/dist/components/loader.css +282 -282
  73. package/dist/components/loader.min.css +2 -2
  74. package/dist/components/menu.css +9 -3
  75. package/dist/components/menu.min.css +2 -2
  76. package/dist/components/message.css +1 -1
  77. package/dist/components/message.min.css +1 -1
  78. package/dist/components/modal.css +10 -3
  79. package/dist/components/modal.js +31 -26
  80. package/dist/components/modal.min.css +2 -2
  81. package/dist/components/modal.min.js +2 -2
  82. package/dist/components/nag.css +1 -1
  83. package/dist/components/nag.js +1 -1
  84. package/dist/components/nag.min.css +1 -1
  85. package/dist/components/nag.min.js +1 -1
  86. package/dist/components/placeholder.css +1 -1
  87. package/dist/components/placeholder.min.css +1 -1
  88. package/dist/components/popup.css +41 -40
  89. package/dist/components/popup.js +8 -6
  90. package/dist/components/popup.min.css +2 -2
  91. package/dist/components/popup.min.js +2 -2
  92. package/dist/components/progress.css +1 -1
  93. package/dist/components/progress.js +1 -1
  94. package/dist/components/progress.min.css +1 -1
  95. package/dist/components/progress.min.js +1 -1
  96. package/dist/components/rail.css +1 -1
  97. package/dist/components/rail.min.css +1 -1
  98. package/dist/components/rating.css +1 -1
  99. package/dist/components/rating.js +1 -1
  100. package/dist/components/rating.min.css +1 -1
  101. package/dist/components/rating.min.js +1 -1
  102. package/dist/components/reset.css +1 -1
  103. package/dist/components/reset.min.css +1 -1
  104. package/dist/components/reveal.css +1 -1
  105. package/dist/components/reveal.min.css +1 -1
  106. package/dist/components/search.css +17 -1
  107. package/dist/components/search.js +3 -2
  108. package/dist/components/search.min.css +2 -2
  109. package/dist/components/search.min.js +2 -2
  110. package/dist/components/segment.css +159 -33
  111. package/dist/components/segment.min.css +2 -2
  112. package/dist/components/shape.css +1 -1
  113. package/dist/components/shape.js +1 -1
  114. package/dist/components/shape.min.css +1 -1
  115. package/dist/components/shape.min.js +1 -1
  116. package/dist/components/sidebar.css +1 -1
  117. package/dist/components/sidebar.js +1 -1
  118. package/dist/components/sidebar.min.css +1 -1
  119. package/dist/components/sidebar.min.js +1 -1
  120. package/dist/components/site.css +1 -1
  121. package/dist/components/site.js +1 -1
  122. package/dist/components/site.min.css +1 -1
  123. package/dist/components/site.min.js +1 -1
  124. package/dist/components/slider.css +1 -1
  125. package/dist/components/slider.js +122 -26
  126. package/dist/components/slider.min.css +1 -1
  127. package/dist/components/slider.min.js +2 -2
  128. package/dist/components/state.js +1 -1
  129. package/dist/components/state.min.js +1 -1
  130. package/dist/components/statistic.css +1 -1
  131. package/dist/components/statistic.min.css +1 -1
  132. package/dist/components/step.css +1 -1
  133. package/dist/components/step.min.css +1 -1
  134. package/dist/components/sticky.css +1 -1
  135. package/dist/components/sticky.js +1 -1
  136. package/dist/components/sticky.min.css +1 -1
  137. package/dist/components/sticky.min.js +1 -1
  138. package/dist/components/tab.css +1 -1
  139. package/dist/components/tab.js +1 -1
  140. package/dist/components/tab.min.css +1 -1
  141. package/dist/components/tab.min.js +1 -1
  142. package/dist/components/table.css +65 -1
  143. package/dist/components/table.min.css +2 -2
  144. package/dist/components/text.css +1 -1
  145. package/dist/components/text.min.css +1 -1
  146. package/dist/components/toast.css +6 -1
  147. package/dist/components/toast.js +2 -2
  148. package/dist/components/toast.min.css +2 -2
  149. package/dist/components/toast.min.js +2 -2
  150. package/dist/components/transition.css +1 -1
  151. package/dist/components/transition.js +1 -1
  152. package/dist/components/transition.min.css +1 -1
  153. package/dist/components/transition.min.js +1 -1
  154. package/dist/components/visibility.js +1 -1
  155. package/dist/components/visibility.min.js +1 -1
  156. package/dist/semantic.css +1055 -593
  157. package/dist/semantic.js +306 -155
  158. package/dist/semantic.min.css +2 -2
  159. package/dist/semantic.min.js +2 -2
  160. package/package.json +1 -1
  161. package/src/definitions/behaviors/form.js +73 -42
  162. package/src/definitions/collections/breadcrumb.less +2 -1
  163. package/src/definitions/collections/form.less +27 -13
  164. package/src/definitions/collections/grid.less +108 -107
  165. package/src/definitions/collections/menu.less +29 -21
  166. package/src/definitions/collections/message.less +2 -1
  167. package/src/definitions/collections/table.less +68 -1
  168. package/src/definitions/elements/button.less +4 -2
  169. package/src/definitions/elements/container.less +65 -1
  170. package/src/definitions/elements/divider.less +2 -1
  171. package/src/definitions/elements/emoji.less +2 -1
  172. package/src/definitions/elements/flag.less +2 -1
  173. package/src/definitions/elements/header.less +2 -1
  174. package/src/definitions/elements/icon.less +2 -1
  175. package/src/definitions/elements/image.less +2 -1
  176. package/src/definitions/elements/input.less +4 -3
  177. package/src/definitions/elements/label.less +23 -2
  178. package/src/definitions/elements/list.less +14 -13
  179. package/src/definitions/elements/loader.less +73 -72
  180. package/src/definitions/elements/placeholder.less +2 -1
  181. package/src/definitions/elements/rail.less +2 -1
  182. package/src/definitions/elements/reveal.less +2 -1
  183. package/src/definitions/elements/segment.less +112 -14
  184. package/src/definitions/elements/step.less +2 -1
  185. package/src/definitions/elements/text.less +2 -1
  186. package/src/definitions/globals/reset.less +2 -1
  187. package/src/definitions/globals/site.less +2 -1
  188. package/src/definitions/modules/accordion.less +2 -1
  189. package/src/definitions/modules/calendar.less +3 -2
  190. package/src/definitions/modules/checkbox.less +2 -1
  191. package/src/definitions/modules/dimmer.less +4 -3
  192. package/src/definitions/modules/dropdown.js +21 -11
  193. package/src/definitions/modules/dropdown.less +55 -4
  194. package/src/definitions/modules/embed.less +2 -1
  195. package/src/definitions/modules/flyout.js +25 -19
  196. package/src/definitions/modules/flyout.less +2 -1
  197. package/src/definitions/modules/modal.js +30 -25
  198. package/src/definitions/modules/modal.less +13 -3
  199. package/src/definitions/modules/nag.less +3 -1
  200. package/src/definitions/modules/popup.js +7 -5
  201. package/src/definitions/modules/popup.less +42 -39
  202. package/src/definitions/modules/progress.less +2 -1
  203. package/src/definitions/modules/rating.less +2 -1
  204. package/src/definitions/modules/search.js +2 -1
  205. package/src/definitions/modules/search.less +20 -1
  206. package/src/definitions/modules/shape.less +2 -1
  207. package/src/definitions/modules/sidebar.less +2 -1
  208. package/src/definitions/modules/slider.js +121 -25
  209. package/src/definitions/modules/slider.less +2 -1
  210. package/src/definitions/modules/sticky.less +2 -1
  211. package/src/definitions/modules/tab.less +2 -1
  212. package/src/definitions/modules/toast.js +1 -1
  213. package/src/definitions/modules/toast.less +9 -1
  214. package/src/definitions/modules/transition.less +2 -1
  215. package/src/definitions/views/ad.less +2 -1
  216. package/src/definitions/views/card.less +2 -1
  217. package/src/definitions/views/comment.less +2 -1
  218. package/src/definitions/views/feed.less +2 -1
  219. package/src/definitions/views/item.less +2 -1
  220. package/src/definitions/views/statistic.less +2 -1
  221. package/src/overrides.less +7 -0
  222. package/src/theme.less +7 -6
  223. package/src/themes/amazon/elements/button.variables +5 -1
  224. package/src/themes/bootstrap3/elements/button.variables +5 -1
  225. package/src/themes/chubby/elements/header.variables +6 -1
  226. package/src/themes/default/collections/message.variables +3 -9
  227. package/src/themes/default/collections/table.variables +3 -0
  228. package/src/themes/default/elements/button.variables +1 -3
  229. package/src/themes/default/elements/container.variables +3 -0
  230. package/src/themes/default/elements/flag.variables +1 -1
  231. package/src/themes/default/elements/label.variables +5 -0
  232. package/src/themes/default/elements/segment.variables +8 -0
  233. package/src/themes/default/globals/site.variables +20 -1
  234. package/src/themes/default/globals/variation.variables +7 -1
  235. package/src/themes/default/modules/dropdown.variables +6 -0
  236. package/src/themes/default/modules/modal.variables +4 -0
  237. package/src/themes/default/modules/popup.variables +3 -1
  238. package/src/themes/default/modules/search.variables +3 -0
  239. package/src/themes/default/modules/toast.variables +1 -0
  240. package/src/themes/default/views/card.variables +4 -12
  241. package/src/themes/github/elements/button.variables +5 -1
  242. package/src/themes/twitter/elements/button.variables +5 -1
  243. package/tasks/admin/distributions/create.js +8 -3
  244. package/tasks/config/project/install.js +3 -0
  245. package/tasks/config/tasks.js +1 -8
  246. package/tasks/install.js +15 -5
@@ -86,7 +86,6 @@
86
86
  width: @arrowSize;
87
87
  height: @arrowSize;
88
88
  background: @tooltipArrowBackground;
89
- transform: rotate(45deg);
90
89
  z-index: @arrowZIndex;
91
90
  box-shadow: @tooltipArrowBoxShadow;
92
91
  }
@@ -114,67 +113,59 @@
114
113
  z-index: @tooltipZIndex;
115
114
  }
116
115
 
117
- /* Default Position (Top Center) */
118
- [data-tooltip]:not([data-position])::before {
119
- top: auto;
120
- right: auto;
121
- bottom: 100%;
122
- left: 50%;
123
- background: @tooltipArrowBottomBackground;
124
- margin-left: @tooltipArrowHorizontalOffset;
125
- margin-bottom: -@tooltipArrowVerticalOffset;
126
- }
127
- [data-tooltip]:not([data-position])::after {
128
- left: 50%;
129
- transform: translateX(-50%);
130
- bottom: 100%;
131
- margin-bottom: @tooltipDistanceAway;
132
- }
133
-
134
116
  /* Animation */
135
117
  [data-tooltip]::before,
136
118
  [data-tooltip]::after {
137
119
  pointer-events: none;
138
- visibility: hidden;
139
120
  opacity: 0;
140
121
  transition:
141
122
  transform @tooltipDuration @tooltipEasing,
142
123
  opacity @tooltipDuration @tooltipEasing;
143
124
  }
125
+ [data-tooltip]::after,
126
+ [data-tooltip]:hover::before {
127
+ transition-delay: @tooltipDelay;
128
+ }
129
+ [data-tooltip]::before,
130
+ [data-tooltip]:hover::after {
131
+ transition-delay: 0s;
132
+ }
144
133
  [data-tooltip]::before {
145
- transform: rotate(45deg) scale(0) !important;
134
+ transform: rotate(45deg) scale(@tooltipScaleInit);
146
135
  transform-origin: center top;
147
136
  }
148
137
  [data-tooltip]::after {
149
138
  transform-origin: center bottom;
150
139
  }
140
+ [data-tooltip][data-variation~="visible"]::before,
141
+ [data-tooltip][data-variation~="visible"]::after,
151
142
  [data-tooltip]:hover::before,
152
143
  [data-tooltip]:hover::after {
153
- visibility: visible;
154
144
  pointer-events: auto;
155
145
  opacity: 1;
156
146
  }
157
147
  [data-tooltip]:hover::before {
158
- transform: rotate(45deg) scale(1) !important;
148
+ transform: rotate(45deg) scale(1);
159
149
  }
160
150
 
161
151
  /* Animation Position */
162
- [data-tooltip]::after,
152
+ [data-tooltip]:not([data-position])::after,
163
153
  [data-tooltip][data-position="top center"]::after,
164
154
  [data-tooltip][data-position="bottom center"]::after {
165
- transform: translateX(-50%) scale(0) !important;
155
+ transform: translateX(-50%) scale(@tooltipScaleInit);
166
156
  }
167
- [data-tooltip]:hover::after,
157
+ [data-tooltip]:not([data-position]):hover::after,
158
+ [data-tooltip][data-position="top center"]:hover::after,
168
159
  [data-tooltip][data-position="bottom center"]:hover::after {
169
- transform: translateX(-50%) scale(1) !important;
160
+ transform: translateX(-50%) scale(1);
170
161
  }
171
162
  [data-tooltip][data-position="left center"]::after,
172
163
  [data-tooltip][data-position="right center"]::after {
173
- transform: translateY(-50%) scale(0) !important;
164
+ transform: translateY(-50%) scale(@tooltipScaleInit);
174
165
  }
175
166
  [data-tooltip][data-position="left center"]:hover::after,
176
167
  [data-tooltip][data-position="right center"]:hover::after {
177
- transform: translateY(-50%) scale(1) !important;
168
+ transform: translateY(-50%) scale(1);
178
169
  // https://github.com/fomantic/Fomantic-UI/pull/1537
179
170
  // stylelint-disable-next-line property-no-vendor-prefix
180
171
  -moz-transform: translateY(-50%) scale(1.0001) !important;
@@ -183,13 +174,13 @@
183
174
  [data-tooltip][data-position="top right"]::after,
184
175
  [data-tooltip][data-position="bottom left"]::after,
185
176
  [data-tooltip][data-position="bottom right"]::after {
186
- transform: scale(0) !important;
177
+ transform: scale(@tooltipScaleInit);
187
178
  }
188
179
  [data-tooltip][data-position="top left"]:hover::after,
189
180
  [data-tooltip][data-position="top right"]:hover::after,
190
181
  [data-tooltip][data-position="bottom left"]:hover::after,
191
182
  [data-tooltip][data-position="bottom right"]:hover::after {
192
- transform: scale(1) !important;
183
+ transform: scale(1);
193
184
  }
194
185
  & when (@variationPopupFixed) {
195
186
  [data-tooltip][data-variation~="fixed"]::after {
@@ -215,11 +206,11 @@
215
206
 
216
207
  /* Arrow */
217
208
  [data-tooltip][data-inverted]::before {
218
- box-shadow: none !important;
209
+ box-shadow: none;
219
210
  }
220
211
 
221
212
  /* Arrow Position */
222
- [data-tooltip][data-inverted]::before {
213
+ [data-tooltip]:not([data-position])[data-inverted]::before {
223
214
  background: @invertedArrowBottomBackground;
224
215
  }
225
216
 
@@ -241,15 +232,16 @@
241
232
  background: @arrowBottomBackground;
242
233
  }
243
234
  & when (@variationPopupCenter) {
244
- /* Top Center */
235
+ /* Top Center (default) */
236
+ [data-tooltip]:not([data-position])::after,
245
237
  [data-position="top center"][data-tooltip]::after {
246
238
  top: auto;
247
239
  right: auto;
248
240
  left: 50%;
249
241
  bottom: 100%;
250
- transform: translateX(-50%);
251
242
  margin-bottom: @tooltipDistanceAway;
252
243
  }
244
+ [data-tooltip]:not([data-position])::before,
253
245
  [data-position="top center"][data-tooltip]::before {
254
246
  top: auto;
255
247
  right: auto;
@@ -310,7 +302,6 @@
310
302
  right: auto;
311
303
  left: 50%;
312
304
  top: 100%;
313
- transform: translateX(-50%);
314
305
  margin-top: @tooltipDistanceAway;
315
306
  }
316
307
  [data-position="bottom center"][data-tooltip]::before {
@@ -362,7 +353,6 @@
362
353
  right: 100%;
363
354
  top: 50%;
364
355
  margin-right: @tooltipDistanceAway;
365
- transform: translateY(-50%);
366
356
  }
367
357
  [data-position="left center"][data-tooltip]::before {
368
358
  right: 100%;
@@ -379,7 +369,6 @@
379
369
  left: 100%;
380
370
  top: 50%;
381
371
  margin-left: @tooltipDistanceAway;
382
- transform: translateY(-50%);
383
372
  }
384
373
  [data-position="right center"][data-tooltip]::before {
385
374
  left: 100%;
@@ -454,6 +443,19 @@
454
443
  }
455
444
  }
456
445
 
446
+ [data-position="top left"][data-tooltip]::after {
447
+ transform-origin: bottom left;
448
+ }
449
+ [data-position="top right"][data-tooltip]::after {
450
+ transform-origin: bottom right;
451
+ }
452
+ [data-position="bottom left"][data-tooltip]::after {
453
+ transform-origin: top left;
454
+ }
455
+ [data-position="bottom right"][data-tooltip]::after {
456
+ transform-origin: top right;
457
+ }
458
+
457
459
  & when (@variationPopupBasic) {
458
460
  /* --------------
459
461
  Basic
@@ -822,7 +824,7 @@
822
824
  }
823
825
  .ui.inverted.popup::before {
824
826
  background-color: @invertedArrowColor;
825
- box-shadow: none !important;
827
+ box-shadow: none;
826
828
  }
827
829
  }
828
830
 
@@ -928,4 +930,5 @@
928
930
  });
929
931
  }
930
932
 
931
- .loadUIOverrides();
933
+ // stylelint-disable no-invalid-position-at-import-rule
934
+ @import (multiple, optional) "../../overrides.less";
@@ -650,4 +650,5 @@
650
650
  }
651
651
  }
652
652
 
653
- .loadUIOverrides();
653
+ // stylelint-disable no-invalid-position-at-import-rule
654
+ @import (multiple, optional) "../../overrides.less";
@@ -177,4 +177,5 @@
177
177
  });
178
178
  }
179
179
 
180
- .loadUIOverrides();
180
+ // stylelint-disable no-invalid-position-at-import-rule
181
+ @import (multiple, optional) "../../overrides.less";
@@ -561,6 +561,7 @@
561
561
  if (cache) {
562
562
  module.debug('Reading result from cache', searchTerm);
563
563
  module.save.results(cache.results);
564
+ settings.onResults.call(element, cache.results, true);
564
565
  module.addResults(cache.html);
565
566
  module.inject.id(cache.results);
566
567
  callback();
@@ -1345,7 +1346,7 @@
1345
1346
  onResultsAdd: false,
1346
1347
 
1347
1348
  onSearchQuery: function (query) {},
1348
- onResults: function (response) {},
1349
+ onResults: function (response, fromCache) {},
1349
1350
 
1350
1351
  onResultsOpen: function () {},
1351
1352
  onResultsClose: function () {},
@@ -394,21 +394,39 @@
394
394
  @media only screen and (max-width: @largestMobileScreen) {
395
395
  .ui.scrolling.search > .results {
396
396
  max-height: @scrollingMobileMaxResultsHeight;
397
+ .resizable& when (@variationSearchResizable) {
398
+ height: @scrollingMobileMaxResultsHeight;
399
+ }
397
400
  }
398
401
  }
399
402
  @media only screen and (min-width: @tabletBreakpoint) {
400
403
  .ui.scrolling.search > .results {
401
404
  max-height: @scrollingTabletMaxResultsHeight;
405
+ .resizable& when (@variationSearchResizable) {
406
+ height: @scrollingTabletMaxResultsHeight;
407
+ }
402
408
  }
403
409
  }
404
410
  @media only screen and (min-width: @computerBreakpoint) {
405
411
  .ui.scrolling.search > .results {
406
412
  max-height: @scrollingComputerMaxResultsHeight;
413
+ .resizable& when (@variationSearchResizable) {
414
+ height: @scrollingComputerMaxResultsHeight;
415
+ }
407
416
  }
408
417
  }
409
418
  @media only screen and (min-width: @widescreenMonitorBreakpoint) {
410
419
  .ui.scrolling.search > .results {
411
420
  max-height: @scrollingWidescreenMaxResultsHeight;
421
+ .resizable& when (@variationSearchResizable) {
422
+ height: @scrollingWidescreenMaxResultsHeight;
423
+ }
424
+ }
425
+ }
426
+ & when (@variationSearchResizable) {
427
+ .ui.scrolling.resizable.search > .results {
428
+ resize: @resizableDirection;
429
+ max-height: none;
412
430
  }
413
431
  }
414
432
  }
@@ -553,4 +571,5 @@
553
571
  }
554
572
  }
555
573
 
556
- .loadUIOverrides();
574
+ // stylelint-disable no-invalid-position-at-import-rule
575
+ @import (multiple, optional) "../../overrides.less";
@@ -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";
@@ -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";
@@ -103,9 +103,7 @@
103
103
  module.setup.layout();
104
104
  module.setup.labels();
105
105
 
106
- if (!module.is.disabled()) {
107
- module.bind.events();
108
- }
106
+ module.bind.events();
109
107
 
110
108
  module.read.metadata();
111
109
  module.read.settings();
@@ -137,20 +135,32 @@
137
135
  $module.attr('tabindex', 0);
138
136
  }
139
137
  if ($module.find('.inner').length === 0) {
140
- $module.append("<div class='inner'>"
141
- + "<div class='track'></div>"
142
- + "<div class='track-fill'></div>"
143
- + "<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>'
144
142
  + '</div>');
145
143
  }
146
144
  precision = module.get.precision();
147
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
+ }
148
152
  $currThumb = $thumb;
149
153
  if (module.is.range()) {
150
154
  if ($module.find('.thumb.second').length === 0) {
151
- $module.find('.inner').append("<div class='thumb second'></div>");
155
+ $module.find('.inner').append('<div class="thumb second"></div>');
152
156
  }
153
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
+ }
154
164
  }
155
165
  $track = $module.find('.track');
156
166
  $trackFill = $module.find('.track-fill');
@@ -204,9 +214,10 @@
204
214
  for (var i = 0, len = module.get.numLabels(); i <= len; i++) {
205
215
  var
206
216
  labelText = module.get.label(i),
207
- $label = labelText !== ''
217
+ showLabel = settings.restrictedLabels.length === 0 || settings.restrictedLabels.indexOf(labelText) >= 0,
218
+ $label = labelText !== '' && (showLabel || settings.showLabelTicks === 'always')
208
219
  ? (!(i % module.get.gapRatio())
209
- ? $('<li class="label">' + labelText + '</li>')
220
+ ? $('<li class="label">' + (showLabel ? labelText : '') + '</li>')
210
221
  : $('<li class="halftick label"></li>'))
211
222
  : null,
212
223
  ratio = i / len
@@ -350,6 +361,18 @@
350
361
  ;
351
362
  $currThumb = initialPosition > newPos ? $thumb : $secondThumb;
352
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
+ }
353
376
  if (module.get.step() === 0 || module.is.smooth()) {
354
377
  var
355
378
  thumbVal = module.thumbVal,
@@ -385,6 +408,17 @@
385
408
  return;
386
409
  }
387
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
+ }
388
422
  module.set.value(value);
389
423
  module.unbind.slidingEvents();
390
424
  touchIdentifier = undefined;
@@ -401,6 +435,9 @@
401
435
  }
402
436
  },
403
437
  keydown: function (event, first) {
438
+ if (module.is.disabled()) {
439
+ return;
440
+ }
404
441
  if (settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
405
442
  $currThumb = undefined;
406
443
  }
@@ -437,7 +474,7 @@
437
474
  }
438
475
  },
439
476
  activateFocus: function (event) {
440
- 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) {
441
478
  event.preventDefault();
442
479
  module.event.keydown(event, true);
443
480
  $module.trigger('focus');
@@ -502,7 +539,13 @@
502
539
 
503
540
  is: {
504
541
  range: function () {
505
- 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;
506
549
  },
507
550
  hover: function () {
508
551
  return isHover;
@@ -511,23 +554,56 @@
511
554
  return $module.is(':focus');
512
555
  },
513
556
  disabled: function () {
514
- return $module.hasClass(settings.className.disabled);
557
+ return $module.hasClass(className.disabled);
515
558
  },
516
559
  labeled: function () {
517
- 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;
518
567
  },
519
568
  reversed: function () {
520
- return $module.hasClass(settings.className.reversed);
569
+ return $module.hasClass(className.reversed);
521
570
  },
522
571
  vertical: function () {
523
- return $module.hasClass(settings.className.vertical);
572
+ return $module.hasClass(className.vertical);
524
573
  },
525
574
  smooth: function () {
526
- return settings.smooth || $module.hasClass(settings.className.smooth);
575
+ return settings.smooth || $module.hasClass(className.smooth);
527
576
  },
528
577
  },
529
578
 
530
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
+ },
531
607
  trackOffset: function () {
532
608
  if (module.is.vertical()) {
533
609
  return $track.offset().top;
@@ -731,13 +807,10 @@
731
807
  return thumbDelta <= secondThumbDelta ? thumbPos : secondThumbPos;
732
808
  },
733
809
  thumbPos: function ($element) {
734
- var
735
- pos = module.is.vertical()
736
- ? (module.is.reversed() ? $element.css('bottom') : $element.css('top'))
737
- : (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'))
738
813
  ;
739
-
740
- return pos;
741
814
  },
742
815
  positionFromValue: function (val) {
743
816
  var
@@ -761,6 +834,7 @@
761
834
  position = Math.round(ratio * trackLength),
762
835
  adjustedPos = step === 0 ? position : Math.round(position / step) * step
763
836
  ;
837
+ module.verbose('Determined position: ' + position + ' from ratio: ' + ratio);
764
838
 
765
839
  return adjustedPos;
766
840
  },
@@ -984,12 +1058,12 @@
984
1058
  }
985
1059
  if (!$currThumb.hasClass('second')) {
986
1060
  if (settings.preventCrossover && module.is.range()) {
987
- newValue = Math.min(module.secondThumbVal, newValue);
1061
+ newValue = Math.min(module.secondThumbVal - (settings.minRange || 0), newValue);
988
1062
  }
989
1063
  module.thumbVal = newValue;
990
1064
  } else {
991
1065
  if (settings.preventCrossover && module.is.range()) {
992
- newValue = Math.max(module.thumbVal, newValue);
1066
+ newValue = Math.max(module.thumbVal + (settings.minRange || 0), newValue);
993
1067
  }
994
1068
  module.secondThumbVal = newValue;
995
1069
  }
@@ -1008,6 +1082,10 @@
1008
1082
  thumbVal = module.thumbVal || module.get.min(),
1009
1083
  secondThumbVal = module.secondThumbVal || module.get.min()
1010
1084
  ;
1085
+ if (settings.showThumbTooltip) {
1086
+ var precision = module.get.precision();
1087
+ $targetThumb.attr('data-tooltip', Math.round(newValue * precision) / precision);
1088
+ }
1011
1089
  if (module.is.range()) {
1012
1090
  if (!$targetThumb.hasClass('second')) {
1013
1091
  position = newPos;
@@ -1096,6 +1174,14 @@
1096
1174
  settings: function () {
1097
1175
  if (settings.start !== false) {
1098
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
+ }
1099
1185
  module.debug('Start position set from settings', settings.start, settings.end);
1100
1186
  module.set.rangeValue(settings.start, settings.end);
1101
1187
  } else {
@@ -1288,6 +1374,7 @@
1288
1374
  error: {
1289
1375
  method: 'The method you called is not defined.',
1290
1376
  notrange: 'This slider is not a range slider',
1377
+ invalidRanges: 'Invalid range settings (start/end/minRange/maxRange)',
1291
1378
  },
1292
1379
 
1293
1380
  metadata: {
@@ -1300,6 +1387,8 @@
1300
1387
  step: 1,
1301
1388
  start: 0,
1302
1389
  end: 20,
1390
+ minRange: false,
1391
+ maxRange: false,
1303
1392
  labelType: 'number',
1304
1393
  showLabelTicks: false,
1305
1394
  smooth: false,
@@ -1336,6 +1425,13 @@
1336
1425
  downArrow: 40,
1337
1426
  },
1338
1427
 
1428
+ restrictedLabels: [],
1429
+ showThumbTooltip: false,
1430
+ tooltipConfig: {
1431
+ position: 'top center',
1432
+ variation: 'tiny black',
1433
+ },
1434
+
1339
1435
  labelTypes: {
1340
1436
  number: 'number',
1341
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";
@@ -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";
@@ -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";
@@ -117,11 +117,11 @@
117
117
  if ($toastBox) {
118
118
  module.debug('Removing toast', $toastBox);
119
119
  module.unbind.events();
120
+ settings.onRemove.call($toastBox, element);
120
121
  $toastBox.remove();
121
122
  $toastBox = undefined;
122
123
  $toast = undefined;
123
124
  $animationObject = undefined;
124
- settings.onRemove.call($toastBox, element);
125
125
  $progress = undefined;
126
126
  $progressBar = undefined;
127
127
  $close = undefined;
@@ -139,6 +139,13 @@
139
139
  box-shadow: @floatingShadow;
140
140
  border: @toastBoxBorder;
141
141
  }
142
+ & when (@variationToastInverted) {
143
+ &.inverted.floating,
144
+ &.inverted.hoverfloating:hover {
145
+ box-shadow: @invertedFloatingShadow;
146
+ border: @invertedToastBoxBorder;
147
+ }
148
+ }
142
149
  }
143
150
  & when (@variationToastCompact) {
144
151
  &.compact,
@@ -714,4 +721,5 @@
714
721
  }
715
722
  }
716
723
 
717
- .loadUIOverrides();
724
+ // stylelint-disable no-invalid-position-at-import-rule
725
+ @import (multiple, optional) "../../overrides.less";
@@ -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";