semantic-ui-sass 2.2.14 → 2.3.0.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 (61) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +5 -1
  3. data/app/assets/fonts/semantic-ui/icons.eot +0 -0
  4. data/app/assets/fonts/semantic-ui/icons.svg +946 -2670
  5. data/app/assets/fonts/semantic-ui/icons.ttf +0 -0
  6. data/app/assets/fonts/semantic-ui/icons.woff +0 -0
  7. data/app/assets/fonts/semantic-ui/icons.woff2 +0 -0
  8. data/app/assets/javascripts/semantic-ui/accordion.js +5 -2
  9. data/app/assets/javascripts/semantic-ui/dimmer.js +2 -0
  10. data/app/assets/javascripts/semantic-ui/form.js +1 -1
  11. data/app/assets/javascripts/semantic-ui/modal.js +34 -42
  12. data/app/assets/javascripts/semantic-ui/popup.js +45 -8
  13. data/app/assets/javascripts/semantic-ui/search.js +71 -18
  14. data/app/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +1 -1
  15. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +1 -1
  16. data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +1 -1
  17. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +4 -4
  18. data/app/assets/stylesheets/semantic-ui/collections/_message.scss +1 -1
  19. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +6 -1
  20. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +1 -1
  21. data/app/assets/stylesheets/semantic-ui/elements/_container.scss +1 -1
  22. data/app/assets/stylesheets/semantic-ui/elements/_divider.scss +1 -1
  23. data/app/assets/stylesheets/semantic-ui/elements/_flag.scss +1 -1
  24. data/app/assets/stylesheets/semantic-ui/elements/_header.scss +1 -1
  25. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +2911 -1842
  26. data/app/assets/stylesheets/semantic-ui/elements/_image.scss +5 -1
  27. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +35 -35
  28. data/app/assets/stylesheets/semantic-ui/elements/_label.scss +1 -1
  29. data/app/assets/stylesheets/semantic-ui/elements/_list.scss +1 -1
  30. data/app/assets/stylesheets/semantic-ui/elements/_loader.scss +1 -1
  31. data/app/assets/stylesheets/semantic-ui/elements/_rail.scss +1 -1
  32. data/app/assets/stylesheets/semantic-ui/elements/_reveal.scss +1 -1
  33. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +1 -1
  34. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +1 -1
  35. data/app/assets/stylesheets/semantic-ui/globals/_reset.scss +1 -1
  36. data/app/assets/stylesheets/semantic-ui/globals/_site.scss +1 -1
  37. data/app/assets/stylesheets/semantic-ui/modules/_accordion.scss +1 -1
  38. data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +1 -1
  39. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +36 -9
  40. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +1 -1
  41. data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +1 -1
  42. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +49 -48
  43. data/app/assets/stylesheets/semantic-ui/modules/_nag.scss +1 -1
  44. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +1 -1
  45. data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +1 -1
  46. data/app/assets/stylesheets/semantic-ui/modules/_rating.scss +1 -1
  47. data/app/assets/stylesheets/semantic-ui/modules/_search.scss +34 -18
  48. data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +1 -1
  49. data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +1 -1
  50. data/app/assets/stylesheets/semantic-ui/modules/_sticky.scss +1 -1
  51. data/app/assets/stylesheets/semantic-ui/modules/_tab.scss +1 -1
  52. data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +97 -2
  53. data/app/assets/stylesheets/semantic-ui/views/_ad.scss +1 -1
  54. data/app/assets/stylesheets/semantic-ui/views/_card.scss +1 -1
  55. data/app/assets/stylesheets/semantic-ui/views/_comment.scss +1 -1
  56. data/app/assets/stylesheets/semantic-ui/views/_feed.scss +1 -1
  57. data/app/assets/stylesheets/semantic-ui/views/_item.scss +1 -1
  58. data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +1 -1
  59. data/lib/semantic/ui/sass/version.rb +2 -2
  60. data/tasks/converter.rb +1 -0
  61. metadata +3 -3
Binary file
@@ -169,6 +169,7 @@ $.fn.accordion = function(parameters) {
169
169
  }
170
170
  module.debug('Opening accordion content', $activeTitle);
