fomantic-ui-sass 2.8.6 → 2.8.7

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/app/assets/fonts/semantic-ui/brand-icons.eot +0 -0
  4. data/app/assets/fonts/semantic-ui/brand-icons.svg +6 -41
  5. data/app/assets/fonts/semantic-ui/brand-icons.ttf +0 -0
  6. data/app/assets/fonts/semantic-ui/brand-icons.woff +0 -0
  7. data/app/assets/fonts/semantic-ui/brand-icons.woff2 +0 -0
  8. data/app/assets/fonts/semantic-ui/icons.eot +0 -0
  9. data/app/assets/fonts/semantic-ui/icons.svg +7 -245
  10. data/app/assets/fonts/semantic-ui/icons.ttf +0 -0
  11. data/app/assets/fonts/semantic-ui/icons.woff +0 -0
  12. data/app/assets/fonts/semantic-ui/icons.woff2 +0 -0
  13. data/app/assets/fonts/semantic-ui/outline-icons.eot +0 -0
  14. data/app/assets/fonts/semantic-ui/outline-icons.svg +2 -2
  15. data/app/assets/fonts/semantic-ui/outline-icons.ttf +0 -0
  16. data/app/assets/fonts/semantic-ui/outline-icons.woff +0 -0
  17. data/app/assets/fonts/semantic-ui/outline-icons.woff2 +0 -0
  18. data/app/assets/javascripts/semantic-ui/calendar.js +144 -18
  19. data/app/assets/javascripts/semantic-ui/checkbox.js +1 -1
  20. data/app/assets/javascripts/semantic-ui/dimmer.js +3 -3
  21. data/app/assets/javascripts/semantic-ui/dropdown.js +52 -16
  22. data/app/assets/javascripts/semantic-ui/form.js +34 -8
  23. data/app/assets/javascripts/semantic-ui/progress.js +20 -24
  24. data/app/assets/javascripts/semantic-ui/search.js +1 -0
  25. data/app/assets/javascripts/semantic-ui/slider.js +2 -2
  26. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +23 -69
  27. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +8 -7
  28. data/app/assets/stylesheets/semantic-ui/collections/_message.scss +4 -4
  29. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +3 -3
  30. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +1 -1
  31. data/app/assets/stylesheets/semantic-ui/elements/_header.scss +8 -8
  32. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +7 -1
  33. data/app/assets/stylesheets/semantic-ui/elements/_image.scss +33 -4
  34. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +32 -32
  35. data/app/assets/stylesheets/semantic-ui/elements/_list.scss +12 -12
  36. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +6 -0
  37. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +9 -9
  38. data/app/assets/stylesheets/semantic-ui/elements/_text.scss +12 -0
  39. data/app/assets/stylesheets/semantic-ui/modules/_calendar.scss +16 -9
  40. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +14 -14
  41. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +108 -25
  42. data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +6 -6
  43. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +3 -3
  44. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +2 -0
  45. data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +2 -1
  46. data/app/assets/stylesheets/semantic-ui/modules/_slider.scss +9 -0
  47. data/app/assets/stylesheets/semantic-ui/modules/_toast.scss +7 -7
  48. data/app/assets/stylesheets/semantic-ui/views/_card.scss +1 -1
  49. data/app/assets/stylesheets/semantic-ui/views/_feed.scss +5 -5
  50. data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +4 -4
  51. data/lib/fomantic/ui/sass/version.rb +2 -2
  52. metadata +5 -5
@@ -42,7 +42,8 @@ $.fn.calendar = function(parameters) {
42
42
  '15': {'row': 2, 'column': 2 },
43
43
  '20': {'row': 3, 'column': 1 },
44
44
  '30': {'row': 2, 'column': 1 }
45
- }
45
+ },
46
+ numberText = ['','one','two','three','four','five','six','seven','eight']
46
47
  ;
47
48
 
48
49
  $allModules
