less-rails-semantic_ui 1.6.2.0 → 1.7.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/assets/javascripts/semantic_ui/definitions/behaviors/api.js +9 -9
  3. data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +23 -23
  4. data/assets/javascripts/semantic_ui/definitions/behaviors/state.js +6 -6
  5. data/assets/javascripts/semantic_ui/definitions/behaviors/visibility.js +3 -3
  6. data/assets/javascripts/semantic_ui/definitions/behaviors/visit.js +7 -7
  7. data/assets/javascripts/semantic_ui/definitions/globals/site.js +2 -2
  8. data/assets/javascripts/semantic_ui/definitions/modules/accordion.js +12 -12
  9. data/assets/javascripts/semantic_ui/definitions/modules/checkbox.js +14 -13
  10. data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +9 -9
  11. data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +98 -58
  12. data/assets/javascripts/semantic_ui/definitions/modules/modal.js +14 -14
  13. data/assets/javascripts/semantic_ui/definitions/modules/popup.js +90 -39
  14. data/assets/javascripts/semantic_ui/definitions/modules/progress.js +12 -6
  15. data/assets/javascripts/semantic_ui/definitions/modules/rating.js +6 -6
  16. data/assets/javascripts/semantic_ui/definitions/modules/search.js +216 -205
  17. data/assets/javascripts/semantic_ui/definitions/modules/shape.js +8 -8
  18. data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +112 -89
  19. data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +11 -11
  20. data/assets/javascripts/semantic_ui/definitions/modules/tab.js +12 -12
  21. data/assets/javascripts/semantic_ui/definitions/modules/transition.js +9 -9
  22. data/assets/javascripts/semantic_ui/definitions/modules/video.js +4 -4
  23. data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +65 -10
  24. data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +10 -6
  25. data/assets/stylesheets/semantic_ui/definitions/elements/button.less +54 -55
  26. data/assets/stylesheets/semantic_ui/definitions/elements/label.less +4 -4
  27. data/assets/stylesheets/semantic_ui/definitions/elements/list.less +4 -2
  28. data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +0 -7
  29. data/assets/stylesheets/semantic_ui/definitions/elements/step.less +41 -40
  30. data/assets/stylesheets/semantic_ui/definitions/globals/site.less +19 -0
  31. data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +108 -23
  32. data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +0 -2
  33. data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +109 -27
  34. data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +3 -0
  35. data/assets/stylesheets/semantic_ui/themes/default/elements/button.variables +24 -0
  36. data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +5 -2
  37. data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +22 -6
  38. data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.variables +21 -12
  39. data/assets/stylesheets/semantic_ui/themes/material/elements/button.overrides +0 -4
  40. data/assets/stylesheets/semantic_ui/themes/rtl/globals/site.overrides +6 -0
  41. data/assets/stylesheets/semantic_ui/themes/rtl/globals/site.variables +14 -0
  42. data/lib/less/rails/semantic_ui/version.rb +1 -1
  43. metadata +4 -2