171
171
  settings.onOpening.call($activeContent);
172
+ settings.onChanging.call($activeContent);
172
173
  if(settings.exclusive) {
173
174
  module.closeOthers.call($activeTitle);
174
175
  }
@@ -232,6 +233,7 @@ $.fn.accordion = function(parameters) {
232
233
  if((isActive || isOpening) && !isClosing) {
233
234
  module.debug('Closing accordion content', $activeContent);
234
235
  settings.onClosing.call($activeContent);
236
+ settings.onChanging.call($activeContent);
235
237
  $activeTitle
236
238
  .removeClass(className.active)
237
239
  ;
@@ -574,10 +576,11 @@ $.fn.accordion.settings = {
574
576
  duration : 350, // duration of animation
575
577
  easing : 'easeOutQuad', // easing equation for animation
576
578
 
577
-
578
579
  onOpening : function(){}, // callback before open animation
579
- onOpen : function(){}, // callback after open animation
580
580
  onClosing : function(){}, // callback before closing animation
581
+ onChanging : function(){}, // callback before closing or opening animation
582
+
583
+ onOpen : function(){}, // callback after open animation
581
584
  onClose : function(){}, // callback after closing animation
582
585
  onChange : function(){}, // callback after closing or opening animation
583
586
 
@@ -238,6 +238,7 @@ $.fn.dimmer = function(parameters) {
238
238
  }
239
239
  $dimmer
240
240
  .transition({
241
+ displayType : 'flex',
241
242
  animation : settings.transition + ' in',
242
243
  queue : false,
243
244
  duration : module.get.duration(),
@@ -282,6 +283,7 @@ $.fn.dimmer = function(parameters) {
282
283
  module.verbose('Hiding dimmer with css');
283
284
  $dimmer
284
285
  .transition({
286
+ displayType : 'flex',
285
287
  animation : settings.transition + ' out',
286
288
  queue : false,
287
289
  duration : module.get.duration(),
@@ -358,7 +358,7 @@ $.fn.form = function(parameters) {
358
358
  module.validate.field( validationRules );
359
359
  }
360
360
  }
361
- else if(settings.on == 'blur' || settings.on == 'change') {
361
+ else if(settings.on == 'blur') {
362
362
  if(validationRules) {
363
363
  module.validate.field( validationRules );
364
364
  }
@@ -108,6 +108,10 @@ $.fn.modal = function(parameters) {
108
108
  var
109
109
  defaultSettings = {
110
110
  debug : settings.debug,
111
+ variation : settings.centered
112
+ ? false
113
+ : 'top aligned'
114
+ ,
111
115
  dimmerName : 'modals'
112
116
  },
113
117
  dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)
@@ -165,7 +169,6 @@ $.fn.modal = function(parameters) {
165
169
  module.cacheSizes();
166
170
  module.set.screenHeight();
167
171
  module.set.type();
168
- module.set.position();
169
172
  },
170
173
 
171
174
  refreshModals: function() {
@@ -238,21 +241,23 @@ $.fn.modal = function(parameters) {
238
241
  module.hide();
239
242
  },
240
243
  click: function(event) {
244
+ if(!settings.closable) {
245
+ module.verbose('Dimmer clicked but closable setting is disabled');
246
+ return;
247
+ }
241
248
  var
242
249
  $target = $(event.target),
243
250
  isInModal = ($target.closest(selector.modal).length > 0),
244
251
  isInDOM = $.contains(document.documentElement, event.target)
245
252
  ;
246
- if(!isInModal && isInDOM) {
253
+ if(!isInModal && isInDOM && module.is.active()) {
247
254
  module.debug('Dimmer clicked, hiding all modals');
248
- if( module.is.active() ) {
249
- module.remove.clickaway();
250
- if(settings.allowMultiple) {
251
- module.hide();
252
- }
253
- else {
254
- module.hideAll();
255
- }
255
+ module.remove.clickaway();
256
+ if(settings.allowMultiple) {
257
+ module.hide();
258
+ }
259
+ else {
260
+ module.hideAll();
256
261
  }
257
262
  }
258
263
  },
@@ -320,7 +325,6 @@ $.fn.modal = function(parameters) {
320
325
 
321
326
  module.showDimmer();
322
327
  module.cacheSizes();
323
- module.set.position();
324
328
  module.set.screenHeight();
325
329
  module.set.type();
326
330
  module.set.clickaway();
@@ -487,7 +491,13 @@ $.fn.modal = function(parameters) {
487
491
 
488
492
  save: {
489
493
  focus: function() {
490
- $focusedElement = $(document.activeElement).blur();
494
+ var
495
+ $activeElement = $(document.activeElement),
496
+ inCurrentModal = $activeElement.closest($module).length > 0
497
+ ;
498
+ if(!inCurrentModal) {
499
+ $focusedElement = $(document.activeElement).blur();
500
+ }
491
501
  }
492
502
  },
493
503
 
@@ -504,11 +514,9 @@ $.fn.modal = function(parameters) {
504
514
  $module.removeClass(className.active);
505
515
  },
506
516
  clickaway: function() {
507
- if(settings.closable) {
508
- $dimmer
509
- .off('click' + elementEventNamespace)
510
- ;
511
- }
517
+ $dimmer
518
+ .off('click' + elementEventNamespace)
519
+ ;
512
520
  },
513
521
  bodyStyle: function() {
514
522
  if($body.attr('style') === '') {
@@ -606,11 +614,9 @@ $.fn.modal = function(parameters) {
606
614
  }
607
615
  },
608
616
  clickaway: function() {
609
- if(settings.closable) {
610
- $dimmer
611
- .on('click' + elementEventNamespace, module.event.click)
612
- ;
613
- }
617
+ $dimmer
618
+ .on('click' + elementEventNamespace, module.event.click)
619
+ ;
614
620
  },
615
621
  dimmerSettings: function() {
616
622
  if($.fn.dimmer === undefined) {
@@ -621,8 +627,11 @@ $.fn.modal = function(parameters) {
621
627
  defaultSettings = {
622
628
  debug : settings.debug,
623
629
  dimmerName : 'modals',
624
- variation : false,
625
630
  closable : 'auto',
631
+ variation : settings.centered
632
+ ? false
633
+ : 'top aligned'
634
+ ,
626
635
  duration : {
627
636
  show : settings.duration,
628
637
  hide : settings.duration
@@ -678,25 +687,6 @@ $.fn.modal = function(parameters) {
678
687
  module.set.scrolling();
679
688
  }
680
689
  },
681
- position: function() {
682
- module.verbose('Centering modal on page', module.cache);
683
- if(module.can.fit()) {
684
- $module
685
- .css({
686
- top: '',
687
- marginTop: module.cache.topOffset
688
- })
689
- ;
690
- }
691
- else {
692
- $module
693
- .css({
694
- marginTop : '',
695
- top : $document.scrollTop()
696
- })
697
- ;
698
- }
699
- },
700
690
  undetached: function() {
701
691
  $dimmable.addClass(className.undetached);
702
692
  }
@@ -905,6 +895,8 @@ $.fn.modal.settings = {
905
895
  inverted : false,
906
896
  blurring : false,
907
897
 
898
+ centered : true,
899
+
908
900
  dimmerSettings : {
909
901
  closable : false,
910
902
  useCSS : true
@@ -488,7 +488,7 @@ $.fn.popup = function(parameters) {
488
488
  },
489
489
  content: function() {
490
490
  $module.removeData(metadata.content);
491
- return $module.data(metadata.content) || $module.attr('title') || settings.content;
491
+ return $module.data(metadata.content) || settings.content || $module.attr('title');
492
492
  },
493
493
  variation: function() {
494
494
  $module.removeData(metadata.variation);
@@ -502,9 +502,10 @@ $.fn.popup = function(parameters) {
502
502
  },
503
503
  calculations: function() {
504
504
  var
505
- targetElement = $target[0],
506
- isWindow = ($boundary[0] == window),
507
- targetPosition = (settings.inline || (settings.popup && settings.movePopup))
505
+ $popupOffsetParent = module.get.offsetParent($popup),
506
+ targetElement = $target[0],
507
+ isWindow = ($boundary[0] == window),
508
+ targetPosition = (settings.inline || (settings.popup && settings.movePopup))
508
509
  ? $target.position()
509
510
  : $target.offset(),
510
511
  screenPosition = (isWindow)
@@ -549,6 +550,17 @@ $.fn.popup = function(parameters) {
549
550
  }
550
551
  };
551
552
 
553
+ // if popup offset context is not same as target, then adjust calculations
554
+ if($popupOffsetParent.get(0) !== $offsetParent.get(0)) {
555
+ var
556
+ popupOffset = $popupOffsetParent.offset()
557
+ ;
558
+ calculations.target.top -= popupOffset.top;
559
+ calculations.target.left -= popupOffset.left;
560
+ calculations.parent.width = $popupOffsetParent.outerWidth();
561
+ calculations.parent.height = $popupOffsetParent.outerHeight();
562
+ }
563
+
552
564
  // add in container calcs if fluid
553
565
  if( settings.setFluidWidth && module.is.fluid() ) {
554
566
  calculations.container = {
@@ -637,14 +649,14 @@ $.fn.popup = function(parameters) {
637
649
  var
638
650
  is2D = ($node.css('transform') === 'none'),
639
651
  isStatic = ($node.css('position') === 'static'),
640
- isHTML = $node.is('html')
652
+ isBody = $node.is('body')
641
653
  ;
642
- while(parentNode && !isHTML && isStatic && is2D) {
654
+ while(parentNode && !isBody && isStatic && is2D) {
643
655
  parentNode = parentNode.parentNode;
644
656
  $node = $(parentNode);
645
657
  is2D = ($node.css('transform') === 'none');
646
658
  isStatic = ($node.css('position') === 'static');
647
- isHTML = $node.is('html');
659
+ isBody = $node.is('body');
648
660
  }
649
661
  }
650
662
  return ($node && $node.length > 0)
@@ -753,6 +765,18 @@ $.fn.popup = function(parameters) {
753
765
  popup = calculations.popup;
754
766
  parent = calculations.parent;
755
767
 
768
+ if(module.should.centerArrow(calculations)) {
769
+ module.verbose('Adjusting offset to center arrow on small target element');
770
+ if(position == 'top left' || position == 'bottom left') {
771
+ offset += (target.width / 2)
772
+ offset -= settings.arrowPixelsFromEdge;
773
+ }
774
+ if(position == 'top right' || position == 'bottom right') {
775
+ offset -= (target.width / 2)
776
+ offset += settings.arrowPixelsFromEdge;
777
+ }
778
+ }
779
+
756
780
  if(target.width === 0 && target.height === 0 && !module.is.svg(target.element)) {
757
781
  module.debug('Popup target is hidden, no action taken');
758
782
  return false;
@@ -1046,6 +1070,12 @@ $.fn.popup = function(parameters) {
1046
1070
  }
1047
1071
  },
1048
1072
 
1073
+ should: {
1074
+ centerArrow: function(calculations) {
1075
+ return !module.is.basic() && calculations.target.width <= (settings.arrowPixelsFromEdge * 2);
1076
+ }
1077
+ },
1078
+
1049
1079
  is: {
1050
1080
  offstage: function(distanceFromBoundary, position) {
1051
1081
  var
@@ -1068,6 +1098,9 @@ $.fn.popup = function(parameters) {
1068
1098
  svg: function(element) {
1069
1099
  return module.supports.svg() && (element instanceof SVGGraphicsElement);
1070
1100
  },
1101
+ basic: function() {
1102
+ return $module.hasClass(className.basic);
1103
+ },
1071
1104
  active: function() {
1072
1105
  return $module.hasClass(className.active);
1073
1106
  },
@@ -1380,8 +1413,11 @@ $.fn.popup.settings = {
1380
1413
  // specify position to appear even if it doesn't fit
1381
1414
  lastResort : false,
1382
1415
 
1416
+ // number of pixels from edge of popup to pointing arrow center (used from centering)
1417
+ arrowPixelsFromEdge: 20,
1418
+
1383
1419
  // delay used to prevent accidental refiring of animations due to user error
1384
- delay : {
1420
+ delay : {
1385
1421
  show : 50,
1386
1422
  hide : 70
1387
1423
  },
@@ -1425,6 +1461,7 @@ $.fn.popup.settings = {
1425
1461
 
1426
1462
  className : {
1427
1463
  active : 'active',
1464
+ basic : 'basic',
1428
1465
  animating : 'animating',
1429
1466
  dropdown : 'dropdown',
1430
1467
  fluid : 'fluid',
@@ -70,6 +70,7 @@ $.fn.search = function(parameters) {
70
70
 
71
71
  initialize: function() {
72
72
  module.verbose('Initializing module');
73
+ module.get.settings();
73
74
  module.determine.searchFields();
74
75
  module.bind.events();
75
76
  module.set.type();
@@ -402,6 +403,12 @@ $.fn.search = function(parameters) {
402
403
  },
403
404
 
404
405
  get: {
406
+ settings: function() {
407
+ if($.isPlainObject(parameters) && parameters.searchFullText) {
408
+ settings.fullTextSearch = parameters.searchFullText;
409
+ module.error(settings.error.oldSearchSyntax, element);
410
+ }
411
+ },
405
412
  inputEvent: function() {
406
413
  var
407
414
  prompt = $prompt[0],
@@ -545,8 +552,14 @@ $.fn.search = function(parameters) {
545
552
  ;
546
553
  module.set.loading();
547
554
  module.save.results(results);
548
- module.debug('Returned local search results', results);
549
-
555
+ module.debug('Returned full local search results', results);
556
+ if(settings.maxResults > 0) {
557
+ module.debug('Using specified max results', results);
558
+ results = results.slice(0, settings.maxResults);
559
+ }
560
+ if(settings.type == 'category') {
561
+ results = module.create.categoryResults(results);
562
+ }
550
563
  searchHTML = module.generateResults({
551
564
  results: results
552
565
  });
@@ -574,6 +587,7 @@ $.fn.search = function(parameters) {
574
587
  object: function(searchTerm, source, searchFields) {
575
588
  var
576
589
  results = [],
590
+ exactResults = [],
577
591
  fuzzyResults = [],
578
592
  searchExp = searchTerm.toString().replace(regExp.escape, '\\$&'),
579
593
  matchRegExp = new RegExp(regExp.beginsWith + searchExp, 'i'),
@@ -605,7 +619,6 @@ $.fn.search = function(parameters) {
605
619
  module.error(error.source);
606
620
  return [];
607
621
  }
608
-
609
622
  // iterate through search fields looking for matches
610
623
  $.each(searchFields, function(index, field) {
611
624
  $.each(source, function(label, content) {
@@ -617,17 +630,30 @@ $.fn.search = function(parameters) {
617
630
  // content starts with value (first in results)
618
631
  addResult(results, content);
619
632
  }
620
- else if(settings.searchFullText && module.fuzzySearch(searchTerm, content[field]) ) {
633
+ else if(settings.fullTextSearch === 'exact' && module.exactSearch(searchTerm, content[field]) ) {
634
+ // content fuzzy matches (last in results)
635
+ addResult(exactResults, content);
636
+ }
637
+ else if(settings.fullTextSearch == true && module.fuzzySearch(searchTerm, content[field]) ) {
621
638
  // content fuzzy matches (last in results)
622
639
  addResult(fuzzyResults, content);
623
640
  }
624
641
  }
625
642
  });
626
643
  });
627
- return $.merge(results, fuzzyResults);
644
+ $.merge(exactResults, fuzzyResults)
645
+ $.merge(results, exactResults);
646
+ return results;
628
647
  }
629
648
  },
630
-
649
+ exactSearch: function (query, term) {
650
+ query = query.toLowerCase();
651
+ term = term.toLowerCase();
652
+ if(term.indexOf(query) > -1) {
653
+ return true;
654
+ }
655
+ return false;
656
+ },
631
657
  fuzzySearch: function(query, term) {
632
658
  var
633
659
  termLength = term.length,
@@ -739,6 +765,27 @@ $.fn.search = function(parameters) {
739
765
  },
740
766
 
741
767
  create: {
768
+ categoryResults: function(results) {
769
+ var
770
+ categoryResults = {}
771
+ ;
772
+ $.each(results, function(index, result) {
773
+ if(!result.category) {
774
+ return;
775
+ }
776
+ if(categoryResults[result.category] === undefined) {
777
+ module.verbose('Creating new category of results', result.category);
778
+ categoryResults[result.category] = {
779
+ name : result.category,
780
+ results : [result]
781
+ }
782
+ }
783
+ else {
784
+ categoryResults[result.category].results.push(result);
785
+ }
786
+ });
787
+ return categoryResults;
788
+ },
742
789
  id: function(resultIndex, categoryIndex) {
743
790
  var
744
791
  resultID = (resultIndex + 1), // not zero indexed
@@ -776,7 +823,10 @@ $.fn.search = function(parameters) {
776
823
  $selectedResult = (categoryIndex !== undefined)
777
824
  ? $results
778
825
  .children().eq(categoryIndex)
779
- .children(selector.result).eq(resultIndex)
826
+ .children(selector.results)
827
+ .first()
828
+ .children(selector.result)
829
+ .eq(resultIndex)
780
830
  : $results
781
831
  .children(selector.result).eq(resultIndex)
782
832
  ;
@@ -1197,8 +1247,8 @@ $.fn.search.settings = {
1197
1247
  // field to display in standard results template
1198
1248
  displayField : '',
1199
1249
 
1200
- // whether to include fuzzy results in local search
1201
- searchFullText : true,
1250
+ // search anywhere in value (set to 'exact' to require exact matches
1251
+ fullTextSearch : 'exact',
1202
1252
 
1203
1253
  // whether to add events to prompt automatically
1204
1254
  automatic : true,
@@ -1209,7 +1259,7 @@ $.fn.search.settings = {
1209
1259
  // delay before searching
1210
1260
  searchDelay : 200,
1211
1261
 
1212
- // maximum results returned from local
1262
+ // maximum results returned from search
1213
1263
  maxResults : 7,
1214
1264
 
1215
1265
  // whether to store lookups in local cache
@@ -1245,14 +1295,15 @@ $.fn.search.settings = {
1245
1295
  },
1246
1296
 
1247
1297
  error : {
1248
- source : 'Cannot search. No source used, and Semantic API module was not included',
1249
- noResults : 'Your search returned no results',
1250
- logging : 'Error in debug logging, exiting.',
1251
- noEndpoint : 'No search endpoint was specified',
1252
- noTemplate : 'A valid template name was not specified.',
1253
- serverError : 'There was an issue querying the server.',
1254
- maxResults : 'Results must be an array to use maxResults setting',
1255
- method : 'The method you called is not defined.'
1298
+ source : 'Cannot search. No source used, and Semantic API module was not included',
1299
+ noResults : 'Your search returned no results',
1300
+ logging : 'Error in debug logging, exiting.',
1301
+ noEndpoint : 'No search endpoint was specified',
1302
+ noTemplate : 'A valid template name was not specified.',
1303
+ oldSearchSyntax : 'searchFullText setting has been renamed fullTextSearch for consistency, please adjust your settings.',
1304
+ serverError : 'There was an issue querying the server.',
1305
+ maxResults : 'Results must be an array to use maxResults setting',
1306
+ method : 'The method you called is not defined.'
1256
1307
  },
1257
1308
 
1258
1309
  metadata: {
@@ -1354,6 +1405,7 @@ $.fn.search.settings = {
1354
1405
  }
1355
1406
 
1356
1407
  // each item inside category
1408
+ html += '<div class="results">';
1357
1409
  $.each(category.results, function(index, result) {
1358
1410
  if(result[fields.url]) {
1359
1411
  html += '<a class="result" href="' + result[fields.url] + '">';
@@ -1383,6 +1435,7 @@ $.fn.search.settings = {
1383
1435
  ;
1384
1436
  html += '</a>';
1385
1437
  });
1438
+ html += '</div>';
1386
1439
  html += ''
1387
1440
  + '</div>'
1388
1441
  ;