less-rails-semantic_ui 1.1.2.0 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ca3f94a11aa4bfbd455620d9de024a2f245d1a5
4
- data.tar.gz: 97c8a561b7d08ee88361b07147993b0f3a0ec90d
3
+ metadata.gz: c67e7f81931898989959fe03c57a3bbb3d419456
4
+ data.tar.gz: ff263f25b36c3b9ecba87e5c0f78427e041d2437
5
5
  SHA512:
6
- metadata.gz: c83e51df4988a240a38ab11b74a2a2a799d44d73e4477298ecbd792c74bccc991f6081691668290fb26389777aa1d17910ec7d53a35e8ff8d58721cbb3081474
7
- data.tar.gz: 73c4cd5660d0a1434509c13f99a81182dc6b11b12469d91fd0493e49b903becc2f8aa06275526b9f7855907e5f7a54a326a885ca3dd1af2169d331b80862f538
6
+ metadata.gz: 2b4659771cff917502d5510281ccfed93361a953a354dedfd1bbdcab528fa1e706dc3272ad1727df8d43091305d2b89d5eebd03f4d87b438a503a7b00311ed69
7
+ data.tar.gz: 848a2a23361e230b1c9cd68d52ad6d1705407baeab00c38305fd9994b5cf0b408cbc8ce43f235448ddbf839096ad5814a6916fa4c4c71cf4a525802f05099a0e
@@ -398,7 +398,11 @@ $.fn.form = function(fields, parameters) {
398
398
  fieldValid = true,
399
399
  fieldErrors = []
400
400
  ;
401
- if(field.rules !== undefined) {
401
+ if(field.optional && $.trim($field.val()) === ''){
402
+ module.debug('Field is optional and empty. Skipping', field.identifier);
403
+ fieldValid = true;
404
+ }
405
+ else if(field.rules !== undefined) {
402
406
  $.each(field.rules, function(index, rule) {
403
407
  if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
404
408
  module.debug('Field is invalid', field.identifier, rule.type);
@@ -643,7 +647,7 @@ $.fn.form.settings = {
643
647
  revalidate : true,
644
648
 
645
649
  transition : 'scale',
646
- duration : 150,
650
+ duration : 200,
647
651
 
648
652
 
649
653
  onValid : function() {},
@@ -669,15 +673,13 @@ $.fn.form.settings = {
669
673
  error : 'error',
670
674
  success : 'success',
671
675
  down : 'down',
672
- label : 'ui label prompt'
676
+ label : 'ui prompt label'
673
677
  },
674
678
 
675
- // errors
676
679
  error: {
677
680
  method : 'The method you called is not defined.'
678
681
  },
679
682
 
680
-
681
683
  templates: {
682
684
  error: function(errors) {
683
685
  var
@@ -698,40 +700,77 @@ $.fn.form.settings = {
698
700
  },
699
701
 
700
702
  rules: {
703
+
704
+ // checkbox checked
701
705
  checked: function() {
702
706
  return ($(this).filter(':checked').size() > 0);
703
707
  },
704
- empty: function(value) {
705
- return !(value === undefined || '' === value);
708
+
709
+ // value contains (text)
710
+ contains: function(value, text) {
711
+ text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
712
+ return (value.search(text) !== -1);
706
713
  },
714
+
715
+ // is most likely an email
707
716
  email: function(value){
708
717
  var
709
718
  emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", "i")
710
719
  ;
711
720
  return emailRegExp.test(value);
712
721
  },
713
- length: function(value, requiredLength) {
714
- return (value !== undefined)
715
- ? (value.length >= requiredLength)
716
- : false
717
- ;
718
- },
719
- not: function(value, notValue) {
720
- return (value != notValue);
722
+
723
+ // is not empty or blank string
724
+ empty: function(value) {
725
+ return !(value === undefined || '' === value);
721
726
  },
722
- contains: function(value, text) {
723
- text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
724
- return (value.search(text) !== -1);
727
+
728
+ // is valid integer
729
+ integer: function(value, range) {
730
+ var
731
+ intRegExp = /^\-?\d+$/,
732
+ min,
733
+ max,
734
+ parts
735
+ ;
736
+ if (range === undefined || range === '' || range === '..') {
737
+ // do nothing
738
+ }
739
+ else if (range.indexOf('..') == -1) {
740
+ if (intRegExp.test(range)) {
741
+ min = max = range - 0;
742
+ }
743
+ }
744
+ else {
745
+ parts = range.split('..', 2);
746
+ if (intRegExp.test(parts[0])) {
747
+ min = parts[0] - 0;
748
+ }
749
+ if (intRegExp.test(parts[1])) {
750
+ max = parts[1] - 0;
751
+ }
752
+ }
753
+ return (
754
+ intRegExp.test(value) &&
755
+ (min === undefined || value >= min) &&
756
+ (max === undefined || value <= max)
757
+ );
725
758
  },
759
+
760
+ // is exactly value
726
761
  is: function(value, text) {
727
762
  return (value == text);
728
763
  },
729
- maxLength: function(value, maxLength) {
764
+
765
+ // is at least string length
766
+ length: function(value, requiredLength) {
730
767
  return (value !== undefined)
731
- ? (value.length <= maxLength)
768
+ ? (value.length >= requiredLength)
732
769
  : false
733
770
  ;
734
771
  },
772
+
773
+ // matches another field
735
774
  match: function(value, fieldIdentifier) {
736
775
  // use either id or name of field
737
776
  var
@@ -752,41 +791,26 @@ $.fn.form.settings = {
752
791
  : false
753
792
  ;
754
793
  },
794
+
795
+ // string length is less than max length
796
+ maxLength: function(value, maxLength) {
797
+ return (value !== undefined)
798
+ ? (value.length <= maxLength)
799
+ : false
800
+ ;
801
+ },
802
+
803
+ // value is not exactly notValue
804
+ not: function(value, notValue) {
805
+ return (value != notValue);
806
+ },
807
+
808
+ // value is most likely url
755
809
  url: function(value) {
756
810
  var
757
811
  urlRegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
758
812
  ;
759
813
  return urlRegExp.test(value);
760
- },
761
- integer: function(value, range) {
762
- var
763
- intRegExp = /^\-?\d+$/,
764
- min,
765
- max,
766
- parts
767
- ;
768
- if (range === undefined || range === '' || range === '..') {
769
- // do nothing
770
- }
771
- else if (range.indexOf('..') == -1) {
772
- if (intRegExp.test(range)) {
773
- min = max = range - 0;
774
- }
775
- }
776
- else {
777
- parts = range.split('..', 2);
778
- if (intRegExp.test(parts[0])) {
779
- min = parts[0] - 0;
780
- }
781
- if (intRegExp.test(parts[1])) {
782
- max = parts[1] - 0;
783
- }
784
- }
785
- return (
786
- intRegExp.test(value) &&
787
- (min === undefined || value >= min) &&
788
- (max === undefined || value <= max)
789
- );
790
814
  }
791
815
  }
792
816
 
@@ -41,7 +41,7 @@ $.fn.checkbox = function(parameters) {
41
41
  moduleNamespace = 'module-' + namespace,
42
42
 
43
43
  $module = $(this),
44
- $label = $(this).next(selector.label).first(),
44
+ $label = $(this).find(selector.label).first(),
45
45
  $input = $(this).find(selector.input),
46
46
 
47
47
  instance = $module.data(moduleNamespace),
@@ -55,10 +55,10 @@ $.fn.checkbox = function(parameters) {
55
55
 
56
56
  initialize: function() {
57
57
  module.verbose('Initializing checkbox', settings);
58
- $module
59
- .on('click' + eventNamespace, module.toggle)
60
- .on('keydown' + eventNamespace, selector.input, module.event.keydown)
61
- ;
58
+
59
+ module.create.label();
60
+ module.add.events();
61
+
62
62
  if( module.is.checked() ) {
63
63
  module.set.checked();
64
64
  if(settings.fireOnInit) {
@@ -85,22 +85,16 @@ $.fn.checkbox = function(parameters) {
85
85
  },
86
86
 
87
87
  destroy: function() {
88
- module.verbose('Destroying previous module');
88
+ module.verbose('Destroying module');
89
+ module.remove.events();
89
90
  $module
90
- .off(eventNamespace)
91
91
  .removeData(moduleNamespace)
92
92
  ;
93
- $input
94
- .off(eventNamespace, module.event.keydown)
95
- ;
96
- $label
97
- .off(eventNamespace)
98
- ;
99
93
  },
100
94
 
101
95
  refresh: function() {
102
96
  $module = $(this);
103
- $label = $(this).next(selector.label).first();
97
+ $label = $(this).find(selector.label).first();
104
98
  $input = $(this).find(selector.input);
105
99
  },
106
100
 
@@ -120,15 +114,15 @@ $.fn.checkbox = function(parameters) {
120
114
 
121
115
  attachEvents: function(selector, event) {
122
116
  var
123
- $toggle = $(selector)
117
+ $element = $(selector)
124
118
  ;
125
119
  event = $.isFunction(module[event])
126
120
  ? module[event]
127
121
  : module.toggle
128
122
  ;
129
- if($toggle.size() > 0) {
123
+ if($element.size() > 0) {
130
124
  module.debug('Attaching checkbox events to element', selector, event);
131
- $toggle
125
+ $element
132
126
  .on('click' + eventNamespace, event)
133
127
  ;
134
128
  }
@@ -197,9 +191,51 @@ $.fn.checkbox = function(parameters) {
197
191
  }
198
192
  },
199
193
 
194
+ create: {
195
+ label: function() {
196
+ if($input.prevAll(selector.label).size() > 0) {
197
+ $input.prev(selector.label).detach().insertAfter($input);
198
+ module.debug('Moving existing label', $label);
199
+ }
200
+ else if( !module.has.label() ) {
201
+ $label = $('<label>').insertAfter($input);
202
+ module.debug('Creating label', $label);
203
+ }
204
+ }
205
+ },
206
+
207
+ has: {
208
+ label: function() {
209
+ return ($label.size() > 0);
210
+ }
211
+ },
212
+
213
+ add: {
214
+ events: function() {
215
+ module.verbose('Attaching checkbox events');
216
+ $module
217
+ .on('click' + eventNamespace, module.toggle)
218
+ .on('keydown' + eventNamespace, selector.input, module.event.keydown)
219
+ ;
220
+ }
221
+ },
222
+
200
223
  remove: {
201
224
  checked: function() {
202
225
  $module.removeClass(className.checked);
226
+ },
227
+ events: function() {
228
+ module.debug('Removing events');
229
+ $module
230
+ .off(eventNamespace)
231
+ .removeData(moduleNamespace)
232
+ ;
233
+ $input
234
+ .off(eventNamespace, module.event.keydown)
235
+ ;
236
+ $label
237
+ .off(eventNamespace)
238
+ ;
203
239
  }
204
240
  },
205
241
 
@@ -1448,12 +1448,7 @@ $.fn.dropdown.settings.templates = {
1448
1448
  html = ''
1449
1449
  ;
1450
1450
  $.each(select.values, function(value, name) {
1451
- if(value === name) {
1452
- html += '<div class="item">' + name + '</div>';
1453
- }
1454
- else {
1455
- html += '<div class="item" data-value="' + value + '">' + name + '</div>';
1456
- }
1451
+ html += '<div class="item" data-value="' + value + '">' + name + '</div>';
1457
1452
  });
1458
1453
  return html;
1459
1454
  },
@@ -1472,12 +1467,7 @@ $.fn.dropdown.settings.templates = {
1472
1467
  }
1473
1468
  html += '<div class="menu">';
1474
1469
  $.each(select.values, function(value, name) {
1475
- if(value === name) {
1476
- html += '<div class="item">' + name + '</div>';
1477
- }
1478
- else {
1479
- html += '<div class="item" data-value="' + value + '">' + name + '</div>';
1480
- }
1470
+ html += '<div class="item" data-value="' + value + '">' + name + '</div>';
1481
1471
  });
1482
1472
  html += '</div>';
1483
1473
  return html;
@@ -53,9 +53,9 @@ $.fn.modal = function(parameters) {
53
53
  eventNamespace = '.' + namespace,
54
54
  moduleNamespace = 'module-' + namespace,
55
55
 
56
- $module = $(this),
57
- $context = $(settings.context),
58
- $close = $module.find(selector.close),
56
+ $module = $(this),
57
+ $context = $(settings.context),
58
+ $close = $module.find(selector.close),
59
59
 
60
60
  $allModals,
61
61
  $otherModals,
@@ -63,8 +63,11 @@ $.fn.modal = function(parameters) {
63
63
  $dimmable,
64
64
  $dimmer,
65
65
 
66
- element = this,
67
- instance = $module.data(moduleNamespace),
66
+ element = this,
67
+ instance = $module.data(moduleNamespace),
68
+
69
+ elementNamespace,
70
+ id,
68
71
  observer,
69
72
  module
70
73
  ;
@@ -78,6 +81,9 @@ $.fn.modal = function(parameters) {
78
81
  return;
79
82
  }
80
83
 
84
+ id = module.get.uniqueID();
85
+ elementNamespace = '.' + id;
86
+
81
87
  $dimmable = $context
82
88
  .dimmer({
83
89
  debug : settings.debug,
@@ -95,8 +101,7 @@ $.fn.modal = function(parameters) {
95
101
  }
96
102
 
97
103
  $dimmer = $dimmable.dimmer('get dimmer');
98
- $otherModals = $module.siblings(selector.modal);
99
- $allModals = $otherModals.add($module);
104
+ module.refreshModals();
100
105
 
101
106
  module.verbose('Attaching close events', $close);
102
107
  module.bind.events();
@@ -119,6 +124,7 @@ $.fn.modal = function(parameters) {
119
124
  .removeData(moduleNamespace)
120
125
  .off(eventNamespace)
121
126
  ;
127
+ $window.off(elementNamespace);
122
128
  $close.off(eventNamespace);
123
129
  $context.dimmer('destroy');
124
130
  },
@@ -145,6 +151,11 @@ $.fn.modal = function(parameters) {
145
151
  module.set.position();
146
152
  },
147
153
 
154
+ refreshModals: function() {
155
+ $otherModals = $module.siblings(selector.modal);
156
+ $allModals = $otherModals.add($module);
157
+ },
158
+
148
159
  attachEvents: function(selector, event) {
149
160
  var
150
161
  $toggle = $(selector)
@@ -171,11 +182,17 @@ $.fn.modal = function(parameters) {
171
182
  .on('click' + eventNamespace, module.event.close)
172
183
  ;
173
184
  $window
174
- .on('resize' + eventNamespace, module.event.resize)
185
+ .on('resize' + elementNamespace, module.event.resize)
175
186
  ;
176
187
  }
177
188
  },
178
189
 
190
+ get: {
191
+ uniqueID: function() {
192
+ return (Math.random().toString(16) + '000000000').substr(2,8);
193
+ }
194
+ },
195
+
179
196
  event: {
180
197
  close: function() {
181
198
  module.verbose('Closing element pressed');
@@ -200,15 +217,17 @@ $.fn.modal = function(parameters) {
200
217
  }
201
218
  },
202
219
  click: function(event) {
203
- if( $(event.target).closest(selector.modal).size() === 0 ) {
220
+ if( $(event.target).closest($module).size() === 0 ) {
204
221
  module.debug('Dimmer clicked, hiding all modals');
205
- if(settings.allowMultiple) {
206
- module.hide();
207
- }
208
- else {
209
- module.hideAll();
222
+ if( module.is.active() ) {
223
+ module.remove.clickaway();
224
+ if(settings.allowMultiple) {
225
+ module.hide();
226
+ }
227
+ else {
228
+ module.hideAll();
229
+ }
210
230
  }
211
- event.stopImmediatePropagation();
212
231
  }
213
232
  },
214
233
  debounce: function(method, delay) {
@@ -252,10 +271,23 @@ $.fn.modal = function(parameters) {
252
271
  ? callback
253
272
  : function(){}
254
273
  ;
274
+ module.refreshModals();
255
275
  module.showDimmer();
256
276
  module.showModal(callback);
257
277
  },
258
278
 
279
+ hide: function(callback) {
280
+ callback = $.isFunction(callback)
281
+ ? callback
282
+ : function(){}
283
+ ;
284
+ module.refreshModals();
285
+ if( !module.othersActive() ) {
286
+ module.hideDimmer();
287
+ }
288
+ module.hideModal(callback);
289
+ },
290
+
259
291
  showModal: function(callback) {
260
292
  callback = $.isFunction(callback)
261
293
  ? callback
@@ -263,7 +295,7 @@ $.fn.modal = function(parameters) {
263
295
  ;
264
296
  if( !module.is.active() ) {
265
297
 
266
- if( $otherModals.filter(':visible').size() > 0 && !settings.allowMultiple) {
298
+ if( !settings.allowMultiple && $otherModals.filter(':visible').size() > 0) {
267
299
  module.debug('Other modals visible, queueing show animation');
268
300
  module.hideOthers(module.showModal);
269
301
  }
@@ -275,15 +307,13 @@ $.fn.modal = function(parameters) {
275
307
  module.set.position();
276
308
  module.set.screenHeight();
277
309
  module.set.type();
310
+ module.set.clickaway();
278
311
  $module
279
312
  .transition({
280
313
  debug : settings.debug,
281
314
  animation : settings.transition + ' in',
282
315
  queue : false,
283
316
  duration : settings.duration,
284
- onStart : function() {
285
- module.set.clickaway();
286
- },
287
317
  onComplete : function() {
288
318
  $.proxy(settings.onVisible, element)();
289
319
  module.add.keyboardShortcuts();
@@ -324,29 +354,17 @@ $.fn.modal = function(parameters) {
324
354
  }
325
355
  },
326
356
 
327
- hide: function(callback) {
328
- callback = $.isFunction(callback)
329
- ? callback
330
- : function(){}
331
- ;
332
- if($allModals.filter(':visible').size() <= 1) {
333
- module.hideDimmer();
334
- }
335
- module.hideModal(callback);
336
- },
337
-
338
357
  hideDimmer: function() {
339
358
  if( !($dimmable.dimmer('is active') || $dimmable.dimmer('is animating')) ) {
340
359
  module.debug('Dimmer is not visible cannot hide');
341
360
  return;
342
361
  }
343
362
  module.debug('Hiding dimmer');
344
- module.remove.clickaway();
345
363
  $dimmable.dimmer('hide', function() {
346
364
  if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
365
+ module.remove.clickaway();
347
366
  module.remove.screenHeight();
348
367
  }
349
- module.remove.active();
350
368
  });
351
369
  },
352
370
 
@@ -358,6 +376,7 @@ $.fn.modal = function(parameters) {
358
376
  module.debug('Hiding modal');
359
377
  $.proxy(settings.onHide, element)();
360
378
  if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
379
+ module.remove.active();
361
380
  $module
362
381
  .transition({
363
382
  debug : settings.debug,
@@ -369,7 +388,6 @@ $.fn.modal = function(parameters) {
369
388
  },
370
389
  onComplete : function() {
371
390
  $.proxy(settings.onHidden, element)();
372
- module.remove.active();
373
391
  module.restore.focus();
374
392
  callback();
375
393
  }
@@ -377,11 +395,11 @@ $.fn.modal = function(parameters) {
377
395
  ;
378
396
  }
379
397
  else {
398
+ module.remove.active();
380
399
  module.remove.keyboardShortcuts();
381
400
  $module
382
401
  .fadeOut(settings.duration, settings.easing, function() {
383
402
  $.proxy(settings.onHidden, element)();
384
- module.remove.active();
385
403
  module.restore.focus();
386
404
  callback();
387
405
  })
@@ -418,6 +436,10 @@ $.fn.modal = function(parameters) {
418
436
  }
419
437
  },
420
438
 
439
+ othersActive: function() {
440
+ return ($otherModals.filter('.' + className.active).size() > 0);
441
+ },
442
+
421
443
  add: {
422
444
  keyboardShortcuts: function() {
423
445
  module.verbose('Adding keyboard shortcuts');
@@ -448,7 +470,7 @@ $.fn.modal = function(parameters) {
448
470
  clickaway: function() {
449
471
  if(settings.closable) {
450
472
  $dimmer
451
- .off('click' + eventNamespace)
473
+ .off('click' + elementNamespace)
452
474
  ;
453
475
  }
454
476
  },
@@ -504,6 +526,9 @@ $.fn.modal = function(parameters) {
504
526
  : $module.is(':visible')
505
527
  ;
506
528
  },
529
+ scrolling: function() {
530
+ return $dimmable.hasClass(className.scrolling);
531
+ },
507
532
  modernBrowser: function() {
508
533
  // appName for IE11 reports 'Netscape' can no longer use
509
534
  return !(window.ActiveXObject || "ActiveXObject" in window);
@@ -526,8 +551,7 @@ $.fn.modal = function(parameters) {
526
551
  clickaway: function() {
527
552
  if(settings.closable) {
528
553
  $dimmer
529
- .off('click' + eventNamespace)
530
- .on('click' + eventNamespace, module.event.click)
554
+ .on('click' + elementNamespace, module.event.click)
531
555
  ;
532
556
  }
533
557
  },
@@ -552,7 +576,9 @@ $.fn.modal = function(parameters) {
552
576
  type: function() {
553
577
  if(module.can.fit()) {
554
578
  module.verbose('Modal fits on screen');
555
- module.remove.scrolling();
579
+ if(!module.othersActive) {
580
+ module.remove.scrolling();
581
+ }
556
582
  }
557
583
  else {
558
584
  module.verbose('Modal cannot fit on screen setting to scrolling');
@@ -73,10 +73,9 @@ $.fn.progress = function(parameters) {
73
73
  },
74
74
 
75
75
  destroy: function() {
76
- module.verbose('Destroying previous dropdown for', $module);
77
- $module
78
- .removeData(moduleNamespace)
79
- ;
76
+ module.verbose('Destroying previous progress for', $module);
77
+ module.remove.state();
78
+ $module.removeData(moduleNamespace);
80
79
  instance = undefined;
81
80
  },
82
81
 
@@ -216,6 +215,12 @@ $.fn.progress = function(parameters) {
216
215
  },
217
216
 
218
217
  remove: {
218
+ state: function() {
219
+ module.verbose('Removing stored state');
220
+ delete module.total;
221
+ delete module.percent;
222
+ delete module.value;
223
+ },
219
224
  active: function() {
220
225
  module.verbose('Removing active state');
221
226
  $module.removeClass(className.active);
@@ -239,27 +244,34 @@ $.fn.progress = function(parameters) {
239
244
  if(value > 100) {
240
245
  module.error(error.tooHigh, value);
241
246
  }
242
- $bar
243
- .css('width', value + '%')
244
- ;
247
+ else if (value < 0) {
248
+ module.error(error.tooLow, value);
249
+ }
250
+ else {
251
+ $bar
252
+ .css('width', value + '%')
253
+ ;
254
+ }
245
255
  },
246
256
  initials: function() {
247
- if(settings.value) {
248
- module.verbose('Current value set in settings', settings.value);
249
- module.value = settings.value;
250
- }
251
- if(settings.total) {
257
+
258
+ if(settings.total !== false) {
252
259
  module.verbose('Current total set in settings', settings.total);
253
260
  module.total = settings.total;
254
261
  }
255
- if(settings.percent) {
262
+ if(settings.value !== false) {
263
+ module.verbose('Current value set in settings', settings.value);
264
+ module.value = settings.value;
265
+ }
266
+ if(settings.percent !== false) {
256
267
  module.verbose('Current percent set in settings', settings.percent);
257
268
  module.percent = settings.percent;
258
269
  }
259
- if(module.percent) {
270
+
271
+ if(module.percent !== undefined) {
260
272
  module.set.percent(module.percent);
261
273
  }
262
- else if(module.value) {
274
+ else if(module.value !== undefined) {
263
275
  module.set.progress(module.value);
264
276
  }
265
277
  },
@@ -283,6 +295,14 @@ $.fn.progress = function(parameters) {
283
295
  if(module.total) {
284
296
  module.value = Math.round( (percent / 100) * module.total);
285
297
  }
298
+ if(settings.limitValues) {
299
+ module.value = (module.value > 100)
300
+ ? 100
301
+ : (module.value < 0)
302
+ ? 0
303
+ : module.value
304
+ ;
305
+ }
286
306
  module.set.barWidth(percent);
287
307
  module.set.barLabel();
288
308
  if(percent === 100) {
@@ -294,7 +314,7 @@ $.fn.progress = function(parameters) {
294
314
  module.remove.active();
295
315
  }
296
316
  }
297
- else {
317
+ else if(percent > 0) {
298
318
  module.set.active();
299
319
  }
300
320
  $.proxy(settings.onChange, element)(percent, module.value, module.total);
@@ -385,8 +405,8 @@ $.fn.progress = function(parameters) {
385
405
  : value,
386
406
  percentComplete
387
407
  ;
388
- if(!numericValue) {
389
- module.error(error.nonNumeric);
408
+ if(numericValue === false) {
409
+ module.error(error.nonNumeric, value);
390
410
  }
391
411
  if(module.total) {
392
412
  module.value = numericValue;
@@ -584,7 +604,7 @@ $.fn.progress.settings = {
584
604
  name : 'Progress',
585
605
  namespace : 'progress',
586
606
 
587
- debug : true,
607
+ debug : false,
588
608
  verbose : true,
589
609
  performance : true,
590
610
 
@@ -595,6 +615,7 @@ $.fn.progress.settings = {
595
615
 
596
616
  autoSuccess : true,
597
617
  showActivity : true,
618
+ limitValues : true,
598
619
 
599
620
  label : 'percent',
600
621
  precision : 1,
@@ -611,7 +632,9 @@ $.fn.progress.settings = {
611
632
 
612
633
  error : {
613
634
  method : 'The method you called is not defined.',
614
- nonNumeric : 'Progress value is non numeric'
635
+ nonNumeric : 'Progress value is non numeric',
636
+ tooHigh : 'Value specified is above 100%',
637
+ tooLow : 'Value specified is below 0%'
615
638
  },
616
639
 
617
640
  regExp: {
@@ -16,6 +16,8 @@
16
16
  $.fn.sidebar = function(parameters) {
17
17
  var
18
18
  $allModules = $(this),
19
+ $window = $(window),
20
+ $document = $(document),
19
21
  $head = $('head'),
20
22
 
21
23
  moduleSelector = $allModules.selector || '',
@@ -61,6 +63,8 @@ $.fn.sidebar = function(parameters) {
61
63
  element = this,
62
64
  instance = $module.data(moduleNamespace),
63
65
 
66
+ elementNamespace,
67
+ id,
64
68
  currentScroll,
65
69
  transitionEvent,
66
70
 
@@ -80,7 +84,10 @@ $.fn.sidebar = function(parameters) {
80
84
  settings.useLegacy = true;
81
85
  }
82
86
 
83
- // avoid locking rendering if included in onReady
87
+ id = module.get.uniqueID();
88
+ elementNamespace = '.' + id;
89
+
90
+ // avoids locking rendering if initialized in onReady
84
91
  requestAnimationFrame(module.setup.layout);
85
92
 
86
93
  module.instantiate();
@@ -101,6 +108,10 @@ $.fn.sidebar = function(parameters) {
101
108
  .off(eventNamespace)
102
109
  .removeData(moduleNamespace)
103
110
  ;
111
+ // bound by uuid
112
+ $context.off(elementNamespace);
113
+ $window.off(elementNamespace);
114
+ $document.off(elementNamespace);
104
115
  },
105
116
 
106
117
  event: {
@@ -130,31 +141,40 @@ $.fn.sidebar = function(parameters) {
130
141
 
131
142
  bind: {
132
143
  clickaway: function() {
144
+ module.verbose('Adding clickaway events to context', $context);
145
+ if(settings.closable) {
146
+ $context
147
+ .on('click' + elementNamespace, module.event.clickaway)
148
+ .on('touchend' + elementNamespace, module.event.clickaway)
149
+ ;
150
+ }
151
+ },
152
+ scrollLock: function() {
133
153
  if(settings.scrollLock) {
134
- $(window)
135
- .on('DOMMouseScroll' + eventNamespace, module.event.scroll)
154
+ module.debug('Disabling page scroll');
155
+ $window
156
+ .on('DOMMouseScroll' + elementNamespace, module.event.scroll)
136
157
  ;
137
158
  }
138
- $(document)
139
- .on('touchmove' + eventNamespace, module.event.touch)
159
+ module.verbose('Adding events to contain sidebar scroll');
160
+ $document
161
+ .on('touchmove' + elementNamespace, module.event.touch)
140
162
  ;
141
163
  $module
142
164
  .on('scroll' + eventNamespace, module.event.containScroll)
143
165
  ;
144
- if(settings.closable) {
145
- $context
146
- .on('click' + eventNamespace, module.event.clickaway)
147
- .on('touchend' + eventNamespace, module.event.clickaway)
148
- ;
149
- }
150
166
  }
151
167
  },
152
168
  unbind: {
153
169
  clickaway: function() {
154
- $context.off(eventNamespace);
155
- $pusher.off(eventNamespace);
156
- $(document).off(eventNamespace);
157
- $(window).off(eventNamespace);
170
+ module.verbose('Removing clickaway events from context', $context);
171
+ $context.off(elementNamespace);
172
+ },
173
+ scrollLock: function() {
174
+ module.verbose('Removing scroll lock from page');
175
+ $document.off(elementNamespace);
176
+ $window.off(elementNamespace);
177
+ $module.off('scroll' + eventNamespace);
158
178
  }
159
179
  },
160
180
 
@@ -239,6 +259,11 @@ $.fn.sidebar = function(parameters) {
239
259
  $pusher = $context.children(selector.pusher);
240
260
  },
241
261
 
262
+ refreshSidebars: function() {
263
+ module.verbose('Refreshing other sidebars');
264
+ $sidebars = $context.children(selector.sidebar);
265
+ },
266
+
242
267
  repaint: function() {
243
268
  module.verbose('Forcing repaint event');
244
269
  element.style.display='none';
@@ -261,7 +286,7 @@ $.fn.sidebar = function(parameters) {
261
286
  ;
262
287
  module.refresh();
263
288
  }
264
- if($module.nextAll(selector.pusher).size() == 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {
289
+ if($module.nextAll(selector.pusher).size() === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {
265
290
  module.debug('Moved sidebar to correct parent element');
266
291
  module.error(error.movedSidebar, element);
267
292
  $module.detach().prependTo($context);
@@ -301,7 +326,8 @@ $.fn.sidebar = function(parameters) {
301
326
  ? callback
302
327
  : function(){}
303
328
  ;
304
- if(module.is.closed()) {
329
+ if(module.is.hidden()) {
330
+ module.refreshSidebars();
305
331
  if(settings.overlay) {
306
332
  module.error(error.overlay);
307
333
  settings.transition = 'overlay';
@@ -337,6 +363,7 @@ $.fn.sidebar = function(parameters) {
337
363
  ;
338
364
  if(module.is.visible() || module.is.animating()) {
339
365
  module.debug('Hiding sidebar', callback);
366
+ module.refreshSidebars();
340
367
  animateMethod(function() {
341
368
  $.proxy(callback, element)();
342
369
  $.proxy(settings.onHidden, element)();
@@ -349,9 +376,6 @@ $.fn.sidebar = function(parameters) {
349
376
  othersVisible: function() {
350
377
  return ($sidebars.not($module).filter('.' + className.visible).size() > 0);
351
378
  },
352
- othersActive: function() {
353
- return ($sidebars.not($module).filter('.' + className.active).size() > 0);
354
- },
355
379
 
356
380
  hideOthers: function(callback) {
357
381
  var
@@ -372,7 +396,7 @@ $.fn.sidebar = function(parameters) {
372
396
 
373
397
  toggle: function() {
374
398
  module.verbose('Determining toggled direction');
375
- if(module.is.closed()) {
399
+ if(module.is.hidden()) {
376
400
  module.show();
377
401
  }
378
402
  else {
@@ -401,10 +425,11 @@ $.fn.sidebar = function(parameters) {
401
425
  module.set.transition();
402
426
  module.repaint();
403
427
  animate = function() {
428
+ module.bind.clickaway();
404
429
  module.add.bodyCSS();
405
430
  module.set.animating();
406
431
  module.set.visible();
407
- if(!module.othersActive()) {
432
+ if(!module.othersVisible()) {
408
433
  if(settings.dimPage) {
409
434
  $pusher.addClass(className.dimmed);
410
435
  }
@@ -412,13 +437,14 @@ $.fn.sidebar = function(parameters) {
412
437
  };
413
438
  transitionEnd = function(event) {
414
439
  if( event.target == $transition[0] ) {
415
- $transition.off(transitionEvent + eventNamespace, transitionEnd);
440
+ $transition.off(transitionEvent + elementNamespace, transitionEnd);
416
441
  module.remove.animating();
417
- module.bind.clickaway();
442
+ module.bind.scrollLock();
418
443
  $.proxy(callback, element)();
419
444
  }
420
445
  };
421
- $transition.on(transitionEvent + eventNamespace, transitionEnd);
446
+ $transition.off(transitionEvent + elementNamespace);
447
+ $transition.on(transitionEvent + elementNamespace, transitionEnd);
422
448
  requestAnimationFrame(animate);
423
449
  },
424
450
 
@@ -427,7 +453,7 @@ $.fn.sidebar = function(parameters) {
427
453
  transition = module.get.transition(),
428
454
  $transition = (transition == 'safe')
429
455
  ? $context
430
- : (transition == 'overlay' || module.othersActive())
456
+ : (transition == 'overlay' || module.othersVisible())
431
457
  ? $module
432
458
  : $pusher,
433
459
  animate,
@@ -438,19 +464,20 @@ $.fn.sidebar = function(parameters) {
438
464
  : function(){}
439
465
  ;
440
466
  module.verbose('Removing context push state', module.get.direction());
441
- if(!module.othersActive()) {
442
- module.unbind.clickaway();
443
- }
467
+
468
+ module.unbind.clickaway();
469
+ module.unbind.scrollLock();
470
+
444
471
  animate = function() {
445
472
  module.set.animating();
446
473
  module.remove.visible();
447
- if(settings.dimPage && !module.othersActive()) {
474
+ if(settings.dimPage && !module.othersVisible()) {
448
475
  $pusher.removeClass(className.dimmed);
449
476
  }
450
477
  };
451
478
  transitionEnd = function(event) {
452
479
  if( event.target == $transition[0] ) {
453
- $transition.off(transitionEvent + eventNamespace, transitionEnd);
480
+ $transition.off(transitionEvent + elementNamespace, transitionEnd);
454
481
  module.remove.animating();
455
482
  module.remove.transition();
456
483
  module.remove.bodyCSS();
@@ -460,7 +487,8 @@ $.fn.sidebar = function(parameters) {
460
487
  $.proxy(callback, element)();
461
488
  }
462
489
  };
463
- $transition.on(transitionEvent + eventNamespace, transitionEnd);
490
+ $transition.off(transitionEvent + elementNamespace);
491
+ $transition.on(transitionEvent + elementNamespace, transitionEnd);
464
492
  requestAnimationFrame(animate);
465
493
  },
466
494
 
@@ -646,6 +674,9 @@ $.fn.sidebar = function(parameters) {
646
674
  return transitions[transition];
647
675
  }
648
676
  }
677
+ },
678
+ uniqueID: function() {
679
+ return (Math.random().toString(16) + '000000000').substr(2,8);
649
680
  }
650
681
  },
651
682
 
@@ -698,12 +729,19 @@ $.fn.sidebar = function(parameters) {
698
729
  return false;
699
730
  }
700
731
  },
701
- closed: function() {
732
+ hidden: function() {
702
733
  return !module.is.visible();
703
734
  },
704
735
  visible: function() {
705
736
  return $module.hasClass(className.visible);
706
737
  },
738
+ // alias
739
+ open: function() {
740
+ return module.is.visible();
741
+ },
742
+ closed: function() {
743
+ return module.is.hidden();
744
+ },
707
745
  vertical: function() {
708
746
  return $module.hasClass(className.top);
709
747
  },
@@ -98,6 +98,7 @@
98
98
  .ui.form input[type="text"],
99
99
  .ui.form input[type="email"],
100
100
  .ui.form input[type="date"],
101
+ .ui.form input[type="datetime-local"],
101
102
  .ui.form input[type="password"],
102
103
  .ui.form input[type="number"],
103
104
  .ui.form input[type="url"],
@@ -110,6 +111,7 @@
110
111
  .ui.form input[type="text"],
111
112
  .ui.form input[type="email"],
112
113
  .ui.form input[type="date"],
114
+ .ui.form input[type="datetime-local"],
113
115
  .ui.form input[type="password"],
114
116
  .ui.form input[type="number"],
115
117
  .ui.form input[type="url"],
@@ -294,6 +296,7 @@
294
296
  .ui.form input[type="text"]:focus,
295
297
  .ui.form input[type="email"]:focus,
296
298
  .ui.form input[type="date"]:focus,
299
+ .ui.form input[type="datetime-local"]:focus,
297
300
  .ui.form input[type="password"]:focus,
298
301
  .ui.form input[type="number"]:focus,
299
302
  .ui.form input[type="url"]:focus,
@@ -358,6 +361,7 @@
358
361
  .ui.form .fields.error .field input[type="text"],
359
362
  .ui.form .fields.error .field input[type="email"],
360
363
  .ui.form .fields.error .field input[type="date"],
364
+ .ui.form .fields.error .field input[type="datetime-local"],
361
365
  .ui.form .fields.error .field input[type="password"],
362
366
  .ui.form .fields.error .field input[type="number"],
363
367
  .ui.form .fields.error .field input[type="url"],
@@ -366,6 +370,7 @@
366
370
  .ui.form .field.error input[type="text"],
367
371
  .ui.form .field.error input[type="email"],
368
372
  .ui.form .field.error input[type="date"],
373
+ .ui.form .field.error input[type="datetime-local"],
369
374
  .ui.form .field.error input[type="password"],
370
375
  .ui.form .field.error input[type="number"],
371
376
  .ui.form .field.error input[type="url"],
@@ -380,6 +385,7 @@
380
385
  .ui.form .field.error input[type="text"]:focus,
381
386
  .ui.form .field.error input[type="email"]:focus,
382
387
  .ui.form .field.error input[type="date"]:focus,
388
+ .ui.form .field.error input[type="datetime-local"]:focus,
383
389
  .ui.form .field.error input[type="password"]:focus,
384
390
  .ui.form .field.error input[type="number"]:focus,
385
391
  .ui.form .field.error input[type="url"]:focus,
@@ -533,15 +539,27 @@
533
539
  ---------------------*/
534
540
 
535
541
  .ui.form .required.fields > .field > label:after,
536
- .ui.form .required.fields > .field > .checkbox:after,
537
542
  .ui.form .required.field > label:after,
543
+ .ui.form .required.fields > .field > .checkbox:after,
538
544
  .ui.form .required.field > .checkbox:after {
539
- margin: -0.2em 0em 0em 0.2em;
540
- vertical-align: top;
541
- content: '*';
545
+ margin: @requiredMargin;
546
+ content: @requiredContent;
542
547
  color: @requiredColor;
543
548
  }
544
549
 
550
+ .ui.form .required.fields > .field > label:after,
551
+ .ui.form .required.field > label:after {
552
+ display: inline-block;
553
+ vertical-align: top;
554
+ }
555
+
556
+ .ui.form .required.fields > .field > .checkbox:after,
557
+ .ui.form .required.field > .checkbox:after {
558
+ position: absolute;
559
+ top: 0%;
560
+ left: 100%;
561
+ }
562
+
545
563
 
546
564
  /*******************************
547
565
  Variations
@@ -1586,52 +1586,45 @@
1586
1586
  .ui.stackable.grid {
1587
1587
  display: block !important;
1588
1588
  width: auto;
1589
+ margin-left: -(@stackableGutter / 2);
1590
+ margin-right: -(@stackableGutter / 2);
1589
1591
  padding: 0em;
1590
- margin-top: 0em;
1591
- margin-bottom: 0em;
1592
- }
1593
- :not(.column) > .ui.stackable.grid {
1594
- margin: 0em;
1595
1592
  }
1596
1593
  .ui.stackable.grid > .row > .wide.column,
1597
1594
  .ui.stackable.grid > .wide.column,
1598
1595
  .ui.stackable.grid > .column.grid > .column,
1599
1596
  .ui.stackable.grid > .column.row > .column,
1600
1597
  .ui.stackable.grid > .row > .column,
1601
- .ui.stackable.grid > .column {
1598
+ .ui.stackable.grid > .column:not(.row) {
1602
1599
  display: block !important;
1603
1600
  width: auto !important;
1604
1601
 
1605
- margin: (@stackableRowSpacing / 4) 0em !important;
1606
- padding: (@stackableRowSpacing / 4) (@stackableGutter / 2) 0em !important;
1607
-
1602
+ margin: 0em 0em !important;
1603
+ padding: (@stackableRowSpacing / 2) (@stackableGutter) !important;
1608
1604
  box-shadow: none !important;
1609
1605
  }
1606
+ .ui.stackable.grid > .row {
1607
+ margin: 0em;
1608
+ padding: 0em;
1609
+ }
1610
1610
 
1611
- .ui.stackable.celled.grid > .column,
1611
+ .ui.stackable.celled.grid > .column:not(.row),
1612
+ .ui.stackable.divided.grid > .column:not(.row),
1612
1613
  .ui.stackable.celled.grid > .row > .column,
1613
- .ui.stackable.divided.grid > .column,
1614
1614
  .ui.stackable.divided.grid > .row > .column {
1615
1615
  border-top: @stackableMobileBorder;
1616
1616
  box-shadow: none !important;
1617
- margin: (@stackableRowSpacing) 0em !important;
1618
- padding: (@stackableRowSpacing) (@stackableGutter / 2) 0em !important;
1619
1617
  }
1620
- .ui.inverted.stackable.celled.grid > .column,
1618
+ .ui.inverted.stackable.celled.grid > .column:not(.row),
1619
+ .ui.inverted.stackable.divided.grid > .column:not(.row),
1621
1620
  .ui.inverted.stackable.celled.grid > .row > .column,
1622
- .ui.inverted.stackable.divided.grid > .column,
1623
1621
  .ui.inverted.stackable.divided.grid > .row > .column {
1624
1622
  border-top: @stackableInvertedMobileBorder;
1625
1623
  }
1626
- .ui.stackable.grid > .row:first-child > .column:first-child,
1627
- .ui.stackable.grid > .column:first-child {
1628
- margin-top: 0em !important;
1629
- padding-top: 0em !important;
1630
- }
1631
1624
  .ui.stackable.divided.grid > .row:first-child > .column:first-child,
1632
1625
  .ui.stackable.celled.grid > .row:first-child > .column:first-child,
1633
- .ui.stackable.divided.grid > .column:first-child,
1634
- .ui.stackable.celled.grid > .column:first-child {
1626
+ .ui.stackable.divided.grid > .column:not(.row):first-child,
1627
+ .ui.stackable.celled.grid > .column:not(.row):first-child {
1635
1628
  border-top: none !important;
1636
1629
  }
1637
1630
 
@@ -293,12 +293,12 @@
293
293
  }
294
294
 
295
295
  /* Meta */
296
- .ui.cards > .card .meta a,
297
- .ui.card .meta a {
296
+ .ui.cards > .card .meta > a:not(.ui),
297
+ .ui.card .meta > a:not(.ui) {
298
298
  color: @metaLinkColor;
299
299
  }
300
- .ui.cards > .card .meta a:hover,
301
- .ui.card .meta a:hover {
300
+ .ui.cards > .card .meta > a:not(.ui):hover,
301
+ .ui.card .meta > a:not(.ui):hover {
302
302
  color: @metaLinkHoverColor;
303
303
  }
304
304
 
@@ -255,10 +255,10 @@
255
255
  }
256
256
 
257
257
  /* Meta */
258
- .ui.items > .item .meta a {
258
+ .ui.items > .item .meta > a:not(.ui) {
259
259
  color: @metaLinkColor;
260
260
  }
261
- .ui.items > .item .meta a:hover {
261
+ .ui.items > .item .meta > a:not(.ui):hover {
262
262
  color: @metaLinkHoverColor;
263
263
  }
264
264
 
@@ -141,8 +141,11 @@
141
141
  --------------------*/
142
142
 
143
143
  /* Required */
144
+ @requiredContent: '*';
144
145
  @requiredColor: @negativeColor;
145
146
  @requiredVerticalOffset: -0.2em;
147
+ @requiredDistance: 0.2em;
148
+ @requiredMargin: @requiredVerticalOffset 0em 0em @requiredDistance;
146
149
 
147
150
  /* Inverted */
148
151
  @invertedLabelColor: @invertedTextColor;
@@ -20,7 +20,6 @@
20
20
  @rowSpacing: 2rem;
21
21
 
22
22
  @tableWidth: ~"calc(100% + "@gutterWidth~")";
23
-
24
23
  @columnMaxImageWidth: 100%;
25
24
 
26
25
  /*******************************
@@ -13,9 +13,10 @@
13
13
  @importGoogleFonts : true;
14
14
  @googleFontName : 'Lato';
15
15
  @googleFontSizes : '400,700,400italic,700italic';
16
+ @googleSubset : 'latin';
16
17
 
17
18
  @googleProtocol : 'http://';
18
- @googleFontRequest : '@{googleFontName}:@{googleFontSizes}';
19
+ @googleFontRequest : '@{googleFontName}:@{googleFontSizes}&subset=@{googleSubset}';
19
20
 
20
21
  /*-------------------
21
22
  Base Sizes
@@ -7,7 +7,7 @@
7
7
  @width: 90%;
8
8
  @xOffset: -(@width / 2);
9
9
  @borderRadius: @defaultBorderRadius;
10
- @boxShadow: 0px 0px 8px rgba(0, 0, 0, 0.8);
10
+ @boxShadow: 0 1px 4px 1px rgba(0, 0, 0, 0.3);
11
11
 
12
12
  /* Close Icon */
13
13
  @closeOpacity: 0.8;
@@ -80,11 +80,13 @@
80
80
  @likeActiveColor: #EF404A;
81
81
 
82
82
  /* Links */
83
- @contentLinkColor: @linkColor;
83
+ @contentLinkColor: '';
84
+ @contentLinkHoverColor: '';
84
85
  @contentLinkTransition: color @transitionDuration @transitionEasing;
85
- @contentLinkHoverColor: @linkHoverColor;
86
+
86
87
  @headerLinkColor: @headerColor;
87
88
  @headerLinkHoverColor: @linkHoverColor;
89
+
88
90
  @metaLinkColor: @lightTextColor;
89
91
  @metaLinkHoverColor: @textColor;
90
92
 
@@ -88,13 +88,14 @@
88
88
  @likeActiveColor: #FF2733;
89
89
 
90
90
  /* Links */
91
- @contentLinkTransition: color @transitionDuration @transitionEasing;
92
- @contentLinkColor: @linkColor;
93
- @contentLinkHoverColor: @linkHoverColor;
94
91
  @headerLinkColor: @headerColor;
95
92
  @headerLinkHoverColor: @linkHoverColor;
96
93
  @metaLinkColor: @lightTextColor;
97
94
  @metaLinkHoverColor: @textColor;
95
+ @contentLinkColor: '';
96
+ @contentLinkHoverColor: '';
97
+ @contentLinkTransition: color @transitionDuration @transitionEasing;
98
+
98
99
 
99
100
  /* Description */
100
101
  @descriptionDistance: 0.6em;
@@ -20,6 +20,4 @@
20
20
  @widescreenMargin: auto;
21
21
  @widescreenMonitorGutter: 0;
22
22
 
23
- @tableWidth: '';
24
- @relaxedTableWidth: '';
25
- @veryRelaxedTableWidth: '';
23
+ @tableWidth: '';
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = 'less-rails-semantic_ui'
6
- spec.version = '1.1.2.0'
6
+ spec.version = '1.2.0.0'
7
7
  spec.authors = ['Maxim Dobryakov']
8
8
  spec.email = ['maxim.dobryakov@gmail.com']
9
9
  spec.summary = %q{Semantic UI assets for Rails}
data/tasks/update.rake CHANGED
@@ -99,7 +99,7 @@ namespace :update do
99
99
  patch(theme_config_file) do |content|
100
100
  content = must_be_changed(content) { |c| c.sub(%r{\/\*.*?\*\/}m, '') }
101
101
  content = must_be_changed(content) { |c| c.gsub(%q{@themesFolder : 'themes/';}, %q{@themesFolder : 'semantic_ui/themes/';}) }
102
- content = must_be_changed(content) { |c| c.gsub(%q{@siteFolder : '_site/';}, %q{@siteFolder : 'semantic_ui/config/';}) }
102
+ content = must_be_changed(content) { |c| c.gsub(%q{@siteFolder : 'site/';}, %q{@siteFolder : 'semantic_ui/config/';}) }
103
103
  must_be_changed(content) { |c| c.gsub(%q{@import "theme.less";}, %q{@import "semantic_ui/theme.less";}) }
104
104
  end
105
105
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: less-rails-semantic_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2.0
4
+ version: 1.2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxim Dobryakov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-05 00:00:00.000000000 Z
11
+ date: 2014-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: less-rails