@@ -74,7 +75,10 @@ $.fn.calendar = function(parameters) {
74
75
 
75
76
  isTouch,
76
77
  isTouchDown = false,
78
+ isInverted = $module.hasClass(className.inverted),
77
79
  focusDateUsedForRange = false,
80
+ selectionComplete = false,
81
+ classObserver,
78
82
  module
79
83
  ;
80
84
 
@@ -92,6 +96,7 @@ $.fn.calendar = function(parameters) {
92
96
  module.create.calendar();
93
97
 
94
98
  module.bind.events();
99
+ module.observeChanges();
95
100
  module.instantiate();
96
101
  },
97
102
 
@@ -105,6 +110,7 @@ $.fn.calendar = function(parameters) {
105
110
  module.verbose('Destroying previous calendar for', element);
106
111
  $module.removeData(moduleNamespace);
107
112
  module.unbind.events();
113
+ module.disconnect.classObserver();
108
114
  },
109
115
 
110
116
  setup: {
@@ -140,12 +146,19 @@ $.fn.calendar = function(parameters) {
140
146
  $container = $('<div/>').addClass(className.popup)[domPositionFunction]($activatorParent);
141
147
  }
142
148
  $container.addClass(className.calendar);
143
- var onVisible = settings.onVisible;
149
+ if(isInverted){
150
+ $container.addClass(className.inverted);
151
+ }
152
+ var onVisible = function () {
153
+ module.refreshTooltips();
154
+ return settings.onVisible.apply($container, arguments);
155
+ };
144
156
  var onHidden = settings.onHidden;
145
157
  if (!$input.length) {
146
158
  //no input, $container has to handle focus/blur
147
159
  $container.attr('tabindex', '0');
148
160
  onVisible = function () {
161
+ module.refreshTooltips();
149
162
  module.focus();
150
163
  return settings.onVisible.apply($container, arguments);
151
164
  };
@@ -157,7 +170,7 @@ $.fn.calendar = function(parameters) {
157
170
  var onShow = function () {
158
171
  //reset the focus date onShow
159
172
  module.set.focusDate(module.get.date());
160
- module.set.mode(settings.startMode);
173
+ module.set.mode(module.get.validatedMode(settings.startMode));
161
174
  return settings.onShow.apply($container, arguments);
162
175
  };
163
176
  var on = module.setting('on');
@@ -177,6 +190,7 @@ $.fn.calendar = function(parameters) {
177
190
  if ($activator.length && !settings.inline) {
178
191
  return;
179
192
  }
193
+ settings.inline = true;
180
194
  $container = $('<div/>').addClass(className.calendar).appendTo($module);
181
195
  if (!$input.length) {
182
196
  $container.attr('tabindex', '0');
@@ -186,6 +200,7 @@ $.fn.calendar = function(parameters) {
186
200
  if (settings.touchReadonly && $input.length && isTouch) {
187
201
  $input.prop('readonly', true);
188
202
  }
203
+ module.check.disabled();
189
204
  },
190
205
  date: function () {
191
206
  var date;
@@ -197,6 +212,21 @@ $.fn.calendar = function(parameters) {
197
212
  date = parser.date($input.val(), settings);
198
213
  }
199
214
  module.set.date(date, settings.formatInput, false);
215
+ module.set.mode(module.get.mode(), false);
216
+ }
217
+ },
218
+
219
+ trigger: {
220
+ change: function() {
221
+ var
222
+ inputElement = $input[0]
223
+ ;
224
+ if(inputElement) {
225
+ var events = document.createEvent('HTMLEvents');
226
+ module.verbose('Triggering native change event');
227
+ events.initEvent('change', true, false);
228
+ inputElement.dispatchEvent(events);
229
+ }
200
230
  }
201
231
  },
202
232
 
@@ -278,7 +308,10 @@ $.fn.calendar = function(parameters) {
278
308
  if (isDay && settings.showWeekNumbers){
279
309
  tempMode += ' andweek';
280
310
  }
281
- var table = $('<table/>').addClass(className.table).addClass(tempMode).appendTo(container);
311
+ var table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column').appendTo(container);
312
+ if(isInverted){
313
+ table.addClass(className.inverted);
314
+ }
282
315
  var textColumns = columns;
283
316
  //no header for time-only mode
284
317
  if (!isTimeOnly) {
@@ -348,7 +381,13 @@ $.fn.calendar = function(parameters) {
348
381
  var disabledDate = module.helper.findDayAsObject(cellDate, mode, settings.disabledDates);
349
382
  if (disabledDate !== null && disabledDate[metadata.message]) {
350
383
  cell.attr("data-tooltip", disabledDate[metadata.message]);
351
- cell.attr("data-position", tooltipPosition);
384
+ cell.attr("data-position", disabledDate[metadata.position] || tooltipPosition);
385
+ if(disabledDate[metadata.inverted] || (isInverted && disabledDate[metadata.inverted] === undefined)) {
386
+ cell.attr("data-inverted", '');
387
+ }
388
+ if(disabledDate[metadata.variation]) {
389
+ cell.attr("data-variation", disabledDate[metadata.variation]);
390
+ }
352
391
  }
353
392
  } else {
354
393
  var eventDate = module.helper.findDayAsObject(cellDate, mode, settings.eventDates);
@@ -356,7 +395,13 @@ $.fn.calendar = function(parameters) {
356
395
  cell.addClass(eventDate[metadata.class] || settings.eventClass);
357
396
  if (eventDate[metadata.message]) {
358
397
  cell.attr("data-tooltip", eventDate[metadata.message]);
359
- cell.attr("data-position", tooltipPosition);
398
+ cell.attr("data-position", eventDate[metadata.position] || tooltipPosition);
399
+ if(eventDate[metadata.inverted] || (isInverted && eventDate[metadata.inverted] === undefined)) {
400
+ cell.attr("data-inverted", '');
401
+ }
402
+ if(eventDate[metadata.variation]) {
403
+ cell.attr("data-variation", eventDate[metadata.variation]);
404
+ }
360
405
  }
361
406
  }
362
407
  }
@@ -395,6 +440,10 @@ $.fn.calendar = function(parameters) {
395
440
  }
396
441
 
397
442
  module.update.focus(false, table);
443
+
444
+ if(settings.inline){
445
+ module.refreshTooltips();
446
+ }
398
447
  }
399
448
  }
400
449
  },
@@ -436,6 +485,20 @@ $.fn.calendar = function(parameters) {
436
485
  module.create.calendar();
437
486
  },
438
487
 
488
+ refreshTooltips: function() {
489
+ var winWidth = $(window).width();
490
+ $container.find('td[data-position]').each(function () {
491
+ var cell = $(this);
492
+ var tooltipWidth = window.getComputedStyle(cell[0], ':after').width.replace(/[^0-9\.]/g,'');
493
+ var tooltipPosition = cell.attr('data-position');
494
+ // use a fallback width of 250 (calendar width) for IE/Edge (which return "auto")
495
+ var calcPosition = (winWidth - cell.width() - (parseInt(tooltipWidth,10) || 250)) > cell.offset().left ? 'right' : 'left';
496
+ if(tooltipPosition.indexOf(calcPosition) === -1) {
497
+ cell.attr('data-position',tooltipPosition.replace(/(left|right)/,calcPosition));
498
+ }
499
+ });
500
+ },
501
+
439
502
  bind: {
440
503
  events: function () {
441
504
  module.debug('Binding events');
@@ -576,6 +639,57 @@ $.fn.calendar = function(parameters) {
576
639
  var text = formatter.datetime(date, settings);
577
640
  $input.val(text);
578
641
  }
642
+ if(selectionComplete){
643
+ module.trigger.change();
644
+ selectionComplete = false;
645
+ }
646
+ },
647
+ class: {
648
+ mutation: function(mutations) {
649
+ mutations.forEach(function(mutation) {
650
+ if(mutation.attributeName === "class") {
651
+ module.check.disabled();
652
+ }
653
+ });
654
+ }
655
+ }
656
+ },
657
+
658
+ observeChanges: function() {
659
+ if('MutationObserver' in window) {
660
+ classObserver = new MutationObserver(module.event.class.mutation);
661
+ module.debug('Setting up mutation observer', classObserver);
662
+ module.observe.class();
663
+ }
664
+ },
665
+
666
+ disconnect: {
667
+ classObserver: function() {
668
+ if($input.length && classObserver) {
669
+ classObserver.disconnect();
670
+ }
671
+ }
672
+ },
673
+
674
+ observe: {
675
+ class: function() {
676
+ if($input.length && classObserver) {
677
+ classObserver.observe($module[0], {
678
+ attributes : true
679
+ });
680
+ }
681
+ }
682
+ },
683
+
684
+ is: {
685
+ disabled: function() {
686
+ return $module.hasClass(className.disabled);
687
+ }
688
+ },
689
+
690
+ check: {
691
+ disabled: function(){
692
+ $input.attr('tabindex',module.is.disabled() ? -1 : 0);
579
693
  }
580
694
  },
581
695
 
@@ -622,6 +736,9 @@ $.fn.calendar = function(parameters) {
622
736
  mode: function () {
623
737
  //only returns valid modes for the current settings
624
738
  var mode = $module.data(metadata.mode) || settings.startMode;
739
+ return module.get.validatedMode(mode);
740
+ },
741
+ validatedMode: function(mode){
625
742
  var validModes = module.get.validModes();
626
743
  if ($.inArray(mode, validModes) >= 0) {
627
744
  return mode;
@@ -739,7 +856,7 @@ $.fn.calendar = function(parameters) {
739
856
  module.set.monthOffset(monthOffset, false);
740
857
  }
741
858
  }
742
- var changed = module.set.dataKeyValue(metadata.focusDate, date, refreshCalendar);
859
+ var changed = module.set.dataKeyValue(metadata.focusDate, date, !!date && refreshCalendar);
743
860
  updateFocus = (updateFocus !== false && changed && refreshCalendar === false) || focusDateUsedForRange != updateRange;
744
861
  focusDateUsedForRange = updateRange;
745
862
  if (updateFocus) {
@@ -798,15 +915,18 @@ $.fn.calendar = function(parameters) {
798
915
  (settings.type === 'year' && mode === 'year');
799
916
  if (complete) {
800
917
  var canceled = module.set.date(date) === false;
801
- if (!canceled && settings.closable) {
802
- module.popup('hide');
803
- //if this is a range calendar, focus the container or input. This will open the popup from its event listeners.
804
- var endModule = module.get.calendarModule(settings.endCalendar);
805
- if (endModule) {
806
- if (endModule.setting('on') !== 'focus') {
807
- endModule.popup('show');
918
+ if (!canceled) {
919
+ selectionComplete = true;
920
+ if(settings.closable) {
921
+ module.popup('hide');
922
+ //if this is a range calendar, focus the container or input. This will open the popup from its event listeners.
923
+ var endModule = module.get.calendarModule(settings.endCalendar);
924
+ if (endModule) {
925
+ if (endModule.setting('on') !== 'focus') {
926
+ endModule.popup('show');
927
+ }
928
+ endModule.focus();
808
929
  }
809
- endModule.focus();
810
930
  }
811
931
  }
812
932
  } else {
@@ -1348,12 +1468,13 @@ $.fn.calendar.settings = {
1348
1468
  return null;
1349
1469
  }
1350
1470
  if(text.match(/^[0-9]{4}[\/\-\.][0-9]{2}[\/\-\.][0-9]{2}$/)){
1351
- text += ' 00:00:00';
1471
+ text = text.replace(/[\/\-\.]/g,'/') + ' 00:00:00';
1352
1472
  }
1353
1473
  // Reverse date and month in some cases
1354
1474
  text = settings.monthFirst || !text.match(/^[0-9]{2}[\/\-\.]/) ? text : text.replace(/[\/\-\.]/g,'/').replace(/([0-9]+)\/([0-9]+)/,'$2/$1');
1355
1475
  var textDate = new Date(text);
1356
- if(!isNaN(textDate.getDate())) {
1476
+ var numberOnly = text.match(/^[0-9]+$/) !== null;
1477
+ if(!numberOnly && !isNaN(textDate.getDate())) {
1357
1478
  return textDate;
1358
1479
  }
1359
1480
  text = text.toLowerCase();
@@ -1610,6 +1731,7 @@ $.fn.calendar.settings = {
1610
1731
  grid: 'ui equal width grid',
1611
1732
  column: 'column',
1612
1733
  table: 'ui celled center aligned unstackable table',
1734
+ inverted: 'inverted',
1613
1735
  prev: 'prev link',
1614
1736
  next: 'next link',
1615
1737
  prevIcon: 'chevron left icon',
@@ -1623,7 +1745,8 @@ $.fn.calendar.settings = {
1623
1745
  rangeCell: 'range',
1624
1746
  focusCell: 'focus',
1625
1747
  todayCell: 'today',
1626
- today: 'today link'
1748
+ today: 'today link',
1749
+ disabled: 'disabled'
1627
1750
  },
1628
1751
 
1629
1752
  metadata: {
@@ -1638,6 +1761,9 @@ $.fn.calendar.settings = {
1638
1761
  monthOffset: 'monthOffset',
1639
1762
  message: 'message',
1640
1763
  class: 'class',
1764
+ inverted: 'inverted',
1765
+ variation: 'variation',
1766
+ position: 'position',
1641
1767
  month: 'month',
1642
1768
  year: 'year'
1643
1769
  },
@@ -556,10 +556,10 @@ $.fn.checkbox = function(parameters) {
556
556
  trigger: {
557
557
  change: function() {
558
558
  var
559
- events = document.createEvent('HTMLEvents'),
560
559
  inputElement = $input[0]
561
560
  ;
562
561
  if(inputElement) {
562
+ var events = document.createEvent('HTMLEvents');
563
563
  module.verbose('Triggering native change event');
564
564
  events.initEvent('change', true, false);
565
565
  inputElement.dispatchEvent(events);
@@ -408,11 +408,11 @@ $.fn.dimmer = function(parameters) {
408
408
  var
409
409
  color = $dimmer.css('background-color'),
410
410
  colorArray = color.split(','),
411
- isRGB = (colorArray && colorArray.length == 3),
412
- isRGBA = (colorArray && colorArray.length == 4)
411
+ isRGB = (colorArray && colorArray.length >= 3)
413
412
  ;
414
413
  opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
415
- if(isRGB || isRGBA) {
414
+ if(isRGB) {
415
+ colorArray[2] = colorArray[2].replace(')','');
416
416
  colorArray[3] = opacity + ')';
417
417
  color = colorArray.join(',');
418
418
  }
@@ -97,6 +97,7 @@ $.fn.dropdown = function(parameters) {
97
97
  id,
98
98
  selectObserver,
99
99
  menuObserver,
100
+ classObserver,
100
101
  module
101
102
  ;
102
103
 
@@ -162,15 +163,18 @@ $.fn.dropdown = function(parameters) {
162
163
  ;
163
164
  module.disconnect.menuObserver();
164
165
  module.disconnect.selectObserver();
166
+ module.disconnect.classObserver();
165
167
  },
166
168
 
167
169
  observeChanges: function() {
168
170
  if('MutationObserver' in window) {
169
171
  selectObserver = new MutationObserver(module.event.select.mutation);
170
172
  menuObserver = new MutationObserver(module.event.menu.mutation);
171
- module.debug('Setting up mutation observer', selectObserver, menuObserver);
173
+ classObserver = new MutationObserver(module.event.class.mutation);
174
+ module.debug('Setting up mutation observer', selectObserver, menuObserver, classObserver);
172
175
  module.observe.select();
173
176
  module.observe.menu();
177
+ module.observe.class();
174
178
  }
175
179
  },
176
180
 
@@ -184,6 +188,11 @@ $.fn.dropdown = function(parameters) {
184
188
  if(selectObserver) {
185
189
  selectObserver.disconnect();
186
190
  }
191
+ },
192
+ classObserver: function() {
193
+ if(classObserver) {
194
+ classObserver.disconnect();
195
+ }
187
196
  }
188
197
  },
189
198
  observe: {
@@ -202,6 +211,13 @@ $.fn.dropdown = function(parameters) {
202
211
  subtree : true
203
212
  });
204
213
  }
214
+ },
215
+ class: function() {
216
+ if(module.has.search() && classObserver) {
217
+ classObserver.observe($module[0], {
218
+ attributes : true
219
+ });
220
+ }
205
221
  }
206
222
  },
207
223
 
@@ -794,9 +810,9 @@ $.fn.dropdown = function(parameters) {
794
810
  values = [];
795
811
  }
796
812
  module.remove.message();
797
- module.setup.menu({
798
- values: values
799
- });
813
+ var menuConfig = {};
814
+ menuConfig[fields.values] = values;
815
+ module.setup.menu(menuConfig);
800
816
 
801
817
  if(values.length===0 && !settings.allowAdditions) {
802
818
  module.add.message(message.noResults);
@@ -992,7 +1008,9 @@ $.fn.dropdown = function(parameters) {
992
1008
  module.clear();
993
1009
  }
994
1010
  module.debug('Creating dropdown with specified values', values);
995
- module.setup.menu({values: values});
1011
+ var menuConfig = {};
1012
+ menuConfig[fields.values] = values;
1013
+ module.setup.menu(menuConfig);
996
1014
  $.each(values, function(index, item) {
997
1015
  if(item.selected == true) {
998
1016
  module.debug('Setting initial selection to', item[fields.value]);
@@ -1216,6 +1234,15 @@ $.fn.dropdown = function(parameters) {
1216
1234
  }
1217
1235
  }
1218
1236
  },
1237
+ class: {
1238
+ mutation: function(mutations) {
1239
+ mutations.forEach(function(mutation) {
1240
+ if(mutation.attributeName === "class") {
1241
+ module.check.disabled();
1242
+ }
1243
+ });
1244
+ }
1245
+ },
1219
1246
  select: {
1220
1247
  mutation: function(mutations) {
1221
1248
  module.debug('<select> modified, recreating menu');
@@ -1637,10 +1664,10 @@ $.fn.dropdown = function(parameters) {
1637
1664
  trigger: {
1638
1665
  change: function() {
1639
1666
  var
1640
- events = document.createEvent('HTMLEvents'),
1641
1667
  inputElement = $input[0]
1642
1668
  ;
1643
1669
  if(inputElement) {
1670
+ var events = document.createEvent('HTMLEvents');
1644
1671
  module.verbose('Triggering native change event');
1645
1672
  events.initEvent('change', true, false);
1646
1673
  inputElement.dispatchEvent(events);
@@ -1772,7 +1799,7 @@ $.fn.dropdown = function(parameters) {
1772
1799
  return $module.data(metadata.placeholderText) || '';
1773
1800
  },
1774
1801
  text: function() {
1775
- return $text.text();
1802
+ return settings.preserveHTML ? $text.html() : $text.text();
1776
1803
  },
1777
1804
  query: function() {
1778
1805
  return String($search.val()).trim();
@@ -1956,9 +1983,9 @@ $.fn.dropdown = function(parameters) {
1956
1983
  selectValues: function() {
1957
1984
  var
1958
1985
  select = {},
1959
- oldGroup = []
1986
+ oldGroup = [],
1987
+ values = []
1960
1988
  ;
1961
- select.values = [];
1962
1989
  $module
1963
1990
  .find('option')
1964
1991
  .each(function() {
@@ -1979,14 +2006,14 @@ $.fn.dropdown = function(parameters) {
1979
2006
  }
1980
2007
  else {
1981
2008
  if(group.length !== oldGroup.length || group[0] !== oldGroup[0]) {
1982
- select.values.push({
2009
+ values.push({
1983
2010
  type: 'header',
1984
2011
  divider: settings.headerDivider,
1985
2012
  name: group.attr('label') || ''
1986
2013
  });
1987
2014
  oldGroup = group;
1988
2015
  }
1989
- select.values.push({
2016
+ values.push({
1990
2017
  name : name,
1991
2018
  value : value,
1992
2019
  text : text,
@@ -2001,19 +2028,21 @@ $.fn.dropdown = function(parameters) {
2001
2028
  }
2002
2029
  if(settings.sortSelect) {
2003
2030
  if(settings.sortSelect === true) {
2004
- select.values.sort(function(a, b) {
2031
+ values.sort(function(a, b) {
2005
2032
  return a.name.localeCompare(b.name);
2006
2033
  });
2007
2034
  } else if(settings.sortSelect === 'natural') {
2008
- select.values.sort(function(a, b) {
2035
+ values.sort(function(a, b) {
2009
2036
  return (a.name.toLowerCase().localeCompare(b.name.toLowerCase()));
2010
2037
  });
2011
2038
  } else if($.isFunction(settings.sortSelect)) {
2012
- select.values.sort(settings.sortSelect);
2039
+ values.sort(settings.sortSelect);
2013
2040
  }
2041
+ select[fields.values] = values;
2014
2042
  module.debug('Retrieved and sorted values from select', select);
2015
2043
  }
2016
2044
  else {
2045
+ select[fields.values] = values;
2017
2046
  module.debug('Retrieved values from select', select);
2018
2047
  }
2019
2048
  return select;
@@ -2136,6 +2165,9 @@ $.fn.dropdown = function(parameters) {
2136
2165
  }
2137
2166
  }
2138
2167
  return true;
2168
+ },
2169
+ disabled: function(){
2170
+ $search.attr('tabindex',module.is.disabled() ? -1 : 0);
2139
2171
  }
2140
2172
  },
2141
2173
 
@@ -2401,8 +2433,8 @@ $.fn.dropdown = function(parameters) {
2401
2433
  module.debug('Added tabindex to searchable dropdown');
2402
2434
  $search
2403
2435
  .val('')
2404
- .attr('tabindex', 0)
2405
2436
  ;
2437
+ module.check.disabled();
2406
2438
  $menu
2407
2439
  .attr('tabindex', -1)
2408
2440
  ;
@@ -3533,9 +3565,12 @@ $.fn.dropdown = function(parameters) {
3533
3565
  module.set.scrollPosition(module.get.selectedItem(), true);
3534
3566
  }
3535
3567
  if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
3568
+ var displayType = $module.hasClass('column') ? 'flex' : false;
3536
3569
  if(transition == 'none') {
3537
3570
  start();
3538
- $currentMenu.transition('show');
3571
+ $currentMenu.transition({
3572
+ displayType: displayType
3573
+ }).transition('show');
3539
3574
  callback.call(element);
3540
3575
  }
3541
3576
  else if($.fn.transition !== undefined && $module.transition('is supported')) {
@@ -3547,6 +3582,7 @@ $.fn.dropdown = function(parameters) {
3547
3582
  duration : settings.duration,
3548
3583
  queue : true,
3549
3584
  onStart : start,
3585
+ displayType: displayType,
3550
3586
  onComplete : function() {
3551
3587
  callback.call(element);
3552
3588
  }