less-rails-semantic_ui 1.1.2.0 → 1.2.0.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: 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