@@ -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);
@@ -51,7 +51,7 @@ $.fn.dropdown = function(parameters) {
51
51
  $search = $module.find(selector.search),
52
52
  $input = $module.find(selector.input),
53
53
 
54
- $combo = ($module.prev().find(selector.text).size() > 0)
54
+ $combo = ($module.prev().find(selector.text).length > 0)
55
55
  ? $module.prev().find(selector.text)
56
56
  : $module.prev(),
57
57
 
@@ -138,12 +138,9 @@ $.fn.dropdown = function(parameters) {
138
138
  query = $search.val();
139
139
 
140
140
  module.verbose('Searching for query', query);
141
-
142
- if(module.is.searchSelection()) {
143
- module.filter(query);
144
- if( module.can.show() ) {
145
- module.show();
146
- }
141
+ module.filter(query);
142
+ if(module.is.searchSelection() && module.can.show() ) {
143
+ module.show();
147
144
  }
148
145
  },
149
146
 
@@ -170,10 +167,10 @@ $.fn.dropdown = function(parameters) {
170
167
  module.debug('Dropdown initialized on a select', selectValues);
171
168
  // see if select exists inside a dropdown
172
169
  $input = $module;
173
- if($input.parents(selector.dropdown).size() > 0) {
170
+ if($input.parents(selector.dropdown).length > 0) {
174
171
  module.debug('Creating dropdown menu only from template');
175
172
  $module = $input.closest(selector.dropdown);
176
- if($module.find('.' + className.dropdown).size() === 0) {
173
+ if($module.find('.' + className.dropdown).length === 0) {
177
174
  $('<div />')
178
175
  .addClass(className.menu)
179
176
  .html( settings.templates.menu( selectValues ))
@@ -222,16 +219,16 @@ $.fn.dropdown = function(parameters) {
222
219
  ? callback
223
220
  : function(){}
224
221
  ;
225
- if( !module.is.active() && !module.is.allFiltered() ) {
222
+ if( module.can.show() && !module.is.active() && !module.is.allFiltered() ) {
226
223
  module.debug('Showing dropdown');
227
224
  module.animate.show(function() {
228
225
  if( module.can.click() ) {
229
226
  module.bind.intent();
230
227
  }
231
228
  module.set.visible();
232
- $.proxy(callback, element)();
229
+ callback.call(element);
233
230
  });
234
- $.proxy(settings.onShow, element)();
231
+ settings.onShow.call(element);
235
232
  }
236
233
  },
237
234
 
@@ -244,9 +241,9 @@ $.fn.dropdown = function(parameters) {
244
241
  module.debug('Hiding dropdown');
245
242
  module.animate.hide(function() {
246
243
  module.remove.visible();
247
- $.proxy(callback, element)();
244
+ callback.call(element);
248
245
  });
249
- $.proxy(settings.onHide, element)();
246
+ settings.onHide.call(element);
250
247
  }
251
248
  },
252
249
 
@@ -302,6 +299,7 @@ $.fn.dropdown = function(parameters) {
302
299
  .on('click' + eventNamespace, selector.search, module.show)
303
300
  .on('focus' + eventNamespace, selector.search, module.event.searchFocus)
304
301
  .on('blur' + eventNamespace, selector.search, module.event.searchBlur)
302
+ .on('click' + eventNamespace, selector.text, module.event.searchTextFocus)
305
303
  ;
306
304
  }
307
305
  else {
@@ -366,8 +364,9 @@ $.fn.dropdown = function(parameters) {
366
364
  filter: function(searchTerm) {
367
365
  var
368
366
  $results = $(),
369
- exactRegExp = new RegExp('^' + searchTerm, 'igm'),
370
- fullTextRegExp = new RegExp(searchTerm, 'ig'),
367
+ escapedTerm = module.escape.regExp(searchTerm),
368
+ exactRegExp = new RegExp('^' + escapedTerm, 'igm'),
369
+ fullTextRegExp = new RegExp(escapedTerm, 'ig'),
371
370
  allItemsFiltered
372
371
  ;
373
372
  module.verbose('Searching for matching values');
@@ -375,8 +374,8 @@ $.fn.dropdown = function(parameters) {
375
374
  .each(function(){
376
375
  var
377
376
  $choice = $(this),
378
- text = module.get.choiceText($choice, false),
379
- value = module.get.choiceValue($choice, text)
377
+ text = String(module.get.choiceText($choice, false)),
378
+ value = String(module.get.choiceValue($choice, text))
380
379
  ;
381
380
  if( text.match(exactRegExp) || value.match(exactRegExp) ) {
382
381
  $results = $results.add($choice);
@@ -405,8 +404,10 @@ $.fn.dropdown = function(parameters) {
405
404
  ;
406
405
  if( module.is.allFiltered() ) {
407
406
  module.debug('All items filtered, hiding dropdown', searchTerm);
408
- module.hide();
409
- $.proxy(settings.onNoResults, element)(searchTerm);
407
+ if(module.is.searchSelection()) {
408
+ module.hide();
409
+ }
410
+ settings.onNoResults.call(element, searchTerm);
410
411
  }
411
412
  },
412
413
 
@@ -451,8 +452,14 @@ $.fn.dropdown = function(parameters) {
451
452
  module.hide();
452
453
  }
453
454
  },
455
+ searchTextFocus: function(event) {
456
+ activated = true;
457
+ $search.focus();
458
+ },
454
459
  input: function(event) {
455
- module.set.filtered();
460
+ if(module.is.searchSelection()) {
461
+ module.set.filtered();
462
+ }
456
463
  clearTimeout(module.timer);
457
464
  module.timer = setTimeout(module.search, settings.delay.search);
458
465
  },
@@ -469,14 +476,14 @@ $.fn.dropdown = function(parameters) {
469
476
  },
470
477
  selectedClass = className.selected,
471
478
  currentIndex = $visibleItems.index( $selectedItem ),
472
- hasSelectedItem = ($selectedItem.size() > 0),
479
+ hasSelectedItem = ($selectedItem.length > 0),
473
480
  $nextItem,
474
481
  newIndex
475
482
  ;
476
483
  // default to activated choice if no selection present
477
484
  if(!hasSelectedItem) {
478
485
  $selectedItem = $item.filter('.' + className.active).eq(0);
479
- hasSelectedItem = ($selectedItem.size() > 0);
486
+ hasSelectedItem = ($selectedItem.length > 0);
480
487
  }
481
488
  // close shortcuts
482
489
  if(pressedKey == keys.escape) {
@@ -492,7 +499,7 @@ $.fn.dropdown = function(parameters) {
492
499
  if(module.is.visible()) {
493
500
  if(pressedKey == keys.enter && hasSelectedItem) {
494
501
  module.verbose('Enter key pressed, choosing selected item');
495
- $.proxy(module.event.item.click, $selectedItem)(event);
502
+ module.event.item.click.call($selectedItem, event);
496
503
  event.preventDefault();
497
504
  return false;
498
505
  }
@@ -522,7 +529,7 @@ $.fn.dropdown = function(parameters) {
522
529
  else {
523
530
  $nextItem = $selectedItem.nextAll(selector.item + ':not(.' + className.filtered + ')').eq(0);
524
531
  }
525
- if(currentIndex + 1 < $visibleItems.size() ) {
532
+ if(currentIndex + 1 < $visibleItems.length ) {
526
533
  module.verbose('Down key pressed, changing active item');
527
534
  $item
528
535
  .removeClass(selectedClass)
@@ -577,7 +584,7 @@ $.fn.dropdown = function(parameters) {
577
584
  $currentMenu = $(this).children(selector.menu),
578
585
  $otherMenus = $(this).siblings(selector.item).children(selector.menu)
579
586
  ;
580
- if( $currentMenu.size() > 0 ) {
587
+ if( $currentMenu.length > 0 ) {
581
588
  clearTimeout(module.itemTimer);
582
589
  module.itemTimer = setTimeout(function() {
583
590
  $.each($otherMenus, function() {
@@ -594,7 +601,7 @@ $.fn.dropdown = function(parameters) {
594
601
  var
595
602
  $currentMenu = $(this).children(selector.menu)
596
603
  ;
597
- if($currentMenu.size() > 0) {
604
+ if($currentMenu.length > 0) {
598
605
  clearTimeout(module.itemTimer);
599
606
  module.itemTimer = setTimeout(function() {
600
607
  module.verbose('Hiding sub-menu', $currentMenu);
@@ -614,8 +621,8 @@ $.fn.dropdown = function(parameters) {
614
621
  module.remove.searchTerm();
615
622
  module.determine.selectAction(text, value);
616
623
  },
617
- openingSubMenu = ($subMenu.size() > 0),
618
- isSubItem = ($subMenu.find($target).size() > 0)
624
+ openingSubMenu = ($subMenu.length > 0),
625
+ isSubItem = ($subMenu.find($target).length > 0)
619
626
  ;
620
627
  if(isSubItem) {
621
628
  return false;
@@ -653,7 +660,7 @@ $.fn.dropdown = function(parameters) {
653
660
  ? callback
654
661
  : function(){}
655
662
  ;
656
- if( $(event.target).closest($module).size() === 0 ) {
663
+ if( $(event.target).closest($module).length === 0 ) {
657
664
  module.verbose('Triggering event', callback);
658
665
  callback();
659
666
  return true;
@@ -668,7 +675,7 @@ $.fn.dropdown = function(parameters) {
668
675
  ? callback
669
676
  : function(){}
670
677
  ;
671
- if( $(event.target).closest($menu).size() === 0 ) {
678
+ if( $(event.target).closest($menu).length === 0 ) {
672
679
  module.verbose('Triggering event', callback);
673
680
  callback();
674
681
  return true;
@@ -733,7 +740,7 @@ $.fn.dropdown = function(parameters) {
733
740
  return $text.text();
734
741
  },
735
742
  value: function() {
736
- return ($input.size() > 0)
743
+ return ($input.length > 0)
737
744
  ? $input.val()
738
745
  : $module.data(metadata.value)
739
746
  ;
@@ -744,7 +751,7 @@ $.fn.dropdown = function(parameters) {
744
751
  : settings.preserveHTML
745
752
  ;
746
753
  if($choice !== undefined) {
747
- if($choice.find(selector.menu).size() > 0) {
754
+ if($choice.find(selector.menu).length > 0) {
748
755
  module.verbose('Retreiving text of element with sub-menu');
749
756
  $choice = $choice.clone();
750
757
  $choice.find(selector.menu).remove();
@@ -753,8 +760,8 @@ $.fn.dropdown = function(parameters) {
753
760
  return ($choice.data(metadata.text) !== undefined)
754
761
  ? $choice.data(metadata.text)
755
762
  : (preserveHTML)
756
- ? $choice.html()
757
- : $choice.text()
763
+ ? $choice.html().trim()
764
+ : $choice.text().trim()
758
765
  ;
759
766
  }
760
767
  },
@@ -763,8 +770,8 @@ $.fn.dropdown = function(parameters) {
763
770
  return ($choice.data(metadata.value) !== undefined)
764
771
  ? $choice.data(metadata.value)
765
772
  : (typeof choiceText === 'string')
766
- ? choiceText.toLowerCase()
767
- : choiceText
773
+ ? choiceText.toLowerCase().trim()
774
+ : choiceText.trim()
768
775
  ;
769
776
  },
770
777
  inputEvent: function() {
@@ -893,6 +900,7 @@ $.fn.dropdown = function(parameters) {
893
900
  ;
894
901
  module.debug('Restoring default text', defaultText);
895
902
  module.set.text(defaultText);
903
+ $text.addClass(settings.className.placeholder);
896
904
  },
897
905
  defaultValue: function() {
898
906
  var
@@ -900,8 +908,14 @@ $.fn.dropdown = function(parameters) {
900
908
  ;
901
909
  if(defaultValue !== undefined) {
902
910
  module.debug('Restoring default value', defaultValue);
903
- module.set.selected(defaultValue);
904
- module.set.value(defaultValue);
911
+ if(defaultValue.length) {
912
+ module.set.selected(defaultValue);
913
+ module.set.value(defaultValue);
914
+ }
915
+ else {
916
+ module.remove.activeItem();
917
+ module.remove.selectedItem();
918
+ }
905
919
  }
906
920
  }
907
921
  },
@@ -970,7 +984,7 @@ $.fn.dropdown = function(parameters) {
970
984
  ;
971
985
 
972
986
  $item = $item || module.get.activeItem();
973
- hasActive = ($item && $item.size() > 0);
987
+ hasActive = ($item && $item.length > 0);
974
988
  forceScroll = (forceScroll !== undefined)
975
989
  ? forceScroll
976
990
  : false
@@ -1025,7 +1039,7 @@ $.fn.dropdown = function(parameters) {
1025
1039
  },
1026
1040
  value: function(value) {
1027
1041
  module.debug('Adding selected value to hidden input', value, $input);
1028
- if($input.size() > 0) {
1042
+ if($input.length > 0) {
1029
1043
  $input
1030
1044
  .val(value)
1031
1045
  .trigger('change')
@@ -1060,7 +1074,7 @@ $.fn.dropdown = function(parameters) {
1060
1074
 
1061
1075
  selectedText = module.get.choiceText($selectedItem);
1062
1076
  module.set.text(selectedText);
1063
- $.proxy(settings.onChange, element)(value, selectedText, $selectedItem);
1077
+ settings.onChange.call(element, value, selectedText, $selectedItem);
1064
1078
  }
1065
1079
  }
1066
1080
  },
@@ -1117,7 +1131,7 @@ $.fn.dropdown = function(parameters) {
1117
1131
  ;
1118
1132
  },
1119
1133
  allFiltered: function() {
1120
- return ($item.filter('.' + className.filtered).size() === $item.size());
1134
+ return ($item.filter('.' + className.filtered).length === $item.length);
1121
1135
  },
1122
1136
  hidden: function($subMenu) {
1123
1137
  return ($subMenu)
@@ -1129,7 +1143,7 @@ $.fn.dropdown = function(parameters) {
1129
1143
  return $module.hasClass(className.search);
1130
1144
  },
1131
1145
  searchable: function() {
1132
- return ($search.size() > 0);
1146
+ return ($search.length > 0);
1133
1147
  },
1134
1148
  searchSelection: function() {
1135
1149
  return ( module.is.searchable() && $search.parent().is($module) );
@@ -1137,6 +1151,9 @@ $.fn.dropdown = function(parameters) {
1137
1151
  selection: function() {
1138
1152
  return $module.hasClass(className.selection);
1139
1153
  },
1154
+ upward: function() {
1155
+ return $module.hasClass(className.upward);
1156
+ },
1140
1157
  visible: function($subMenu) {
1141
1158
  return ($subMenu)
1142
1159
  ? $subMenu.is(':visible')
@@ -1173,8 +1190,16 @@ $.fn.dropdown = function(parameters) {
1173
1190
  module.set.scrollPosition(module.get.activeItem(), true);
1174
1191
  module.verbose('Doing menu show animation', $currentMenu);
1175
1192
  if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
1193
+
1194
+ if(settings.transition == 'auto') {
1195
+ settings.transition = module.is.upward()
1196
+ ? 'slide up'
1197
+ : 'slide down'
1198
+ ;
1199
+ }
1200
+
1176
1201
  if(settings.transition == 'none') {
1177
- $.proxy(callback, element)();
1202
+ callback.call(element);
1178
1203
  }
1179
1204
  else if($.fn.transition !== undefined && $module.transition('is supported')) {
1180
1205
  $currentMenu
@@ -1186,7 +1211,7 @@ $.fn.dropdown = function(parameters) {
1186
1211
  queue : true,
1187
1212
  onStart : start,
1188
1213
  onComplete : function() {
1189
- $.proxy(callback, element)();
1214
+ callback.call(element);
1190
1215
  }
1191
1216
  })
1192
1217
  ;
@@ -1205,8 +1230,8 @@ $.fn.dropdown = function(parameters) {
1205
1230
  }, settings.duration, 'easeOutQuad', module.event.resetStyle)
1206
1231
  .end()
1207
1232
  .slideDown(100, 'easeOutQuad', function() {
1208
- $.proxy(module.event.resetStyle, this)();
1209
- $.proxy(callback, element)();
1233
+ module.event.resetStyle.call(this);
1234
+ callback.call(element);
1210
1235
  })
1211
1236
  ;
1212
1237
  }
@@ -1216,8 +1241,8 @@ $.fn.dropdown = function(parameters) {
1216
1241
  .hide()
1217
1242
  .clearQueue()
1218
1243
  .fadeIn(settings.duration, function() {
1219
- $.proxy(module.event.resetStyle, this)();
1220
- $.proxy(callback, element)();
1244
+ module.event.resetStyle.call(this);
1245
+ callback.call(element);
1221
1246
  })
1222
1247
  ;
1223
1248
  }
@@ -1249,8 +1274,15 @@ $.fn.dropdown = function(parameters) {
1249
1274
  if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {
1250
1275
  module.verbose('Doing menu hide animation', $currentMenu);
1251
1276
 
1277
+ if(settings.transition == 'auto') {
1278
+ settings.transition = module.is.upward()
1279
+ ? 'slide up'
1280
+ : 'slide down'
1281
+ ;
1282
+ }
1283
+
1252
1284
  if(settings.transition == 'none') {
1253
- $.proxy(callback, element)();
1285
+ callback.call(element);
1254
1286
  }
1255
1287
  else if($.fn.transition !== undefined && $module.transition('is supported')) {
1256
1288
  $currentMenu
@@ -1262,7 +1294,7 @@ $.fn.dropdown = function(parameters) {
1262
1294
  queue : true,
1263
1295
  onStart : start,
1264
1296
  onComplete : function() {
1265
- $.proxy(callback, element)();
1297
+ callback.call(element);
1266
1298
  }
1267
1299
  })
1268
1300
  ;
@@ -1281,8 +1313,8 @@ $.fn.dropdown = function(parameters) {
1281
1313
  .end()
1282
1314
  .delay(50)
1283
1315
  .slideUp(100, 'easeOutQuad', function() {
1284
- $.proxy(module.event.resetStyle, this)();
1285
- $.proxy(callback, element)();
1316
+ module.event.resetStyle.call(this);
1317
+ callback.call(element);
1286
1318
  })
1287
1319
  ;
1288
1320
  }
@@ -1292,8 +1324,8 @@ $.fn.dropdown = function(parameters) {
1292
1324
  .show()
1293
1325
  .clearQueue()
1294
1326
  .fadeOut(150, function() {
1295
- $.proxy(module.event.resetStyle, this)();
1296
- $.proxy(callback, element)();
1327
+ module.event.resetStyle.call(this);
1328
+ callback.call(element);
1297
1329
  })
1298
1330
  ;
1299
1331
  }
@@ -1317,6 +1349,13 @@ $.fn.dropdown = function(parameters) {
1317
1349
  }
1318
1350
  },
1319
1351
 
1352
+ escape: {
1353
+ regExp: function(text) {
1354
+ text = String(text);
1355
+ return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
1356
+ }
1357
+ },
1358
+
1320
1359
  setting: function(name, value) {
1321
1360
  module.debug('Changing setting', name, value);
1322
1361
  if( $.isPlainObject(name) ) {
@@ -1517,7 +1556,7 @@ $.fn.dropdown.settings = {
1517
1556
  touch : 50
1518
1557
  },
1519
1558
 
1520
- transition : 'slide down',
1559
+ transition : 'auto',
1521
1560
  duration : 250,
1522
1561
 
1523
1562
  /* Callbacks */
@@ -1566,6 +1605,7 @@ $.fn.dropdown.settings = {
1566
1605
  search : 'search',
1567
1606
  selected : 'selected',
1568
1607
  selection : 'selection',
1608
+ upward : 'upward',
1569
1609
  visible : 'visible'
1570
1610
  }
1571
1611
 
@@ -1615,4 +1655,4 @@ $.extend( $.easing, {
1615
1655
  });
1616
1656
 
1617
1657
 
1618
- })( jQuery, window , document );
1658
+ })( jQuery, window , document );