less-rails-semantic_ui 2.0.0.0 → 2.0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +1 -1
- data/assets/javascripts/semantic_ui/definitions/modules/checkbox.js +36 -27
- data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +51 -25
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +81 -40
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +1 -1
- data/assets/javascripts/semantic_ui/definitions/modules/progress.js +2 -1
- data/assets/javascripts/semantic_ui/definitions/modules/tab.js +8 -8
- data/assets/javascripts/semantic_ui/definitions/modules/transition.js +1 -1
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +5 -1
- data/assets/stylesheets/semantic_ui/definitions/elements/input.less +1 -1
- data/assets/stylesheets/semantic_ui/definitions/elements/label.less +6 -6
- data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +2 -2
- data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +9 -13
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +2 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +3 -3
- data/assets/stylesheets/semantic_ui/definitions/views/card.less +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +3 -3
- data/assets/stylesheets/semantic_ui/themes/default/elements/label.variables +7 -4
- data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +27 -12
- data/lib/less/rails/semantic_ui/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e31f0a1280d29f7cec4f57dca5c2f9ae67c099c
|
4
|
+
data.tar.gz: 0663534de3b0c70ab506132d7fe2e1d9a8f33a44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf1f83d11c8003ae0dd74c75d193d440ccb88b18c1a54f1401232641f9c8d2e267739044b36451f5efb15cf43eaf66ad119898559fa58eb3875024b3e798ea95
|
7
|
+
data.tar.gz: 062ca4f12057f416256ecfd4e506a20dc6a05bf1ed71f6b44bfa94bfcba3b96ed468573ed1a2ae0179fb2d9ef7117b587941012683a1b91f8de4cdfbd82769ab
|
data/.travis.yml
CHANGED
@@ -201,7 +201,7 @@ $.fn.form = function(parameters) {
|
|
201
201
|
isErrored = $fieldGroup.hasClass(className.error)
|
202
202
|
;
|
203
203
|
if(defaultValue === undefined) {
|
204
|
-
|
204
|
+
return;
|
205
205
|
}
|
206
206
|
if(isErrored) {
|
207
207
|
module.verbose('Resetting error on field', $fieldGroup);
|
@@ -271,6 +271,9 @@ $.fn.checkbox = function(parameters) {
|
|
271
271
|
;
|
272
272
|
return $('input[name="' + name + '"]').closest(selector.checkbox);
|
273
273
|
},
|
274
|
+
otherRadios: function() {
|
275
|
+
return module.get.radios().not($module);
|
276
|
+
},
|
274
277
|
name: function() {
|
275
278
|
return $input.attr('name');
|
276
279
|
}
|
@@ -314,25 +317,31 @@ $.fn.checkbox = function(parameters) {
|
|
314
317
|
|
315
318
|
set: {
|
316
319
|
checked: function() {
|
320
|
+
module.verbose('Setting class to checked');
|
321
|
+
$module
|
322
|
+
.removeClass(className.indeterminate)
|
323
|
+
.addClass(className.checked)
|
324
|
+
;
|
325
|
+
if( module.is.radio() ) {
|
326
|
+
module.uncheckOthers();
|
327
|
+
}
|
317
328
|
if(!module.is.indeterminate() && module.is.checked()) {
|
318
|
-
module.debug('Input is already checked');
|
329
|
+
module.debug('Input is already checked, skipping input property change');
|
319
330
|
return;
|
320
331
|
}
|
321
332
|
module.verbose('Setting state to checked', $input[0]);
|
322
|
-
if( module.is.radio() ) {
|
323
|
-
module.uncheckOthers();
|
324
|
-
}
|
325
333
|
$input
|
326
334
|
.prop('indeterminate', false)
|
327
335
|
.prop('checked', true)
|
328
336
|
;
|
329
|
-
$module
|
330
|
-
.removeClass(className.indeterminate)
|
331
|
-
.addClass(className.checked)
|
332
|
-
;
|
333
337
|
module.trigger.change();
|
334
338
|
},
|
335
339
|
unchecked: function() {
|
340
|
+
module.verbose('Removing checked class');
|
341
|
+
$module
|
342
|
+
.removeClass(className.indeterminate)
|
343
|
+
.removeClass(className.checked)
|
344
|
+
;
|
336
345
|
if(!module.is.indeterminate() && module.is.unchecked() ) {
|
337
346
|
module.debug('Input is already unchecked');
|
338
347
|
return;
|
@@ -342,63 +351,63 @@ $.fn.checkbox = function(parameters) {
|
|
342
351
|
.prop('indeterminate', false)
|
343
352
|
.prop('checked', false)
|
344
353
|
;
|
345
|
-
$module
|
346
|
-
.removeClass(className.indeterminate)
|
347
|
-
.removeClass(className.checked)
|
348
|
-
;
|
349
354
|
module.trigger.change();
|
350
355
|
},
|
351
356
|
indeterminate: function() {
|
357
|
+
module.verbose('Setting class to indeterminate');
|
358
|
+
$module
|
359
|
+
.addClass(className.indeterminate)
|
360
|
+
;
|
352
361
|
if( module.is.indeterminate() ) {
|
353
|
-
module.debug('Input is already indeterminate');
|
362
|
+
module.debug('Input is already indeterminate, skipping input property change');
|
354
363
|
return;
|
355
364
|
}
|
356
365
|
module.debug('Setting state to indeterminate');
|
357
366
|
$input
|
358
367
|
.prop('indeterminate', true)
|
359
368
|
;
|
360
|
-
$module
|
361
|
-
.addClass(className.indeterminate)
|
362
|
-
;
|
363
369
|
module.trigger.change();
|
364
370
|
},
|
365
371
|
determinate: function() {
|
372
|
+
module.verbose('Removing indeterminate class');
|
373
|
+
$module
|
374
|
+
.removeClass(className.indeterminate)
|
375
|
+
;
|
366
376
|
if( module.is.determinate() ) {
|
367
|
-
module.debug('Input is already determinate');
|
377
|
+
module.debug('Input is already determinate, skipping input property change');
|
368
378
|
return;
|
369
379
|
}
|
370
380
|
module.debug('Setting state to determinate');
|
371
381
|
$input
|
372
382
|
.prop('indeterminate', false)
|
373
383
|
;
|
374
|
-
$module
|
375
|
-
.removeClass(className.indeterminate)
|
376
|
-
;
|
377
384
|
},
|
378
385
|
disabled: function() {
|
386
|
+
module.verbose('Setting class to disabled');
|
387
|
+
$module
|
388
|
+
.addClass(className.disabled)
|
389
|
+
;
|
379
390
|
if( module.is.disabled() ) {
|
380
|
-
module.debug('Input is already disabled');
|
391
|
+
module.debug('Input is already disabled, skipping input property change');
|
381
392
|
return;
|
382
393
|
}
|
383
394
|
module.debug('Setting state to disabled');
|
384
395
|
$input
|
385
396
|
.prop('disabled', 'disabled')
|
386
397
|
;
|
387
|
-
$module
|
388
|
-
.addClass(className.disabled)
|
389
|
-
;
|
390
398
|
module.trigger.change();
|
391
399
|
},
|
392
400
|
enabled: function() {
|
401
|
+
module.verbose('Removing disabled class');
|
402
|
+
$module.removeClass(className.disabled);
|
393
403
|
if( module.is.enabled() ) {
|
394
|
-
module.debug('Input is already enabled');
|
404
|
+
module.debug('Input is already enabled, skipping input property change');
|
395
405
|
return;
|
396
406
|
}
|
397
407
|
module.debug('Setting state to enabled');
|
398
408
|
$input
|
399
409
|
.prop('disabled', false)
|
400
410
|
;
|
401
|
-
$module.removeClass(className.disabled);
|
402
411
|
module.trigger.change();
|
403
412
|
},
|
404
413
|
tabbable: function() {
|
@@ -459,7 +468,7 @@ $.fn.checkbox = function(parameters) {
|
|
459
468
|
|
460
469
|
uncheckOthers: function() {
|
461
470
|
var
|
462
|
-
$radios = module.get.
|
471
|
+
$radios = module.get.otherRadios()
|
463
472
|
;
|
464
473
|
module.debug('Unchecking other radios', $radios);
|
465
474
|
$radios.removeClass(className.checked);
|
@@ -82,28 +82,8 @@ $.fn.dimmer = function(parameters) {
|
|
82
82
|
|
83
83
|
initialize: function() {
|
84
84
|
module.debug('Initializing dimmer', settings);
|
85
|
-
if(settings.on == 'hover') {
|
86
|
-
$dimmable
|
87
|
-
.on('mouseenter' + eventNamespace, module.show)
|
88
|
-
.on('mouseleave' + eventNamespace, module.hide)
|
89
|
-
;
|
90
|
-
}
|
91
|
-
else if(settings.on == 'click') {
|
92
|
-
$dimmable
|
93
|
-
.on(clickEvent + eventNamespace, module.toggle)
|
94
|
-
;
|
95
|
-
}
|
96
|
-
if( module.is.page() ) {
|
97
|
-
module.debug('Setting as a page dimmer', $dimmable);
|
98
|
-
module.set.pageDimmer();
|
99
|
-
}
|
100
85
|
|
101
|
-
|
102
|
-
module.verbose('Adding dimmer close event', $dimmer);
|
103
|
-
$dimmable
|
104
|
-
.on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
|
105
|
-
;
|
106
|
-
}
|
86
|
+
module.bind.events();
|
107
87
|
module.set.dimmable();
|
108
88
|
module.instantiate();
|
109
89
|
},
|
@@ -118,14 +98,48 @@ $.fn.dimmer = function(parameters) {
|
|
118
98
|
|
119
99
|
destroy: function() {
|
120
100
|
module.verbose('Destroying previous module', $dimmer);
|
121
|
-
|
122
|
-
|
123
|
-
;
|
101
|
+
module.unbind.events();
|
102
|
+
module.remove.variation();
|
124
103
|
$dimmable
|
125
104
|
.off(eventNamespace)
|
126
105
|
;
|
127
106
|
},
|
128
107
|
|
108
|
+
bind: {
|
109
|
+
events: function() {
|
110
|
+
if(settings.on == 'hover') {
|
111
|
+
$dimmable
|
112
|
+
.on('mouseenter' + eventNamespace, module.show)
|
113
|
+
.on('mouseleave' + eventNamespace, module.hide)
|
114
|
+
;
|
115
|
+
}
|
116
|
+
else if(settings.on == 'click') {
|
117
|
+
$dimmable
|
118
|
+
.on(clickEvent + eventNamespace, module.toggle)
|
119
|
+
;
|
120
|
+
}
|
121
|
+
if( module.is.page() ) {
|
122
|
+
module.debug('Setting as a page dimmer', $dimmable);
|
123
|
+
module.set.pageDimmer();
|
124
|
+
}
|
125
|
+
|
126
|
+
if( module.is.closable() ) {
|
127
|
+
module.verbose('Adding dimmer close event', $dimmer);
|
128
|
+
$dimmable
|
129
|
+
.on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
|
130
|
+
;
|
131
|
+
}
|
132
|
+
}
|
133
|
+
},
|
134
|
+
|
135
|
+
unbind: {
|
136
|
+
events: function() {
|
137
|
+
$module
|
138
|
+
.removeData(moduleNamespace)
|
139
|
+
;
|
140
|
+
}
|
141
|
+
},
|
142
|
+
|
129
143
|
event: {
|
130
144
|
click: function(event) {
|
131
145
|
module.verbose('Determining if event occured on dimmer', event);
|
@@ -367,11 +381,11 @@ $.fn.dimmer = function(parameters) {
|
|
367
381
|
set: {
|
368
382
|
opacity: function(opacity) {
|
369
383
|
var
|
370
|
-
opacity = settings.opacity || opacity,
|
371
384
|
color = $dimmer.css('background-color'),
|
372
385
|
colorArray = color.split(','),
|
373
386
|
isRGBA = (colorArray && colorArray.length == 4)
|
374
387
|
;
|
388
|
+
opacity = settings.opacity || opacity;
|
375
389
|
if(isRGBA) {
|
376
390
|
colorArray[3] = opacity + ')';
|
377
391
|
color = colorArray.join(',');
|
@@ -396,6 +410,12 @@ $.fn.dimmer = function(parameters) {
|
|
396
410
|
},
|
397
411
|
disabled: function() {
|
398
412
|
$dimmer.addClass(className.disabled);
|
413
|
+
},
|
414
|
+
variation: function(variation) {
|
415
|
+
variation = variation || settings.variation;
|
416
|
+
if(variation) {
|
417
|
+
$dimmer.addClass(variation);
|
418
|
+
}
|
399
419
|
}
|
400
420
|
},
|
401
421
|
|
@@ -410,6 +430,12 @@ $.fn.dimmer = function(parameters) {
|
|
410
430
|
},
|
411
431
|
disabled: function() {
|
412
432
|
$dimmer.removeClass(className.disabled);
|
433
|
+
},
|
434
|
+
variation: function(variation) {
|
435
|
+
variation = variation || settings.variation;
|
436
|
+
if(variation) {
|
437
|
+
$dimmer.removeClass(variation);
|
438
|
+
}
|
413
439
|
}
|
414
440
|
},
|
415
441
|
|
@@ -267,7 +267,6 @@ $.fn.dropdown = function(parameters) {
|
|
267
267
|
if( $module.is('select') ) {
|
268
268
|
module.setup.select();
|
269
269
|
module.setup.returnedObject();
|
270
|
-
console.log($module);
|
271
270
|
}
|
272
271
|
if( module.is.search() && !module.has.search() ) {
|
273
272
|
module.verbose('Adding search input');
|
@@ -315,7 +314,6 @@ $.fn.dropdown = function(parameters) {
|
|
315
314
|
.detach()
|
316
315
|
.prependTo($module)
|
317
316
|
;
|
318
|
-
console.log($module);
|
319
317
|
}
|
320
318
|
if($input.is('[multiple]')) {
|
321
319
|
module.set.multiple();
|
@@ -475,7 +473,7 @@ $.fn.dropdown = function(parameters) {
|
|
475
473
|
if( module.is.searchSelection() ) {
|
476
474
|
// do nothing special yet
|
477
475
|
}
|
478
|
-
else {
|
476
|
+
else if( module.is.single() ) {
|
479
477
|
$module
|
480
478
|
.on('touchstart' + eventNamespace, module.event.test.toggle)
|
481
479
|
;
|
@@ -496,6 +494,7 @@ $.fn.dropdown = function(parameters) {
|
|
496
494
|
$module
|
497
495
|
.on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown)
|
498
496
|
.on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup)
|
497
|
+
.on('click' + eventNamespace, selector.icon, module.event.icon.click)
|
499
498
|
.on('click' + eventNamespace, selector.search, module.show)
|
500
499
|
.on('focus' + eventNamespace, selector.search, module.event.search.focus)
|
501
500
|
.on('blur' + eventNamespace, selector.search, module.event.search.blur)
|
@@ -503,13 +502,14 @@ $.fn.dropdown = function(parameters) {
|
|
503
502
|
;
|
504
503
|
if(module.is.multiple()) {
|
505
504
|
$module
|
506
|
-
.on('click'
|
505
|
+
.on('click' + eventNamespace, module.event.click)
|
507
506
|
;
|
508
507
|
}
|
509
508
|
}
|
510
509
|
else {
|
511
510
|
if(settings.on == 'click') {
|
512
511
|
$module
|
512
|
+
.on('click' + eventNamespace, selector.icon, module.event.icon.click)
|
513
513
|
.on('click' + eventNamespace, module.event.test.toggle)
|
514
514
|
;
|
515
515
|
}
|
@@ -781,7 +781,7 @@ $.fn.dropdown = function(parameters) {
|
|
781
781
|
$target = $(event.target)
|
782
782
|
;
|
783
783
|
// focus search
|
784
|
-
if(
|
784
|
+
if($target.is($module) && !module.is.focusedOnSearch()) {
|
785
785
|
module.focusSearch();
|
786
786
|
}
|
787
787
|
},
|
@@ -825,6 +825,12 @@ $.fn.dropdown = function(parameters) {
|
|
825
825
|
}
|
826
826
|
}
|
827
827
|
},
|
828
|
+
icon: {
|
829
|
+
click: function(event) {
|
830
|
+
module.toggle();
|
831
|
+
event.stopPropagation();
|
832
|
+
}
|
833
|
+
},
|
828
834
|
text: {
|
829
835
|
focus: function(event) {
|
830
836
|
activated = true;
|
@@ -957,7 +963,9 @@ $.fn.dropdown = function(parameters) {
|
|
957
963
|
;
|
958
964
|
if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) {
|
959
965
|
if(!settings.useLabels) {
|
966
|
+
module.remove.filteredItem();
|
960
967
|
module.remove.searchTerm();
|
968
|
+
module.set.scrollPosition($choice);
|
961
969
|
}
|
962
970
|
module.determine.selectAction.call(this, text, value);
|
963
971
|
}
|
@@ -1096,12 +1104,12 @@ $.fn.dropdown = function(parameters) {
|
|
1096
1104
|
$visibleItems = ($selectedItem.length > 0)
|
1097
1105
|
? $selectedItem.siblings(':not(.' + className.filtered +')').andSelf()
|
1098
1106
|
: $menu.children(':not(.' + className.filtered +')'),
|
1099
|
-
$subMenu
|
1100
|
-
$parentMenu
|
1101
|
-
inVisibleMenu
|
1102
|
-
hasSubMenu
|
1103
|
-
hasSelectedItem
|
1104
|
-
|
1107
|
+
$subMenu = $selectedItem.children(selector.menu),
|
1108
|
+
$parentMenu = $selectedItem.closest(selector.menu),
|
1109
|
+
inVisibleMenu = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0),
|
1110
|
+
hasSubMenu = ($subMenu.length> 0),
|
1111
|
+
hasSelectedItem = ($selectedItem.length > 0),
|
1112
|
+
selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),
|
1105
1113
|
$nextItem,
|
1106
1114
|
isSubMenuItem,
|
1107
1115
|
newIndex
|
@@ -1112,18 +1120,14 @@ $.fn.dropdown = function(parameters) {
|
|
1112
1120
|
|
1113
1121
|
// enter (select or open sub-menu)
|
1114
1122
|
if(pressedKey == keys.enter || pressedKey == keys.delimiter) {
|
1115
|
-
|
1116
1123
|
if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {
|
1117
1124
|
module.verbose('Pressed enter on unselectable category, opening sub menu');
|
1118
1125
|
pressedKey = keys.rightArrow;
|
1119
1126
|
}
|
1120
|
-
else if(
|
1127
|
+
else if(selectedIsSelectable) {
|
1121
1128
|
module.verbose('Selecting item from keyboard shortcut', $selectedItem);
|
1122
1129
|
module.event.item.click.call($selectedItem, event);
|
1123
|
-
if(
|
1124
|
-
module.hideAndClear();
|
1125
|
-
}
|
1126
|
-
else {
|
1130
|
+
if(module.is.searchSelection()) {
|
1127
1131
|
module.remove.searchTerm();
|
1128
1132
|
}
|
1129
1133
|
}
|
@@ -1267,11 +1271,16 @@ $.fn.dropdown = function(parameters) {
|
|
1267
1271
|
}
|
1268
1272
|
},
|
1269
1273
|
eventInModule: function(event, callback) {
|
1274
|
+
var
|
1275
|
+
$target = $(event.target),
|
1276
|
+
inDocument = ($target.closest(document.documentElement).length > 0),
|
1277
|
+
inModule = ($target.closest($module).length > 0)
|
1278
|
+
;
|
1270
1279
|
callback = $.isFunction(callback)
|
1271
1280
|
? callback
|
1272
1281
|
: function(){}
|
1273
1282
|
;
|
1274
|
-
if(
|
1283
|
+
if(inDocument && !inModule) {
|
1275
1284
|
module.verbose('Triggering event', callback);
|
1276
1285
|
callback();
|
1277
1286
|
return true;
|
@@ -1283,13 +1292,15 @@ $.fn.dropdown = function(parameters) {
|
|
1283
1292
|
},
|
1284
1293
|
eventOnElement: function(event, callback) {
|
1285
1294
|
var
|
1286
|
-
$target
|
1295
|
+
$target = $(event.target),
|
1296
|
+
notOnLabel = ($target.closest(selector.siblingLabel).length === 0),
|
1297
|
+
notInMenu = ($target.closest($menu).length === 0)
|
1287
1298
|
;
|
1288
1299
|
callback = $.isFunction(callback)
|
1289
1300
|
? callback
|
1290
1301
|
: function(){}
|
1291
1302
|
;
|
1292
|
-
if(
|
1303
|
+
if(notOnLabel && notInMenu) {
|
1293
1304
|
module.verbose('Triggering event', callback);
|
1294
1305
|
callback();
|
1295
1306
|
return true;
|
@@ -1677,6 +1688,7 @@ $.fn.dropdown = function(parameters) {
|
|
1677
1688
|
|
1678
1689
|
restore: {
|
1679
1690
|
defaults: function() {
|
1691
|
+
module.clear();
|
1680
1692
|
module.restore.defaultText();
|
1681
1693
|
module.restore.defaultValue();
|
1682
1694
|
},
|
@@ -2013,23 +2025,30 @@ $.fn.dropdown = function(parameters) {
|
|
2013
2025
|
},
|
2014
2026
|
selectedLetter: function(letter) {
|
2015
2027
|
var
|
2016
|
-
$selectedItem
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
.each(function(){
|
2021
|
-
var
|
2022
|
-
$choice = $(this),
|
2023
|
-
text = module.get.choiceText($choice, false),
|
2024
|
-
firstLetter = String(text).charAt(0).toLowerCase(),
|
2025
|
-
matchedLetter = letter.toLowerCase()
|
2026
|
-
;
|
2027
|
-
if(firstLetter == matchedLetter) {
|
2028
|
-
$nextValue = $choice;
|
2029
|
-
return false;
|
2030
|
-
}
|
2031
|
-
})
|
2028
|
+
$selectedItem = $item.filter('.' + className.selected),
|
2029
|
+
alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),
|
2030
|
+
$nextValue = false,
|
2031
|
+
$nextItem
|
2032
2032
|
;
|
2033
|
+
// check next of same letter
|
2034
|
+
if(alreadySelectedLetter) {
|
2035
|
+
$nextItem = $selectedItem.nextAll($item).eq(0);
|
2036
|
+
if( module.has.firstLetter($nextItem, letter) ) {
|
2037
|
+
$nextValue = $nextItem;
|
2038
|
+
}
|
2039
|
+
}
|
2040
|
+
// check all values
|
2041
|
+
if(!$nextValue) {
|
2042
|
+
$item
|
2043
|
+
.each(function(){
|
2044
|
+
if(module.has.firstLetter($(this), letter)) {
|
2045
|
+
$nextValue = $(this);
|
2046
|
+
return false;
|
2047
|
+
}
|
2048
|
+
})
|
2049
|
+
;
|
2050
|
+
}
|
2051
|
+
// set next value
|
2033
2052
|
if($nextValue) {
|
2034
2053
|
module.verbose('Scrolling to next value with letter', letter);
|
2035
2054
|
module.set.scrollPosition($nextValue);
|
@@ -2147,8 +2166,8 @@ $.fn.dropdown = function(parameters) {
|
|
2147
2166
|
module.select.nextAvailable($selectedItem);
|
2148
2167
|
}
|
2149
2168
|
else {
|
2150
|
-
module.add.value(selectedValue, selectedText, $selected);
|
2151
2169
|
module.set.text(module.add.variables(message.count));
|
2170
|
+
module.add.value(selectedValue, selectedText, $selected);
|
2152
2171
|
$selected.addClass(className.active);
|
2153
2172
|
}
|
2154
2173
|
}
|
@@ -2161,8 +2180,8 @@ $.fn.dropdown = function(parameters) {
|
|
2161
2180
|
if(settings.apiSettings && settings.saveRemoteData) {
|
2162
2181
|
module.save.remoteData(selectedText, selectedValue);
|
2163
2182
|
}
|
2164
|
-
module.set.value(selectedValue, selectedText, $selected);
|
2165
2183
|
module.set.text(selectedText);
|
2184
|
+
module.set.value(selectedValue, selectedText, $selected);
|
2166
2185
|
$selected
|
2167
2186
|
.addClass(className.active)
|
2168
2187
|
.addClass(className.selected)
|
@@ -2542,9 +2561,25 @@ $.fn.dropdown = function(parameters) {
|
|
2542
2561
|
search: function() {
|
2543
2562
|
return ($search.length > 0);
|
2544
2563
|
},
|
2564
|
+
firstLetter: function($item, letter) {
|
2565
|
+
var
|
2566
|
+
text,
|
2567
|
+
firstLetter
|
2568
|
+
;
|
2569
|
+
if(!$item || $item.length === 0 || typeof letter !== 'string') {
|
2570
|
+
return false;
|
2571
|
+
}
|
2572
|
+
text = module.get.choiceText($item, false);
|
2573
|
+
letter = letter.toLowerCase();
|
2574
|
+
firstLetter = String(text).charAt(0).toLowerCase();
|
2575
|
+
return (letter == firstLetter);
|
2576
|
+
},
|
2545
2577
|
input: function() {
|
2546
2578
|
return ($input.length > 0);
|
2547
2579
|
},
|
2580
|
+
items: function() {
|
2581
|
+
return ($item.length > 0);
|
2582
|
+
},
|
2548
2583
|
menu: function() {
|
2549
2584
|
return ($menu.length > 0);
|
2550
2585
|
},
|
@@ -2590,6 +2625,9 @@ $.fn.dropdown = function(parameters) {
|
|
2590
2625
|
: $menu.transition && $menu.transition('is animating')
|
2591
2626
|
;
|
2592
2627
|
},
|
2628
|
+
disabled: function() {
|
2629
|
+
$module.hasClass(className.disabled);
|
2630
|
+
},
|
2593
2631
|
focused: function() {
|
2594
2632
|
return (document.activeElement === $module[0]);
|
2595
2633
|
},
|
@@ -2701,7 +2739,7 @@ $.fn.dropdown = function(parameters) {
|
|
2701
2739
|
return (hasTouch || settings.on == 'click');
|
2702
2740
|
},
|
2703
2741
|
show: function() {
|
2704
|
-
return
|
2742
|
+
return !module.is.disabled() && (module.has.items() || module.has.message());
|
2705
2743
|
},
|
2706
2744
|
useAPI: function() {
|
2707
2745
|
return $.fn.api !== undefined;
|
@@ -2811,8 +2849,11 @@ $.fn.dropdown = function(parameters) {
|
|
2811
2849
|
},
|
2812
2850
|
|
2813
2851
|
hideAndClear: function() {
|
2852
|
+
module.remove.searchTerm();
|
2853
|
+
if( module.has.maxSelections() ) {
|
2854
|
+
return;
|
2855
|
+
}
|
2814
2856
|
if(module.has.search()) {
|
2815
|
-
module.remove.searchTerm();
|
2816
2857
|
module.hide(function() {
|
2817
2858
|
module.remove.filteredItem();
|
2818
2859
|
});
|
@@ -687,7 +687,7 @@ $.fn.popup = function(parameters) {
|
|
687
687
|
popup = calculations.popup;
|
688
688
|
parent = calculations.parent;
|
689
689
|
|
690
|
-
if(target.
|
690
|
+
if(target.width === 0 && target.height === 0) {
|
691
691
|
module.debug('Popup target is hidden, no action taken');
|
692
692
|
return false;
|
693
693
|
}
|
@@ -117,6 +117,7 @@ $.fn.progress = function(parameters) {
|
|
117
117
|
if(data.value) {
|
118
118
|
module.debug('Current value set from metadata', data.value);
|
119
119
|
module.set.value(data.value);
|
120
|
+
module.set.progress(data.value);
|
120
121
|
}
|
121
122
|
},
|
122
123
|
settings: function() {
|
@@ -719,7 +720,7 @@ $.fn.progress.settings = {
|
|
719
720
|
name : 'Progress',
|
720
721
|
namespace : 'progress',
|
721
722
|
|
722
|
-
debug :
|
723
|
+
debug : false,
|
723
724
|
verbose : false,
|
724
725
|
performance : true,
|
725
726
|
|
@@ -440,9 +440,12 @@ $.fn.tab = function(parameters) {
|
|
440
440
|
var
|
441
441
|
$tab = module.get.tabElement(tabPath),
|
442
442
|
apiSettings = {
|
443
|
-
dataType
|
444
|
-
on
|
445
|
-
cache
|
443
|
+
dataType : 'html',
|
444
|
+
on : 'now',
|
445
|
+
cache : settings.alwaysRefresh,
|
446
|
+
headers : {
|
447
|
+
'X-Remote': true
|
448
|
+
},
|
446
449
|
onSuccess : function(response) {
|
447
450
|
module.cache.add(fullTabPath, response);
|
448
451
|
module.update.content(tabPath, response);
|
@@ -486,12 +489,9 @@ $.fn.tab = function(parameters) {
|
|
486
489
|
module.debug('Content is already loading', fullTabPath);
|
487
490
|
}
|
488
491
|
else if($.api !== undefined) {
|
489
|
-
requestSettings = $.extend(true, {
|
490
|
-
headers: {
|
491
|
-
'X-Remote': true
|
492
|
-
}
|
493
|
-
}, settings.apiSettings, apiSettings);
|
492
|
+
requestSettings = $.extend(true, {}, settings.apiSettings, apiSettings);
|
494
493
|
module.debug('Retrieving remote content', fullTabPath, requestSettings);
|
494
|
+
module.set.loading(tabPath);
|
495
495
|
$tab.api(requestSettings);
|
496
496
|
}
|
497
497
|
else {
|
@@ -614,7 +614,7 @@ $.fn.transition = function() {
|
|
614
614
|
},
|
615
615
|
userStyle: function(style) {
|
616
616
|
style = style || $module.attr('style') || '';
|
617
|
-
return style.replace(/display.*?;/, '')
|
617
|
+
return style.replace(/display.*?;/, '');
|
618
618
|
},
|
619
619
|
transitionExists: function(animation) {
|
620
620
|
return $.fn.transition.exists[animation];
|
@@ -508,6 +508,7 @@ Floated Menu / Item
|
|
508
508
|
|
509
509
|
.ui.vertical.menu {
|
510
510
|
display: block;
|
511
|
+
flex-direction: column;
|
511
512
|
background: @verticalBackground;
|
512
513
|
box-shadow: @verticalBoxShadow;
|
513
514
|
}
|
@@ -1540,6 +1541,9 @@ Floated Menu / Item
|
|
1540
1541
|
margin: 0em;
|
1541
1542
|
vertical-align: middle;
|
1542
1543
|
}
|
1544
|
+
.ui.compact.vertical.menu {
|
1545
|
+
display: inline-block;
|
1546
|
+
}
|
1543
1547
|
.ui.compact.menu .item:last-child {
|
1544
1548
|
border-radius: 0em @borderRadius @borderRadius 0em;
|
1545
1549
|
}
|
@@ -1632,13 +1636,13 @@ Floated Menu / Item
|
|
1632
1636
|
|
1633
1637
|
.ui.fixed.menu,
|
1634
1638
|
.ui[class*="top fixed"].menu {
|
1635
|
-
border-top: none;
|
1636
1639
|
top: 0px;
|
1637
1640
|
left: 0px;
|
1638
1641
|
right: auto;
|
1639
1642
|
bottom: auto;
|
1640
1643
|
}
|
1641
1644
|
.ui[class*="top fixed"].menu {
|
1645
|
+
border-top: none;
|
1642
1646
|
border-left: none;
|
1643
1647
|
border-right: none;
|
1644
1648
|
}
|
@@ -413,31 +413,31 @@ a.ui.label {
|
|
413
413
|
|
414
414
|
padding: @attachedVerticalPadding @attachedHorizontalPadding;
|
415
415
|
|
416
|
-
border-radius: @
|
416
|
+
border-radius: @attachedCornerBorderRadius @attachedCornerBorderRadius 0em 0em;
|
417
417
|
}
|
418
418
|
.ui.bottom.attached.label {
|
419
419
|
top: auto;
|
420
420
|
bottom: 0em;
|
421
|
-
border-radius: 0em 0em @
|
421
|
+
border-radius: 0em 0em @attachedCornerBorderRadius @attachedCornerBorderRadius;
|
422
422
|
}
|
423
423
|
|
424
424
|
.ui.top.left.attached.label {
|
425
425
|
width: auto;
|
426
426
|
margin-top: 0em !important;
|
427
|
-
border-radius: @
|
427
|
+
border-radius: @attachedCornerBorderRadius 0em @attachedBorderRadius 0em;
|
428
428
|
}
|
429
429
|
|
430
430
|
.ui.top.right.attached.label {
|
431
431
|
width: auto;
|
432
432
|
left: auto;
|
433
433
|
right: 0em;
|
434
|
-
border-radius: 0em @
|
434
|
+
border-radius: 0em @attachedCornerBorderRadius 0em @attachedBorderRadius;
|
435
435
|
}
|
436
436
|
.ui.bottom.left.attached.label {
|
437
437
|
width: auto;
|
438
438
|
top: auto;
|
439
439
|
bottom: 0em;
|
440
|
-
border-radius: 0em @
|
440
|
+
border-radius: 0em @attachedBorderRadius 0em @attachedCornerBorderRadius;
|
441
441
|
}
|
442
442
|
.ui.bottom.right.attached.label {
|
443
443
|
top: auto;
|
@@ -445,7 +445,7 @@ a.ui.label {
|
|
445
445
|
left: auto;
|
446
446
|
right: 0em;
|
447
447
|
width: auto;
|
448
|
-
border-radius: @
|
448
|
+
border-radius: @attachedBorderRadius 0em @attachedCornerBorderRadius 0em;
|
449
449
|
}
|
450
450
|
|
451
451
|
|
@@ -703,7 +703,7 @@
|
|
703
703
|
.ui[class*="top attached"].segment {
|
704
704
|
top: @attachedTopOffset;
|
705
705
|
bottom: 0px;
|
706
|
-
margin-top: @
|
706
|
+
margin-top: @verticalMargin;
|
707
707
|
margin-bottom: 0em;
|
708
708
|
border-radius: @borderRadius @borderRadius 0em 0em;
|
709
709
|
}
|
@@ -716,7 +716,7 @@
|
|
716
716
|
top: @attachedBottomOffset;
|
717
717
|
bottom: 0px;
|
718
718
|
margin-top: 0em;
|
719
|
-
margin-bottom: @
|
719
|
+
margin-bottom: @verticalMargin;
|
720
720
|
box-shadow: @attachedBottomBoxShadow;
|
721
721
|
border-radius: 0em 0em @borderRadius @borderRadius;
|
722
722
|
}
|
@@ -75,11 +75,7 @@
|
|
75
75
|
display: block;
|
76
76
|
padding-left: @labelDistance;
|
77
77
|
outline: none;
|
78
|
-
|
79
|
-
|
80
|
-
.ui.checkbox .box,
|
81
|
-
.ui.checkbox label {
|
82
|
-
font-size: @fontSize;
|
78
|
+
font-size: @labelFontSize;
|
83
79
|
}
|
84
80
|
|
85
81
|
.ui.checkbox .box:before,
|
@@ -213,13 +209,13 @@
|
|
213
209
|
Indeterminate
|
214
210
|
---------------*/
|
215
211
|
|
216
|
-
.ui.checkbox input:indeterminate ~ .box:before,
|
217
|
-
.ui.checkbox input:indeterminate ~ label:before {
|
212
|
+
.ui.checkbox input[type="checkbox"]:indeterminate ~ .box:before,
|
213
|
+
.ui.checkbox input[type="checkbox"]:indeterminate ~ label:before {
|
218
214
|
background: @checkboxIndeterminateBackground;
|
219
215
|
border-color: @checkboxIndeterminateBorderColor;
|
220
216
|
}
|
221
|
-
.ui.checkbox input:indeterminate ~ .box:after,
|
222
|
-
.ui.checkbox input:indeterminate ~ label:after {
|
217
|
+
.ui.checkbox input[type="checkbox"]:indeterminate ~ .box:after,
|
218
|
+
.ui.checkbox input[type="checkbox"]:indeterminate ~ label:after {
|
223
219
|
opacity: @checkboxIndeterminateCheckOpacity;
|
224
220
|
color: @checkboxIndeterminateCheckColor;
|
225
221
|
}
|
@@ -228,10 +224,10 @@
|
|
228
224
|
Active Focus
|
229
225
|
---------------*/
|
230
226
|
|
231
|
-
.ui.checkbox input[type="
|
232
|
-
.ui.checkbox input[type="
|
233
|
-
.ui.checkbox input[type="
|
234
|
-
.ui.checkbox input[type="
|
227
|
+
.ui.checkbox input[type="checkbox"]:indeterminate:focus ~ .box:before,
|
228
|
+
.ui.checkbox input[type="checkbox"]:indeterminate:focus ~ label:before,
|
229
|
+
.ui.checkbox input[type="checkbox"]:checked:focus ~ .box:before,
|
230
|
+
.ui.checkbox input[type="checkbox"]:checked:focus ~ label:before {
|
235
231
|
background: @checkboxFocusedBackground;
|
236
232
|
border-color: @checkboxFocusedBorderColor;
|
237
233
|
}
|
@@ -37,10 +37,11 @@
|
|
37
37
|
cursor: pointer;
|
38
38
|
position: relative;
|
39
39
|
display: inline-block;
|
40
|
-
tap-highlight-color: rgba(0, 0, 0, 0);
|
41
40
|
outline: none;
|
42
41
|
text-align: left;
|
43
42
|
transition: @transition;
|
43
|
+
|
44
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
44
45
|
}
|
45
46
|
|
46
47
|
/*******************************
|
@@ -382,9 +382,9 @@
|
|
382
382
|
}
|
383
383
|
|
384
384
|
@media only screen and (max-width : @computerBreakpoint) {
|
385
|
-
.ui.scrolling.modal {
|
386
|
-
margin-top: @mobileScrollingMargin;
|
387
|
-
margin-bottom: @mobileScrollingMargin;
|
385
|
+
.modals.dimmer .ui.scrolling.modal {
|
386
|
+
margin-top: @mobileScrollingMargin !important;
|
387
|
+
margin-bottom: @mobileScrollingMargin !important;
|
388
388
|
}
|
389
389
|
}
|
390
390
|
|
@@ -90,8 +90,8 @@
|
|
90
90
|
@arrowTransition: background @defaultDuration @defaultEasing;
|
91
91
|
@arrowZIndex: 2;
|
92
92
|
|
93
|
-
@arrowHoverColor: #
|
94
|
-
@arrowActiveColor:
|
93
|
+
@arrowHoverColor: #F2F2F2;
|
94
|
+
@arrowActiveColor: @arrowHoverColor;
|
95
95
|
@arrowActiveHoverColor: @arrowActiveColor;
|
96
96
|
|
97
97
|
@arrowVerticalHoverColor: @arrowHoverColor;
|
@@ -370,7 +370,7 @@
|
|
370
370
|
/* Inverted */
|
371
371
|
@invertedBackground: @black;
|
372
372
|
@invertedBoxShadow: none;
|
373
|
-
@invertedBorder:
|
373
|
+
@invertedBorder: 0px solid transparent;
|
374
374
|
@invertedHeaderBackground: transparent;
|
375
375
|
|
376
376
|
@invertedItemBackground: transparent;
|
@@ -172,6 +172,9 @@
|
|
172
172
|
@attachedVerticalPadding: 0.75em;
|
173
173
|
@attachedHorizontalPadding: 1em;
|
174
174
|
|
175
|
+
@attachedCornerBorderRadius: @3px;
|
176
|
+
@attachedBorderRadius: @borderRadius;
|
177
|
+
|
175
178
|
/* Corner */
|
176
179
|
@cornerSizeRatio: 1;
|
177
180
|
@cornerTransition: color @labelTransitionDuration @labelTransitionEasing;
|
@@ -221,7 +224,7 @@
|
|
221
224
|
@tiny : @10px;
|
222
225
|
@small : @11px;
|
223
226
|
@medium : @12px;
|
224
|
-
@large : @
|
225
|
-
@big : @
|
226
|
-
@huge : @
|
227
|
-
@massive : @
|
227
|
+
@large : @absoluteMedium;
|
228
|
+
@big : @absoluteBig;
|
229
|
+
@huge : @absoluteHuge;
|
230
|
+
@massive : @absoluteMassive;
|
@@ -83,18 +83,18 @@
|
|
83
83
|
--------------------*/
|
84
84
|
|
85
85
|
/*
|
86
|
-
|
87
|
-
|
86
|
+
Sizes are all expressed in terms of 14px/em (default em)
|
87
|
+
This ensures these "ratios" remain constant despite changes in EM
|
88
88
|
*/
|
89
89
|
|
90
|
-
@miniSize : (10 /
|
91
|
-
@tinySize : (12 /
|
92
|
-
@smallSize : (13 /
|
93
|
-
@mediumSize : (14 /
|
94
|
-
@largeSize : (16 /
|
95
|
-
@bigSize : (18 /
|
96
|
-
@hugeSize : (20 /
|
97
|
-
@massiveSize : (24 /
|
90
|
+
@miniSize : (10 / 14);
|
91
|
+
@tinySize : (12 / 14);
|
92
|
+
@smallSize : (13 / 14);
|
93
|
+
@mediumSize : (14 / 14);
|
94
|
+
@largeSize : (16 / 14);
|
95
|
+
@bigSize : (18 / 14);
|
96
|
+
@hugeSize : (20 / 14);
|
97
|
+
@massiveSize : (24 / 14);
|
98
98
|
|
99
99
|
|
100
100
|
/*-------------------
|
@@ -330,7 +330,10 @@
|
|
330
330
|
Em Sizes
|
331
331
|
--------------------*/
|
332
332
|
|
333
|
-
/*
|
333
|
+
/*
|
334
|
+
This rounds @size values to the closest pixel then expresses that value in (r)em.
|
335
|
+
This ensures all size values round to exact pixels
|
336
|
+
*/
|
334
337
|
@mini : unit( round(@miniSize * @emSize) / @emSize, rem);
|
335
338
|
@tiny : unit( round(@tinySize * @emSize) / @emSize, rem);
|
336
339
|
@small : unit( round(@smallSize * @emSize) / @emSize, rem);
|
@@ -340,6 +343,7 @@
|
|
340
343
|
@huge : unit( round(@hugeSize * @emSize) / @emSize, rem);
|
341
344
|
@massive : unit( round(@massiveSize * @emSize) / @emSize, rem);
|
342
345
|
|
346
|
+
/* em */
|
343
347
|
@relativeMini : unit( round(@miniSize * @emSize) / @emSize, em);
|
344
348
|
@relativeTiny : unit( round(@tinySize * @emSize) / @emSize, em);
|
345
349
|
@relativeSmall : unit( round(@smallSize * @emSize) / @emSize, em);
|
@@ -349,13 +353,24 @@
|
|
349
353
|
@relativeHuge : unit( round(@hugeSize * @emSize) / @emSize, em);
|
350
354
|
@relativeMassive : unit( round(@massiveSize * @emSize) / @emSize, em);
|
351
355
|
|
356
|
+
/* rem */
|
357
|
+
@absoluteMini : unit( round(@miniSize * @emSize) / @emSize, rem);
|
358
|
+
@absoluteTiny : unit( round(@tinySize * @emSize) / @emSize, rem);
|
359
|
+
@absoluteSmall : unit( round(@smallSize * @emSize) / @emSize, rem);
|
360
|
+
@absoluteMedium : unit( round(@mediumSize * @emSize) / @emSize, rem);
|
361
|
+
@absoluteLarge : unit( round(@largeSize * @emSize) / @emSize, rem);
|
362
|
+
@absoluteBig : unit( round(@bigSize * @emSize) / @emSize, rem);
|
363
|
+
@absoluteHuge : unit( round(@hugeSize * @emSize) / @emSize, rem);
|
364
|
+
@absoluteMassive : unit( round(@massiveSize * @emSize) / @emSize, rem);
|
365
|
+
|
352
366
|
|
353
367
|
/*-------------------
|
354
368
|
Exact Pixel Values
|
355
369
|
--------------------*/
|
356
370
|
/*
|
357
371
|
These are used to specify exact pixel values in em
|
358
|
-
for things like borders
|
372
|
+
for things like borders that remain constantly
|
373
|
+
sized as emSize adjusts
|
359
374
|
|
360
375
|
Since there are many more sizes than names for sizes,
|
361
376
|
these are named by their original pixel values.
|
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: 2.0.
|
4
|
+
version: 2.0.2.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: 2015-07-
|
11
|
+
date: 2015-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: less-rails
|