semantic-ui-sass 1.7.0.0 → 1.7.3.0

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/app/assets/javascripts/semantic-ui/accordion.js +100 -47
  4. data/app/assets/javascripts/semantic-ui/api.js +9 -9
  5. data/app/assets/javascripts/semantic-ui/checkbox.js +14 -13
  6. data/app/assets/javascripts/semantic-ui/dimmer.js +9 -9
  7. data/app/assets/javascripts/semantic-ui/dropdown.js +98 -58
  8. data/app/assets/javascripts/semantic-ui/form.js +23 -23
  9. data/app/assets/javascripts/semantic-ui/modal.js +14 -14
  10. data/app/assets/javascripts/semantic-ui/popup.js +91 -40
  11. data/app/assets/javascripts/semantic-ui/progress.js +12 -6
  12. data/app/assets/javascripts/semantic-ui/rating.js +6 -6
  13. data/app/assets/javascripts/semantic-ui/search.js +217 -206
  14. data/app/assets/javascripts/semantic-ui/shape.js +8 -8
  15. data/app/assets/javascripts/semantic-ui/sidebar.js +116 -93
  16. data/app/assets/javascripts/semantic-ui/site.js +2 -2
  17. data/app/assets/javascripts/semantic-ui/state.js +6 -6
  18. data/app/assets/javascripts/semantic-ui/sticky.js +11 -11
  19. data/app/assets/javascripts/semantic-ui/tab.js +12 -12
  20. data/app/assets/javascripts/semantic-ui/transition.js +9 -9
  21. data/app/assets/javascripts/semantic-ui/video.js +4 -4
  22. data/app/assets/javascripts/semantic-ui/visibility.js +3 -3
  23. data/app/assets/javascripts/semantic-ui/visit.js +7 -7
  24. data/app/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +1 -1
  25. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +1 -1
  26. data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +118 -14
  27. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +23 -9
  28. data/app/assets/stylesheets/semantic-ui/collections/_message.scss +4 -4
  29. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +1 -1
  30. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +127 -126
  31. data/app/assets/stylesheets/semantic-ui/elements/_divider.scss +1 -1
  32. data/app/assets/stylesheets/semantic-ui/elements/_flag.scss +1 -2
  33. data/app/assets/stylesheets/semantic-ui/elements/_header.scss +1 -1
  34. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +2 -2
  35. data/app/assets/stylesheets/semantic-ui/elements/_image.scss +1 -1
  36. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +1 -1
  37. data/app/assets/stylesheets/semantic-ui/elements/_label.scss +5 -5
  38. data/app/assets/stylesheets/semantic-ui/elements/_list.scss +4 -3
  39. data/app/assets/stylesheets/semantic-ui/elements/_loader.scss +1 -1
  40. data/app/assets/stylesheets/semantic-ui/elements/_rail.scss +1 -1
  41. data/app/assets/stylesheets/semantic-ui/elements/_reveal.scss +13 -1
  42. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +1 -7
  43. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +36 -35
  44. data/app/assets/stylesheets/semantic-ui/globals/_reset.scss +1 -1
  45. data/app/assets/stylesheets/semantic-ui/globals/_site.scss +23 -4
  46. data/app/assets/stylesheets/semantic-ui/modules/_accordion.scss +3 -3
  47. data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +1 -1
  48. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +1 -1
  49. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +115 -29
  50. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +1 -1
  51. data/app/assets/stylesheets/semantic-ui/modules/_nag.scss +1 -1
  52. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +1 -6
  53. data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +13 -1
  54. data/app/assets/stylesheets/semantic-ui/modules/_rating.scss +1 -1
  55. data/app/assets/stylesheets/semantic-ui/modules/_search.scss +1 -1
  56. data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +1 -1
  57. data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +134 -16
  58. data/app/assets/stylesheets/semantic-ui/modules/_sticky.scss +1 -1
  59. data/app/assets/stylesheets/semantic-ui/modules/_tab.scss +1 -1
  60. data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +1 -1
  61. data/app/assets/stylesheets/semantic-ui/modules/_video.scss +1 -1
  62. data/app/assets/stylesheets/semantic-ui/views/_ad.scss +13 -1
  63. data/app/assets/stylesheets/semantic-ui/views/_card.scss +1 -1
  64. data/app/assets/stylesheets/semantic-ui/views/_comment.scss +1 -1
  65. data/app/assets/stylesheets/semantic-ui/views/_feed.scss +1 -1
  66. data/app/assets/stylesheets/semantic-ui/views/_item.scss +1 -1
  67. data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +1 -1
  68. data/lib/semantic/ui/sass/version.rb +2 -2
  69. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aee91ae09b3fd2e70fc4f7c90e260f61303f0755
