semantic-ui-rails 0.16.1 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a5c7efdc48c48fbbc6a8ccff466c45b5475c7cc
4
- data.tar.gz: a5510dd4526e13ed7fde423f2493314be8b666c7
3
+ metadata.gz: 73754d469a516702dabb7ded2e8337d341ef2401
4
+ data.tar.gz: b5515b886a679986d7c6fbc8e8dedb921d5ce696
5
5
  SHA512:
6
- metadata.gz: 6a4ee41d4f0f787f44234765fa9e4a5acebebcf3deabff51d59ac18c3bfd67fb075374d0abd6fc2fe2657f768e87db80770858f115732d535e0da5b8ddb29668
7
- data.tar.gz: 91b9978260abdb8fdf79538fe1a77538b2166b3557dc2692ea5a5967b7d68335e0269a9df3eb2c921e7729f14a9372f1504ecb09faa6c19635ee5446060c8f8b
6
+ metadata.gz: f93657a8a9dc65e37e2058884664b7630c8c6120384f956bf14430e2e4d524c4806c4753a6d1482b2c5fce7f4bdf8e9430399a717f13f8846c54b12bf6998408
7
+ data.tar.gz: 45a82db9dbd3720b7216c53db8a4a7074871e3e8ed3641a7f0370b04da3926d15a8361607f980b7a6096524f8a1fa51fff73d521e3fcad6604fcbaaf64ad8b86
data/README.md CHANGED
@@ -5,6 +5,9 @@ Semantic empowers designers and developers by creating a language for sharing UI
5
5
 
6
6
  Homepage: http://semantic-ui.com/
7
7
 