4
- data.tar.gz: 1e2adab02571730a1a67672069e8d4e74206468d
3
+ metadata.gz: 9d63820fb00744c5df973634cb4033113238f76a
4
+ data.tar.gz: 4228fea953d5e1db5c6eb55c59d0b9c944a814f1
5
5
  SHA512:
6
- metadata.gz: 11ccfdf33638939dd8ad1bacd2605fd4558ecf427c6b0122e329a2231fb6f93cce144c3e10625d71aab73273ac9cc4761e886a9dafd4abcb8d907efd4845c56e
7
- data.tar.gz: d2b67b63c02d16ede9b5e4ef6968b68a39244a9f686a2f8b9f6df1b5ce23a3e1212de98e7d7e49149a7a66373c5994c867b7c549b70f171e1dcc311ae63de741
6
+ metadata.gz: f46a864f10888a0ab5d3b61eb811f00a39a7d5c56deb10c87309bd29d9f2c283ec21aaacf2b5694cd818a07bb7bf5c2d334376d4368e894729bdea16c9b5c818
7
+ data.tar.gz: 2930f3536bac7eacd2116666a063458676a9fff279700a2fa3ae4d5fc51b352e63d039d1dff6e1298042e36625b9fe01059e195463d0893cae3b9d77be91a45a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.7.3.0
2
+
3
+ * Update Semantic UI to 1.7.3
4
+
1
5
  ## 1.7.0.0
2
6
 
3
7
  * Update Semantic UI to 1.7.0
@@ -108,7 +108,7 @@ $.fn.accordion = function(parameters) {
108
108
 
109
109
  event: {
110
110
  click: function() {
111
- $.proxy(module.toggle, this)();
111
+ module.toggle.call(this);
112
112
  }
113
113
  },
114
114
 
@@ -125,14 +125,14 @@ $.fn.accordion = function(parameters) {
125
125
  module.debug('Toggling visibility of content', $activeTitle);
126
126
  if(contentIsOpen) {
127
127
  if(settings.collapsible) {
128
- $.proxy(module.close, $activeTitle)();
128
+ module.close.call($activeTitle);
129
129
  }
130
130
  else {
131
131
  module.debug('Cannot close accordion content collapsing is disabled');
132
132
  }
133
133
  }
134
134
  else {
135
- $.proxy(module.open, $activeTitle)();
135
+ module.open.call($activeTitle);
136
136
  }
137
137
  },
138
138
 
@@ -150,26 +150,43 @@ $.fn.accordion = function(parameters) {
150
150
  if(!currentlyAnimating && !currentlyActive) {
151
151
  module.debug('Opening accordion content', $activeTitle);
152
152
  if(settings.exclusive) {
153
- $.proxy(module.closeOthers, $activeTitle)();
153
+ module.closeOthers.call($activeTitle);
154
154
  }
155
155
  $activeTitle
156
156
  .addClass(className.active)
157
157
  ;
158
+ if(settings.animateChildren) {
159
+ if($.fn.transition !== undefined && $module.transition('is supported')) {
160
+ $activeContent
161
+ .children()
162
+ .transition({
163
+ animation : 'fade in',
164
+ useFailSafe : true,
165
+ debug : settings.debug,
166
+ verbose : settings.verbose,
167
+ duration : settings.duration
168
+ })
169
+ ;
170
+ }
171
+ else {
172
+ $activeContent
173
+ .children()
174
+ .stop()
175
+ .animate({
176
+ opacity: 1
177
+ }, settings.duration, module.resetOpacity)
178
+ ;
179
+ }
180
+ }
158
181
  $activeContent
159
182
  .stop()
160
- .children()
161
- .stop()
162
- .animate({
163
- opacity: 1
164
- }, settings.duration, module.reset.display)
165
- .end()
166
183
  .slideDown(settings.duration, settings.easing, function() {
167
184
  $activeContent
168
185
  .addClass(className.active)
169
186
  ;
170
- $.proxy(module.reset.display, this)();
171
- $.proxy(settings.onOpen, this)();
172
- $.proxy(settings.onChange, this)();
187
+ module.reset.display.call(this);
188
+ settings.onOpen.call(this);
189
+ settings.onChange.call(this);
173
190
  })
174
191
  ;
175
192
  }
@@ -193,17 +210,36 @@ $.fn.accordion = function(parameters) {
193
210
  $activeContent
194
211
  .removeClass(className.active)
195
212
  .show()
213
+ ;
214
+ if(settings.animateChildren) {
215
+ if($.fn.transition !== undefined && $module.transition('is supported')) {
216
+ $activeContent
217
+ .children()
218
+ .transition({
219
+ animation : 'fade out',
220
+ useFailSafe : true,
221
+ debug : settings.debug,
222
+ verbose : settings.verbose,
223
+ duration : settings.duration
224
+ })
225
+ ;
226
+ }
227
+ else {
228
+ $activeContent
229
+ .children()
230
+ .stop()
231
+ .animate({
232
+ opacity: 0
233
+ }, settings.duration, module.resetOpacity)
234
+ ;
235
+ }
236
+ }
237
+ $activeContent
196
238
  .stop()
197
- .children()
198
- .stop()
199
- .animate({
200
- opacity: 0
201
- }, settings.duration, module.reset.opacity)
202
- .end()
203
239
  .slideUp(settings.duration, settings.easing, function() {
204
- $.proxy(module.reset.display, this)();
205
- $.proxy(settings.onClose, this)();
206
- $.proxy(settings.onChange, this)();
240
+ module.reset.display.call(this);
241
+ settings.onClose.call(this);
242
+ settings.onChange.call(this);
207
243
  })
208
244
  ;
209
245
  }
@@ -229,25 +265,42 @@ $.fn.accordion = function(parameters) {
229
265
  else {
230
266
  $openTitles = $activeAccordion.find(activeSelector).not($parentTitles);
231
267
  $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);
232
- $openTitles = $openTitles.not($nestedTitles);
268
+ $openTitles = $openTitles.not($nestedTitles);
233
269
  $openContents = $openTitles.next($content);
234
270
  }
235
- if( ($openTitles.size() > 0) ) {
271
+ if( ($openTitles.length > 0) ) {
236
272
  module.debug('Exclusive enabled, closing other content', $openTitles);
237
273
  $openTitles
238
274
  .removeClass(className.active)
239
275
  ;
276
+ if(settings.animateChildren) {
277
+ if($.fn.transition !== undefined && $module.transition('is supported')) {
278
+ $openContents
279
+ .children()
280
+ .transition({
281
+ animation : 'fade out',
282
+ useFailSafe : true,
283
+ debug : settings.debug,
284
+ verbose : settings.verbose,
285
+ duration : settings.duration
286
+ })
287
+ ;
288
+ }
289
+ else {
290
+ $openContents
291
+ .children()
292
+ .stop()
293
+ .animate({
294
+ opacity: 0
295
+ }, settings.duration, module.resetOpacity)
296
+ ;
297
+ }
298
+ }
240
299
  $openContents
241
300
  .stop()
242
- .children()
243
- .stop()
244
- .animate({
245
- opacity: 0
246
- }, settings.duration, module.resetOpacity)
247
- .end()
248
301
  .slideUp(settings.duration , settings.easing, function() {
249
302
  $(this).removeClass(className.active);
250
- $.proxy(module.reset.display, this)();
303
+ module.reset.display.call(this);
251
304
  })
252
305
  ;
253
306
  }
@@ -459,23 +512,24 @@ $.fn.accordion = function(parameters) {
459
512
 
460
513
  $.fn.accordion.settings = {
461
514
 
462
- name : 'Accordion',
463
- namespace : 'accordion',
515
+ name : 'Accordion',
516
+ namespace : 'accordion',
464
517
 
465
- debug : false,
466
- verbose : true,
467
- performance : true,
518
+ debug : false,
519
+ verbose : true,
520
+ performance : true,
468
521
 
469
- exclusive : true,
470
- collapsible : true,
471
- closeNested : false,
522
+ exclusive : true,
523
+ collapsible : true,
524
+ closeNested : false,
525
+ animateChildren : true,
472
526
 
473
- duration : 500,
474
- easing : 'easeInOutQuint',
527
+ duration : 500,
528
+ easing : 'easeOutQuint',
475
529
 
476
- onOpen : function(){},
477
- onClose : function(){},
478
- onChange : function(){},
530
+ onOpen : function(){},
531
+ onClose : function(){},
532
+ onChange : function(){},
479
533
 
480
534
  error: {
481
535
  method : 'The method you called is not defined'
@@ -495,9 +549,8 @@ $.fn.accordion.settings = {
495
549
 
496
550
  // Adds easing
497
551
  $.extend( $.easing, {
498
- easeInOutQuint: function (x, t, b, c, d) {
499
- if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
500
- return c/2*((t-=2)*t*t*t*t + 2) + b;
552
+ easeOutQuint: function (x, t, b, c, d) {
553
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
501
554
  }
502
555
  });
503
556
 
@@ -198,7 +198,7 @@ $.api = $.fn.api = function(parameters) {
198
198
 
199
199
  is: {
200
200
  disabled: function() {
201
- return ($module.filter(settings.filter).size() > 0);
201
+ return ($module.filter(settings.filter).length > 0);
202
202
  },
203
203
  loading: function() {
204
204
  return (module.request && module.request.state() == 'pending');
@@ -342,7 +342,7 @@ $.api = $.fn.api = function(parameters) {
342
342
  request: {
343
343
  complete: function(response) {
344
344
  module.remove.loading();
345
- $.proxy(settings.onComplete, context)(response, $module);
345
+ settings.onComplete.call(context, response, $module);
346
346
  },
347
347
  done: function(response) {
348
348
  module.debug('API Response Received', response);
@@ -350,19 +350,19 @@ $.api = $.fn.api = function(parameters) {
350
350
  if( $.isFunction(settings.successTest) ) {
351
351
  module.debug('Checking JSON returned success', settings.successTest, response);
352
352
  if( settings.successTest(response) ) {
353
- $.proxy(settings.onSuccess, context)(response, $module);
353
+ settings.onSuccess.call(context, response, $module);
354
354
  }
355
355
  else {
356
356
  module.debug('JSON test specified by user and response failed', response);
357
- $.proxy(settings.onFailure, context)(response, $module);
357
+ settings.onFailure.call(context, response, $module);
358
358
  }
359
359
  }
360
360
  else {
361
- $.proxy(settings.onSuccess, context)(response, $module);
361
+ settings.onSuccess.call(context, response, $module);
362
362
  }
363
363
  }
364
364
  else {
365
- $.proxy(settings.onSuccess, context)(response, $module);
365
+ settings.onSuccess.call(context, response, $module);
366
366
  }
367
367
  },
368
368
  error: function(xhr, status, httpMessage) {
@@ -401,10 +401,10 @@ $.api = $.fn.api = function(parameters) {
401
401
  setTimeout(module.remove.error, settings.errorDuration);
402
402
  }
403
403
  module.debug('API Request error:', errorMessage);
404
- $.proxy(settings.onError, context)(errorMessage, context);
404
+ settings.onError.call(context, errorMessage, $module);
405
405
  }
406
406
  else {
407
- $.proxy(settings.onAbort, context)(errorMessage, context);
407
+ settings.onAbort.call(context, errorMessage, $module);
408
408
  module.debug('Request Aborted (Most likely caused by page change or CORS Policy)', status, httpMessage);
409
409
  }
410
410
  }
@@ -462,7 +462,7 @@ $.api = $.fn.api = function(parameters) {
462
462
  var
463
463
  runSettings
464
464
  ;
465
- runSettings = $.proxy(settings.beforeSend, $module)(settings);
465
+ runSettings = settings.beforeSend.call($module, settings);
466
466
  if(runSettings) {
467
467
  if(runSettings.success !== undefined) {
468
468
  module.debug('Legacy success callback detected', runSettings);
@@ -62,13 +62,13 @@ $.fn.checkbox = function(parameters) {
62
62
  if( module.is.checked() ) {
63
63
  module.set.checked();
64
64
  if(settings.fireOnInit) {
65
- $.proxy(settings.onChecked, $input.get())();
65
+ settings.onChecked.call($input.get());
66
66
  }
67
67
  }
68
68
  else {
69
69
  module.remove.checked();
70
70
  if(settings.fireOnInit) {
71
- $.proxy(settings.onUnchecked, $input.get())();
71
+ settings.onUnchecked.call($input.get());
72
72
  }
73
73
  }
74
74
  module.observeChanges();
@@ -120,7 +120,7 @@ $.fn.checkbox = function(parameters) {
120
120
  ? module[event]
121
121
  : module.toggle
122
122
  ;
123
- if($element.size() > 0) {
123
+ if($element.length > 0) {
124
124
  module.debug('Attaching checkbox events to element', selector, event);
125
125
  $element
126
126
  .on('click' + eventNamespace, event)
@@ -137,6 +137,7 @@ $.fn.checkbox = function(parameters) {
137
137
  key = event.which,
138
138
  keyCode = {
139
139
  enter : 13,
140
+ space : 32,
140
141
  escape : 27
141
142
  }
142
143
  ;
@@ -146,9 +147,9 @@ $.fn.checkbox = function(parameters) {
146
147
  .blur()
147
148
  ;
148
149
  }
149
- if(!event.ctrlKey && key == keyCode.enter) {
150
+ if(!event.ctrlKey && (key == keyCode.enter || key == keyCode.space)) {
150
151
  module.verbose('Enter key pressed, toggling checkbox');
151
- $.proxy(module.toggle, this)();
152
+ module.toggle.call(this);
152
153
  event.preventDefault();
153
154
  }
154
155
  }
@@ -193,7 +194,7 @@ $.fn.checkbox = function(parameters) {
193
194
 
194
195
  create: {
195
196
  label: function() {
196
- if($input.prevAll(selector.label).size() > 0) {
197
+ if($input.prevAll(selector.label).length > 0) {
197
198
  $input.prev(selector.label).detach().insertAfter($input);
198
199
  module.debug('Moving existing label', $label);
199
200
  }
@@ -206,7 +207,7 @@ $.fn.checkbox = function(parameters) {
206
207
 
207
208
  has: {
208
209
  label: function() {
209
- return ($label.size() > 0);
210
+ return ($label.length > 0);
210
211
  }
211
212
  },
212
213
 
@@ -243,14 +244,14 @@ $.fn.checkbox = function(parameters) {
243
244
  module.debug('Enabling checkbox functionality');
244
245
  $module.removeClass(className.disabled);
245
246
  $input.prop('disabled', false);
246
- $.proxy(settings.onEnabled, $input.get())();
247
+ settings.onEnabled.call($input.get());
247
248
  },
248
249
 
249
250
  disable: function() {
250
251
  module.debug('Disabling checkbox functionality');
251
252
  $module.addClass(className.disabled);
252
253
  $input.prop('disabled', 'disabled');
253
- $.proxy(settings.onDisabled, $input.get())();
254
+ settings.onDisabled.call($input.get());
254
255
  },
255
256
 
256
257
  check: function() {
@@ -260,8 +261,8 @@ $.fn.checkbox = function(parameters) {
260
261
  .trigger('change')
261
262
  ;
262
263
  module.set.checked();
263
- $.proxy(settings.onChange, $input.get())();
264
- $.proxy(settings.onChecked, $input.get())();
264
+ settings.onChange.call($input.get());
265
+ settings.onChecked.call($input.get());
265
266
  },
266
267
 
267
268
  uncheck: function() {
@@ -271,8 +272,8 @@ $.fn.checkbox = function(parameters) {
271
272
  .trigger('change')
272
273
  ;
273
274
  module.remove.checked();
274
- $.proxy(settings.onChange, $input.get())();
275
- $.proxy(settings.onUnchecked, $input.get())();
275
+ settings.onChange.call($input.get());
276
+ settings.onUnchecked.call($input.get());
276
277
  },
277
278
 
278
279
  toggle: function(event) {
@@ -129,7 +129,7 @@ $.fn.dimmer = function(parameters) {
129
129
  event: {
130
130
  click: function(event) {
131
131
  module.verbose('Determining if event occured on dimmer', event);
132
- if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) {
132
+ if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {
133
133
  module.hide();
134
134
  event.stopImmediatePropagation();
135
135
  }
@@ -172,8 +172,8 @@ $.fn.dimmer = function(parameters) {
172
172
  module.debug('Showing dimmer', $dimmer, settings);
173
173
  if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {
174
174
  module.animate.show(callback);
175
- $.proxy(settings.onShow, element)();
176
- $.proxy(settings.onChange, element)();
175
+ settings.onShow.call(element);
176
+ settings.onChange.call(element);
177
177
  }
178
178
  else {
179
179
  module.debug('Dimmer is already shown or disabled');
@@ -188,8 +188,8 @@ $.fn.dimmer = function(parameters) {
188
188
  if( module.is.dimmed() || module.is.animating() ) {
189
189
  module.debug('Hiding dimmer', $dimmer);
190
190
  module.animate.hide(callback);
191
- $.proxy(settings.onHide, element)();
192
- $.proxy(settings.onChange, element)();
191
+ settings.onHide.call(element);
192
+ settings.onChange.call(element);
193
193
  }
194
194
  else {
195
195
  module.debug('Dimmer is not visible');
@@ -303,10 +303,10 @@ $.fn.dimmer = function(parameters) {
303
303
  has: {
304
304
  dimmer: function() {
305
305
  if(settings.dimmerName) {
306
- return ($module.children(selector.dimmer).filter('.' + settings.dimmerName).size() > 0);
306
+ return ($module.children(selector.dimmer).filter('.' + settings.dimmerName).length > 0);
307
307
  }
308
308
  else {
309
- return ( $module.children(selector.dimmer).size() > 0 );
309
+ return ( $module.children(selector.dimmer).length > 0 );
310
310
  }
311
311
  }
312
312
  },
@@ -473,8 +473,8 @@ $.fn.dimmer = function(parameters) {
473
473
  if(moduleSelector) {
474
474
  title += ' \'' + moduleSelector + '\'';
475
475
  }
476
- if($allModules.size() > 1) {
477
- title += ' ' + '(' + $allModules.size() + ')';
476
+ if($allModules.length > 1) {
477
+ title += ' ' + '(' + $allModules.length + ')';
478
478
  }
479
479
  if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
480
480
  console.groupCollapsed(title);