8
+ ## SASS
9
+ Please use the [semantic-ui-sass](https://github.com/doabit/semantic-ui-sass) gem.
10
+
8
11
  ## Installation
9
12
  Inside your Gemfile add the following lines:
10
13
  ```ruby
@@ -635,7 +635,7 @@ $.fn.form.settings = {
635
635
  group : '.field',
636
636
  input : 'input',
637
637
  prompt : '.prompt',
638
- submit : '.submit'
638
+ submit : '.submit:not([type="submit"])'
639
639
  },
640
640
 
641
641
  className : {
@@ -735,4 +735,4 @@ $.fn.form.settings = {
735
735
 
736
736
  };
737
737
 
738
- })( jQuery, window , document );
738
+ })( jQuery, window , document );
@@ -68,6 +68,7 @@ $.fn.dropdown = function(parameters) {
68
68
  module.bind.touchEvents();
69
69
  }
70
70
  module.bind.mouseEvents();
71
+ module.bind.keyboardEvents();
71
72
  module.instantiate();
72
73
  },
73
74
 
@@ -91,6 +92,15 @@ $.fn.dropdown = function(parameters) {
91
92
  },
92
93
 
93
94
  bind: {
95
+ keyboardEvents: function() {
96
+ module.debug('Binding keyboard events');
97
+ $module
98
+ .on('keydown' + eventNamespace, module.handleKeyboard)
99
+ ;
100
+ $module
101
+ .on('focus' + eventNamespace, module.show)
102
+ ;
103
+ },
94
104
  touchEvents: function() {
95
105
  module.debug('Touch device detected binding touch events');
96
106
  $module
@@ -154,6 +164,69 @@ $.fn.dropdown = function(parameters) {
154
164
  }
155
165
  },
156
166
 
167
+ handleKeyboard: function(event) {
168
+ var
169
+ $selectedItem = $item.filter('.' + className.selected),
170
+ pressedKey = event.which,
171
+ keys = {
172
+ enter : 13,
173
+ escape : 27,
174
+ upArrow : 38,
175
+ downArrow : 40
176
+ },
177
+ selectedClass = className.selected,
178
+ currentIndex = $item.index( $selectedItem ),
179
+ hasSelectedItem = ($selectedItem.size() > 0),
180
+ resultSize = $item.size(),
181
+ newIndex
182
+ ;
183
+ // close shortcuts
184
+ if(pressedKey == keys.escape) {
185
+ module.verbose('Escape key pressed, closing dropdown');
186
+ module.hide();
187
+ }
188
+ // result shortcuts
189
+ if(module.is.visible()) {
190
+ if(pressedKey == keys.enter && hasSelectedItem) {
191
+ module.verbose('Enter key pressed, choosing selected item');
192
+ $.proxy(module.event.item.click, $item.filter('.' + selectedClass) )(event);
193
+ event.preventDefault();
194
+ return false;
195
+ }
196
+ else if(pressedKey == keys.upArrow) {
197
+ module.verbose('Up key pressed, changing active item');
198
+ newIndex = (currentIndex - 1 < 0)
199
+ ? currentIndex
200
+ : currentIndex - 1
201
+ ;
202
+ $item
203
+ .removeClass(selectedClass)
204
+ .eq(newIndex)
205
+ .addClass(selectedClass)
206
+ ;
207
+ event.preventDefault();
208
+ }
209
+ else if(pressedKey == keys.downArrow) {
210
+ module.verbose('Down key pressed, changing active item');
211
+ newIndex = (currentIndex + 1 >= resultSize)
212
+ ? currentIndex
213
+ : currentIndex + 1
214
+ ;
215
+ $item
216
+ .removeClass(selectedClass)
217
+ .eq(newIndex)
218
+ .addClass(selectedClass)
219
+ ;
220
+ event.preventDefault();
221
+ }
222
+ }
223
+ else {
224
+ if(pressedKey == keys.enter) {
225
+ module.show();
226
+ }
227
+ }
228
+ },
229
+
157
230
  event: {
158
231
  test: {
159
232
  toggle: function(event) {
@@ -494,8 +567,8 @@ $.fn.dropdown = function(parameters) {
494
567
  },
495
568
  animated: function($subMenu) {
496
569
  return ($subMenu)
497
- ? $subMenu.is(':animated') || $subMenu.transition('is animating')
498
- : $menu.is(':animated') || $menu.transition('is animating')
570
+ ? $subMenu.is(':animated') || $subMenu.transition && $subMenu.transition('is animating')
571
+ : $menu.is(':animated') || $menu.transition && $menu.transition('is animating')
499
572
  ;
500
573
  },
501
574
  visible: function($subMenu) {
@@ -916,6 +989,7 @@ $.fn.dropdown.settings = {
916
989
  placeholder : 'default',
917
990
  disabled : 'disabled',
918
991
  visible : 'visible',
992
+ selected : 'selected',
919
993
  selection : 'selection'
920
994
  }
921
995
 
@@ -925,8 +999,8 @@ $.fn.dropdown.settings = {
925
999
  $.extend( $.easing, {
926
1000
  easeOutQuad: function (x, t, b, c, d) {
927
1001
  return -c *(t/=d)*(t-2) + b;
928
- },
1002
+ }
929
1003
  });
930
1004
 
931
1005
 
932
- })( jQuery, window , document );
1006
+ })( jQuery, window , document );
@@ -94,8 +94,7 @@ $.fn.modal = function(parameters) {
94
94
  .dimmer('get dimmer')
95
95
  ;
96
96
 
97
- $otherModals = $module.siblings(selector.modal);
98
- $allModals = $otherModals.add($module);
97
+ module.refreshSelectors();
99
98
 
100
99
  module.verbose('Attaching close events', $close);
101
100
  $close
@@ -137,6 +136,11 @@ $.fn.modal = function(parameters) {
137
136
  module.set.position();
138
137
  },
139
138
 
139
+ refreshSelectors: function() {
140
+ $otherModals = $module.siblings(selector.modal);
141
+ $allModals = $otherModals.add($module);
142
+ },
143
+
140
144
  attachEvents: function(selector, event) {
141
145
  var
142
146
  $toggle = $(selector)
@@ -237,50 +241,63 @@ $.fn.modal = function(parameters) {
237
241
  module.showModal(callback);
238
242
  },
239
243
 
244
+ onlyVisible: function() {
245
+ module.refreshSelectors();
246
+ return module.is.active() && $otherModals.filter(':visible').size() === 0;
247
+ },
248
+
249
+ othersVisible: function() {
250
+ module.refreshSelectors();
251
+ return $otherModals.filter(':visible').size() > 0;
252
+ },
253
+
240
254
  showModal: function(callback) {
255
+ if(module.is.active()) {
256
+ module.debug('Modal is already visible');
257
+ return;
258
+ }
259
+
241
260
  callback = $.isFunction(callback)
242
261
  ? callback
243
262
  : function(){}
244
263
  ;
245
- if( !module.is.active() ) {
246
- if(module.cache === undefined) {
247
- module.cacheSizes();
248
- }
249
- module.set.position();
250
- module.set.screenHeight();
251
- module.set.type();
252
264
 
253
- if( $otherModals.filter(':visible').size() > 0 && !settings.allowMultiple) {
254
- module.debug('Other modals visible, queueing show animation');
255
- module.hideOthers(module.showModal);
265
+ module.save.focus();
266
+ module.add.keyboardShortcuts();
267
+
268
+ if(module.cache === undefined) {
269
+ module.cacheSizes();
270
+ }
271
+ module.set.position();
272
+ module.set.screenHeight();
273
+ module.set.type();
274
+
275
+ if(module.othersVisible() && !settings.allowMultiple) {
276
+ module.debug('Other modals visible, queueing show animation');
277
+ module.hideOthers(module.showModal);
278
+ }
279
+ else {
280
+ $.proxy(settings.onShow, element)();
281
+
282
+ var transitionCallback = function() {
283
+ module.set.active();
284
+ $.proxy(settings.onVisible, element)();
285
+ callback();
286
+ };
287
+
288
+ if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
289
+ module.debug('Showing modal with css animations');
290
+ $module
291
+ .transition(settings.transition + ' in', settings.duration, transitionCallback)
292
+ ;
256
293
  }
257
294
  else {
258
- $.proxy(settings.onShow, element)();
259
- if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
260
- module.debug('Showing modal with css animations');
261
- $module
262
- .transition(settings.transition + ' in', settings.duration, function() {
263
- $.proxy(settings.onVisible, element)();
264
- module.set.active();
265
- callback();
266
- })
267
- ;
268
- }
269
- else {
270
- module.debug('Showing modal with javascript');
271
- $module
272
- .fadeIn(settings.duration, settings.easing, function() {
273
- $.proxy(settings.onVisible, element)();
274
- module.set.active();
275
- callback();
276
- })
277
- ;
278
- }
295
+ module.debug('Showing modal with javascript');
296
+ $module
297
+ .fadeIn(settings.duration, settings.easing, transitionCallback)
298
+ ;
279
299
  }
280
300
  }
281
- else {
282
- module.debug('Modal is already visible');
283
- }
284
301
  },
285
302
 
286
303
  showDimmer: function() {
@@ -289,7 +306,7 @@ $.fn.modal = function(parameters) {
289
306
  $dimmable.dimmer('show');
290
307
  }
291
308
  else {
292
- module.debug('Dimmer already visible');
309
+ module.debug('Dimmer is already visible');
293
310
  }
294
311
  },
295
312
 
@@ -298,7 +315,8 @@ $.fn.modal = function(parameters) {
298
315
  ? callback
299
316
  : function(){}
300
317
  ;
301
- if($allModals.filter(':visible').size() <= 1) {
318
+ module.refreshSelectors();
319
+ if(module.onlyVisible()) {
302
320
  module.hideDimmer();
303
321
  }
304
322
  module.hideModal(callback);
@@ -306,7 +324,7 @@ $.fn.modal = function(parameters) {
306
324
 
307
325
  hideDimmer: function() {
308
326
  if( !module.is.active() ) {
309
- module.debug('Dimmer is not visible cannot hide');
327
+ module.debug('Dimmer is already hidden');
310
328
  return;
311
329
  }
312
330
  module.debug('Hiding dimmer');
@@ -327,35 +345,37 @@ $.fn.modal = function(parameters) {
327
345
  },
328
346
 
329
347
  hideModal: function(callback) {
348
+ if(!module.is.active()) {
349
+ module.debug('Modal is already hidden');
350
+ return;
351
+ }
352
+
330
353
  callback = $.isFunction(callback)
331
354
  ? callback
332
355
  : function(){}
333
356
  ;
334
- if( !module.is.active() ) {
335
- module.debug('Cannot hide modal it is not active');
336
- return;
337
- }
338
- module.debug('Hiding modal');
357
+
358
+ module.restore.focus();
339
359
  module.remove.keyboardShortcuts();
360
+
340
361
  $.proxy(settings.onHide, element)();
362
+
363
+ var transitionCallback = function() {
364
+ module.remove.active();
365
+ $.proxy(settings.onHidden, element)();
366
+ callback();
367
+ };
368
+
341
369
  if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
370
+ module.debug('Hiding modal with css animations');
342
371
  $module
343
- .transition(settings.transition + ' out', settings.duration, function() {
344
- $.proxy(settings.onHidden, element)();
345
- module.remove.active();
346
- module.restore.focus();
347
- callback();
348
- })
372
+ .transition(settings.transition + ' out', settings.duration, transitionCallback)
349
373
  ;
350
374
  }
351
375
  else {
376
+ module.debug('Hiding modal with javascript');
352
377
  $module
353
- .fadeOut(settings.duration, settings.easing, function() {
354
- $.proxy(settings.onHidden, element)();
355
- module.remove.active();
356
- module.restore.focus();
357
- callback();
358
- })
378
+ .fadeOut(settings.duration, settings.easing, transitionCallback)
359
379
  ;
360
380
  }
361
381
  },
@@ -365,7 +385,7 @@ $.fn.modal = function(parameters) {
365
385
  ? callback
366
386
  : function(){}
367
387
  ;
368
- if( $allModals.is(':visible') ) {
388
+ if( $module.is(':visible') || module.othersVisible() ) {
369
389
  module.debug('Hiding all visible modals');
370
390
  module.hideDimmer();
371
391
  $allModals
@@ -380,7 +400,7 @@ $.fn.modal = function(parameters) {
380
400
  ? callback
381
401
  : function(){}
382
402
  ;
383
- if( $otherModals.is(':visible') ) {
403
+ if( module.othersVisible() ) {
384
404
  module.debug('Hiding other modals');
385
405
  $otherModals
386
406
  .filter(':visible')
@@ -473,17 +493,22 @@ $.fn.modal = function(parameters) {
473
493
  }
474
494
  },
475
495
  active: function() {
476
- module.add.keyboardShortcuts();
477
- module.save.focus();
478
- $module
479
- .addClass(className.active)
480
- ;
496
+ $module.addClass(className.active);
497
+
481
498
  if(settings.closable) {
482
499
  $dimmer
483
500
  .off('click' + eventNamespace)
484
501
  .on('click' + eventNamespace, module.event.click)
485
502
  ;
486
503
  }
504
+
505
+ if(settings.autofocus) {
506
+ var $inputs = $module.find(':input:visible');
507
+ var $autofocus = $inputs.filter('[autofocus]');
508
+ var $input = $autofocus.length ? $autofocus : $inputs;
509
+
510
+ $input.first().focus();
511
+ }
487
512
  },
488
513
  scrolling: function() {
489
514
  $dimmable.addClass(className.scrolling);
@@ -708,10 +733,11 @@ $.fn.modal.settings = {
708
733
  allowMultiple : true,
709
734
  detachable : true,
710
735
  closable : true,
736
+ autofocus : true,
711
737
  context : 'body',
712
738
 
713
739
  duration : 500,
714
- easing : 'easeOutExpo',
740
+ easing : 'easeOutQuad',
715
741
  offset : 0,
716
742
  transition : 'scale',
717
743
 
@@ -742,5 +768,11 @@ $.fn.modal.settings = {
742
768
  }
743
769
  };
744
770
 
771
+ // Adds easing
772
+ $.extend( $.easing, {
773
+ easeOutQuad: function (x, t, b, c, d) {
774
+ return -c *(t/=d)*(t-2) + b;
775
+ }
776
+ });
745
777
 
746
778
  })( jQuery, window , document );
@@ -259,6 +259,7 @@ $.fn.popup = function(parameters) {
259
259
  $popup
260
260
  .remove()
261
261
  ;
262
+ $.proxy(settings.onRemove, $popup)();
262
263
  },
263
264
 
264
265
  save: {
@@ -786,6 +787,7 @@ $.fn.popup.settings = {
786
787
  namespace : 'popup',
787
788
 
788
789
  onCreate : function(){},
790
+ onRemove : function(){},
789
791
  onShow : function(){},
790
792
  onHide : function(){},
791
793
 
@@ -805,7 +807,7 @@ $.fn.popup.settings = {
805
807
  preserve : false,
806
808
 
807
809
  duration : 250,
808
- easing : 'easeOutQuint',
810
+ easing : 'easeOutQuad',
809
811
  transition : 'scale',
810
812
 
811
813
  distanceAway : 0,
@@ -854,4 +856,12 @@ $.fn.popup.settings = {
854
856
 
855
857
  };
856
858
 
857
- })( jQuery, window , document );
859
+ // Adds easing
860
+ $.extend( $.easing, {
861
+ easeOutQuad: function (x, t, b, c, d) {
862
+ return -c *(t/=d)*(t-2) + b;
863
+ }
864
+ });
865
+
866
+
867
+ })( jQuery, window , document );
@@ -137,7 +137,7 @@ $.fn.search = function(source, parameters) {
137
137
  if($results.filter(':visible').size() > 0) {
138
138
  if(keyCode == keys.enter) {
139
139
  module.verbose('Enter key pressed, selecting active result');
140
- if( $result.filter('.' + activeClass).exists() ) {
140
+ if( $result.filter('.' + activeClass).size() > 0 ) {
141
141
  $.proxy(module.results.select, $result.filter('.' + activeClass) )();
142
142
  event.preventDefault();
143
143
  return false;
@@ -335,11 +335,13 @@
335
335
  -moz-box-shadow: 0px 1px 0px 1px #E7BEBE;
336
336
  box-shadow: 0px 1px 0px 1px #E7BEBE;
337
337
  }
338
- .ui.form .fields.error .field .ui.dropdown .menu .item:hover,
339
- .ui.form .field.error .ui.dropdown .menu .item:hover {
338
+ .ui.form .fields.error .field .ui.selection.dropdown .menu .item:hover,
339
+ .ui.form .field.error .ui.selection.dropdown .menu .item:hover {
340
340
  background-color: #FFF2F2;
341
341
  }
342
342
 
343
+
344
+ /* Currently Active Item */
343
345
  .ui.form .fields.error .field .ui.dropdown .menu .active.item,
344
346
  .ui.form .field.error .ui.dropdown .menu .active.item {
345
347
  background-color: #FDCFCF !important;
@@ -666,9 +668,11 @@
666
668
  }
667
669
  .ui.form .inline.fields .field > label,
668
670
  .ui.form .inline.fields .field > p,
671
+ .ui.form .inline.fields .field > .ui.input,
669
672
  .ui.form .inline.fields .field > input,
670
673
  .ui.form .inline.field > label,
671
674
  .ui.form .inline.field > p,
675
+ .ui.form .inline.field > .ui.input,
672
676
  .ui.form .inline.field > input {
673
677
 
674
678
  display: inline-block;
@@ -678,11 +682,6 @@
678
682
  margin-bottom: 0em;
679
683
 
680
684
  vertical-align: middle;
681
- font-size: 1em;
682
- }
683
- .ui.form .inline.fields .field > input,
684
- .ui.form .inline.field > input {
685
- font-size: 0.875em;
686
685
  }
687
686
 
688
687
  .ui.form .inline.fields .field > :first-child,
@@ -188,6 +188,7 @@
188
188
  rgba(0, 0, 0, 0.05) 100%)
189
189
  ;
190
190
  }
191
+ /*rtl:ignore*/
191
192
  .ui.menu > .menu:not(.right):first-child > .item:first-child:before,
192
193
  .ui.menu .item:first-child:before {
193
194
  display: none;
@@ -380,9 +380,9 @@ a.ui.label:hover:before {
380
380
  left: auto;
381
381
  right: 0em;
382
382
  width: auto;
383
- -webkit-border-radius: 4px 0em 4px 0em;
384
- -moz-border-radius: 4px 0em 4px 0em;
385
- border-radius: 4px 0em 4px 0em;
383
+ -webkit-border-radius: 0px 4px 0px 4px;
384
+ -moz-border-radius: 0px 4px 0px 4px;
385
+ border-radius: 0px 4px 0px 4px;
386
386
  }
387
387
 
388
388
  /*-------------------
@@ -943,4 +943,4 @@ a.ui.teal.label:hover:before {
943
943
  .ui.huge.labels .label,
944
944
  .ui.huge.label {
945
945
  font-size: 1rem;
946
- }
946
+ }
@@ -30,10 +30,10 @@
30
30
 
31
31
  .ui.accordion .title,
32
32
  .ui.accordion .accordion .title {
33
- cursor: pointer;
33
+ cursor: pointer;
34
34
 
35
35
  margin: 0em;
36
- padding: 0.75em 1em;
36
+ padding: 0.75em 1em;
37
37
 
38
38
  color: rgba(0, 0, 0, 0.6);
39
39
 
@@ -55,9 +55,9 @@
55
55
  background-color 0.2s ease-out
56
56
  ;
57
57
  }
58
- .ui.accordion .title:first-child,
59
- .ui.accordion .accordion .title:first-child {
60
- border-top: none;
58
+ .ui.accordion > .title:first-child,
59
+ .ui.accordion .accordion > .title:first-child {
60
+ border-top: none;
61
61
  }
62
62
 
63
63
 
@@ -171,7 +171,7 @@
171
171
  .ui.accordion .active.title,
172
172
  .ui.accordion .accordion .title:hover,
173
173
  .ui.accordion .accordion .active.title {
174
- color: rgba(0, 0, 0, 0.8);
174
+ color: rgba(0, 0, 0, 0.8);
175
175
  }
176
176
 
177
177
  /*--------------
@@ -180,7 +180,7 @@
180
180
 
181
181
  .ui.accordion .active.title,
182
182
  .ui.accordion .accordion .active.title {
183
- background-color: rgba(0, 0, 0, 0.1);
183
+ background-color: rgba(0, 0, 0, 0.1);
184
184
  color: rgba(0, 0, 0, 0.8);
185
185
  }
186
186
  .ui.accordion .active.title .dropdown.icon,
@@ -207,6 +207,16 @@
207
207
  z-index: 12;
208
208
  }
209
209
 
210
+ /*--------------------
211
+ Selected
212
+ ----------------------*/
213
+
214
+ /* Menu Item Selected */
215
+ .ui.dropdown .menu .item.selected {
216
+ background-color: rgba(0, 0, 0, 0.02);
217
+ z-index: 12;
218
+ }
219
+
210
220
  /*--------------------
211
221
  Active
212
222
  ----------------------*/
@@ -414,6 +424,67 @@
414
424
  margin-right: 0.5em;
415
425
  }
416
426
 
427
+ /*--------------------
428
+ Error
429
+ ----------------------*/
430
+ .ui.selection.dropdown.error,
431
+ .ui.selection.dropdown.error .item {
432
+ background-color: #FFFAFA;
433
+ color: #D95C5C;
434
+ }
435
+ .ui.selection.dropdown.error {
436
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(231, 190, 190, 1) !important;
437
+ box-shadow: 0px 0px 0px 1px rgba(231, 190, 190, 1) !important;
438
+ }
439
+
440
+ .ui.selection.dropdown.error .menu {
441
+ -webkit-box-shadow: 0px 1px 0px 1px #E7BEBE;
442
+ -moz-box-shadow: 0px 1px 0px 1px #E7BEBE;
443
+ box-shadow: 0px 1px 0px 1px #E7BEBE;
444
+
445
+ -moz-border-radius: 0px 0px 0.325em 0.325em;
446
+ -webkit-border-radius: 0px 0px 0.325em 0.325em;
447
+ border-radius: 0px 0px 0.325em 0.325em;
448
+ }
449
+
450
+
451
+ /* Menu Item Active */
452
+ .ui.selection.dropdown.error .menu .active.item {
453
+ background-color: #FDCFCF !important;
454
+ }
455
+
456
+ /* Hover */
457
+ .ui.selection.dropdown:hover {
458
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) !important;
459
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) !important;
460
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2) !important;
461
+ }
462
+ .ui.selection.dropdown:hover .menu {
463
+ -webkit-box-shadow: 0px 1px 0px 1px #D3D3D3;
464
+ -moz-box-shadow: 0px 1px 0px 1px #D3D3D3;
465
+ box-shadow: 0px 1px 0px 1px #D3D3D3;
466
+ }
467
+ .ui.selection.dropdown:hover > .dropdown.icon {
468
+ opacity: 1;
469
+ }
470
+ .ui.selection.dropdown.error:hover {
471
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(231, 190, 190, 1) !important;
472
+ box-shadow: 0px 0px 0px 1px rgba(231, 190, 190, 1) !important;
473
+ }
474
+ .ui.selection.dropdown.error:hover .menu {
475
+ -webkit-box-shadow: 0px 1px 0px 1px #E7BEBE;
476
+ -moz-box-shadow: 0px 1px 0px 1px #E7BEBE;
477
+ box-shadow: 0px 1px 0px 1px #E7BEBE;
478
+ }
479
+ .ui.selection.dropdown.error .menu .item:hover {
480
+ background-color: #FFF2F2;
481
+ }
482
+
483
+ /* Selected */
484
+ .ui.selection.dropdown.error .menu .item.selected {
485
+ background-color: #FFF2F2;
486
+ }
487
+
417
488
  /* Visible */
418
489
  .ui.visible.selection.dropdown {
419
490
  border-bottom-left-radius: 0em !important;
@@ -513,7 +584,7 @@
513
584
  -webkit-transform: rotate(45deg);
514
585
  -moz-transform: rotate(45deg);
515
586
  transform: rotate(45deg);
516
- z-index: 2;
587
+ z-index: 12;
517
588
  }
518
589
 
519
590
  .ui.pointing.dropdown .menu .active.item:first-child {
@@ -1,47 +1,47 @@
1
1
  /* Elements */
2
- @import 'semantic-ui/elements/header.less';
3
- @import 'semantic-ui/elements/progress.less';
4
- @import 'semantic-ui/elements/segment.less';
5
- @import 'semantic-ui/elements/loader.less';
6
- @import 'semantic-ui/elements/step.less';
2
+ @import 'semantic-ui/elements/basic.icon.less';
7
3
  @import 'semantic-ui/elements/button.less';
8
- @import 'semantic-ui/elements/input.less';
9
- @import 'semantic-ui/elements/label.less';
10
4
  @import 'semantic-ui/elements/divider.less';
5
+ @import 'semantic-ui/elements/header.less';
6
+ @import 'semantic-ui/elements/icon.less';
11
7
  @import 'semantic-ui/elements/image.less';
12
- @import 'semantic-ui/elements/basic.icon.less';
8
+ @import 'semantic-ui/elements/input.less';
9
+ @import 'semantic-ui/elements/label.less';
10
+ @import 'semantic-ui/elements/loader.less';
11
+ @import 'semantic-ui/elements/progress.less';
13
12
  @import 'semantic-ui/elements/reveal.less';
14
- @import 'semantic-ui/elements/icon.less';
13
+ @import 'semantic-ui/elements/segment.less';
14
+ @import 'semantic-ui/elements/step.less';
15
15
 
16
16
  /* Collections */
17
- @import 'semantic-ui/collections/table.less';
18
17
  @import 'semantic-ui/collections/breadcrumb.less';
19
- @import 'semantic-ui/collections/message.less';
18
+ @import 'semantic-ui/collections/form.less';
20
19
  @import 'semantic-ui/collections/grid.less';
21
20
  @import 'semantic-ui/collections/menu.less';
22
- @import 'semantic-ui/collections/form.less';
21
+ @import 'semantic-ui/collections/message.less';
22
+ @import 'semantic-ui/collections/table.less';
23
23
 
24
24
  /* Views */
25
- @import 'semantic-ui/views/list.less';
26
25
  @import 'semantic-ui/views/comment.less';
26
+ @import 'semantic-ui/views/feed.less';
27
27
  @import 'semantic-ui/views/item.less';
28
+ @import 'semantic-ui/views/list.less';
28
29
  @import 'semantic-ui/views/statistic.less';
29
- @import 'semantic-ui/views/feed.less';
30
30
 
31
31
  /* Modules */
32
- @import 'semantic-ui/modules/popup.less';
33
- @import 'semantic-ui/modules/dimmer.less';
34
- @import 'semantic-ui/modules/rating.less';
35
32
  @import 'semantic-ui/modules/accordion.less';
33
+ @import 'semantic-ui/modules/chatroom.less';
36
34
  @import 'semantic-ui/modules/checkbox.less';
37
- @import 'semantic-ui/modules/search.less';
38
- @import 'semantic-ui/modules/video.less';
35
+ @import 'semantic-ui/modules/dimmer.less';
36
+ @import 'semantic-ui/modules/dropdown.less';
37
+ @import 'semantic-ui/modules/modal.less';
39
38
  @import 'semantic-ui/modules/nag.less';
39
+ @import 'semantic-ui/modules/popup.less';
40
+ @import 'semantic-ui/modules/rating.less';
41
+ @import 'semantic-ui/modules/search.less';
40
42
  @import 'semantic-ui/modules/shape.less';
41
- @import 'semantic-ui/modules/modal.less';
42
43
  @import 'semantic-ui/modules/sidebar.less';
43
44
  @import 'semantic-ui/modules/tab.less';
44
- @import 'semantic-ui/modules/dropdown.less';
45
- @import 'semantic-ui/modules/chatroom.less';
45
+ @import 'semantic-ui/modules/video.less';
46
46
  @import 'semantic-ui/modules/transition.less';
47
47
 
@@ -1,19 +1,19 @@
1
- //= require semantic-ui/modules/dimmer.js
2
- //= require semantic-ui/modules/checkbox.js
3
- //= require semantic-ui/modules/tab.js
4
- //= require semantic-ui/modules/behavior/state.js
1
+ //= require semantic-ui/modules/accordion.js
2
+ //= require semantic-ui/modules/behavior/api.js
5
3
  //= require semantic-ui/modules/behavior/colorize.js
6
4
  //= require semantic-ui/modules/behavior/form.js
7
- //= require semantic-ui/modules/behavior/api.js
5
+ //= require semantic-ui/modules/behavior/state.js
6
+ //= require semantic-ui/modules/chatroom.js
7
+ //= require semantic-ui/modules/checkbox.js
8
+ //= require semantic-ui/modules/dimmer.js
9
+ //= require semantic-ui/modules/dropdown.js
10
+ //= require semantic-ui/modules/modal.js
8
11
  //= require semantic-ui/modules/nag.js
9
- //= require semantic-ui/modules/transition.js
10
12
  //= require semantic-ui/modules/popup.js
11
- //= require semantic-ui/modules/shape.js
12
13
  //= require semantic-ui/modules/rating.js
13
- //= require semantic-ui/modules/video.js
14
- //= require semantic-ui/modules/modal.js
15
- //= require semantic-ui/modules/accordion.js
16
- //= require semantic-ui/modules/sidebar.js
17
14
  //= require semantic-ui/modules/search.js
18
- //= require semantic-ui/modules/dropdown.js
19
- //= require semantic-ui/modules/chatroom.js
15
+ //= require semantic-ui/modules/shape.js
16
+ //= require semantic-ui/modules/sidebar.js
17
+ //= require semantic-ui/modules/tab.js
18
+ //= require semantic-ui/modules/transition.js
19
+ //= require semantic-ui/modules/video.js
@@ -1,7 +1,7 @@
1
1
  module Semantic
2
2
  module Ui
3
3
  module Rails
4
- VERSION = "0.16.1"
4
+ VERSION = "0.18.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semantic-ui-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nd0ut
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-24 00:00:00.000000000 Z
11
+ date: 2014-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: less-rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: autoprefixer-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: binding_of_caller
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: git
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: UI is the vocabulary of the web
@@ -115,7 +115,7 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - .gitignore
118
+ - ".gitignore"
119
119
  - Gemfile
120
120
  - LICENSE.txt
121
121
  - README.md
@@ -213,17 +213,17 @@ require_paths:
213
213
  - lib
214
214
  required_ruby_version: !ruby/object:Gem::Requirement
215
215
  requirements:
216
- - - '>='
216
+ - - ">="
217
217
  - !ruby/object:Gem::Version
218
218
  version: '0'
219
219
  required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  requirements:
221
- - - '>='
221
+ - - ">="
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
225
  rubyforge_project:
226
- rubygems_version: 2.1.11
226
+ rubygems_version: 2.2.2
227
227
  signing_key:
228
228
  specification_version: 4
229
229
  summary: Semantic empowers designers and developers by creating a language for sharing