less-rails-semantic_ui 1.10.4.0 → 1.11.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/javascripts/semantic_ui/definitions/behaviors/visibility.js +84 -70
- data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +40 -2
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +34 -20
- data/assets/javascripts/semantic_ui/definitions/modules/modal.js +18 -14
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +70 -33
- data/assets/javascripts/semantic_ui/definitions/modules/search.js +27 -15
- data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +2 -5
- data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +64 -48
- data/assets/javascripts/semantic_ui/definitions/modules/transition.js +57 -24
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +16 -2
- data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +9 -10
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +6 -5
- data/assets/stylesheets/semantic_ui/definitions/collections/table.less +4 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/button.less +1 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +2 -8
- data/assets/stylesheets/semantic_ui/definitions/elements/image.less +9 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/list.less +2 -2
- data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +10 -1
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +12 -4
- data/assets/stylesheets/semantic_ui/definitions/views/item.less +1 -2
- data/assets/stylesheets/semantic_ui/themes/basic/elements/icon.overrides +156 -156
- data/assets/stylesheets/semantic_ui/themes/basic/elements/icon.variables +7 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +5 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.overrides +0 -12
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.variables +10 -1
- data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +4 -1
- data/assets/stylesheets/semantic_ui/themes/default/modules/transition.overrides +50 -50
- data/assets/stylesheets/semantic_ui/themes/default/views/item.variables +3 -3
- data/assets/stylesheets/semantic_ui/themes/material/elements/button.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/theme.config +0 -12
- data/lib/less/rails/semantic_ui/version.rb +1 -1
- data/tasks/update.rake +4 -0
- 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: 1f16877ddb59ee7e19ff823fb8ee2ada3da884ac
|
4
|
+
data.tar.gz: d07cfbed233bef292f671eb16abc0fbaf6b1885d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf2d0d00bd266485feb45a9356cbba88f26912200e02645ce1c688b64f6aadae380d94817d5a7feb4217771cf50188366708e513e04d06e3d5e650d114e04faa
|
7
|
+
data.tar.gz: 6d5e88897e1f5659f97bea995872a39f5bbd278d5d09fda4f00709353d93e6c6661c40834480f3729b44ea13c61049ebd24f38f8737e362e993a1edf3287a3be
|
@@ -30,7 +30,9 @@ $.fn.visibility = function(parameters) {
|
|
30
30
|
$allModules
|
31
31
|
.each(function() {
|
32
32
|
var
|
33
|
-
settings =
|
33
|
+
settings = ( $.isPlainObject(parameters) )
|
34
|
+
? $.extend(true, {}, $.fn.visibility.settings, parameters)
|
35
|
+
: $.extend({}, $.fn.visibility.settings),
|
34
36
|
|
35
37
|
className = settings.className,
|
36
38
|
namespace = settings.namespace,
|
@@ -58,16 +60,16 @@ $.fn.visibility = function(parameters) {
|
|
58
60
|
module
|
59
61
|
;
|
60
62
|
|
61
|
-
module
|
63
|
+
module = {
|
62
64
|
|
63
65
|
initialize: function() {
|
64
|
-
module.
|
66
|
+
module.debug('Initializing', settings);
|
65
67
|
|
66
68
|
module.setup.cache();
|
67
69
|
module.save.position();
|
68
70
|
|
69
71
|
if( module.should.trackChanges() ) {
|
70
|
-
module.
|
72
|
+
module.bind.events();
|
71
73
|
if(settings.type == 'image') {
|
72
74
|
module.setup.image();
|
73
75
|
}
|
@@ -85,11 +87,11 @@ $.fn.visibility = function(parameters) {
|
|
85
87
|
},
|
86
88
|
|
87
89
|
instantiate: function() {
|
88
|
-
module.
|
89
|
-
instance = module;
|
90
|
+
module.debug('Storing instance', module);
|
90
91
|
$module
|
91
92
|
.data(moduleNamespace, module)
|
92
93
|
;
|
94
|
+
instance = module;
|
93
95
|
},
|
94
96
|
|
95
97
|
destroy: function() {
|
@@ -98,6 +100,8 @@ $.fn.visibility = function(parameters) {
|
|
98
100
|
.off(eventNamespace)
|
99
101
|
.removeData(moduleNamespace)
|
100
102
|
;
|
103
|
+
$window.off('resize' + eventNamespace, module.event.refresh);
|
104
|
+
$context.off('scroll' + eventNamespace, module.event.scroll);
|
101
105
|
},
|
102
106
|
|
103
107
|
observeChanges: function() {
|
@@ -117,14 +121,16 @@ $.fn.visibility = function(parameters) {
|
|
117
121
|
}
|
118
122
|
},
|
119
123
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
124
|
+
bind: {
|
125
|
+
events: function() {
|
126
|
+
module.verbose('Binding visibility events to scroll and resize');
|
127
|
+
$window
|
128
|
+
.on('resize' + eventNamespace, module.event.refresh)
|
129
|
+
;
|
130
|
+
$context
|
131
|
+
.on('scroll' + eventNamespace, module.event.scroll)
|
132
|
+
;
|
133
|
+
}
|
128
134
|
},
|
129
135
|
|
130
136
|
event: {
|
@@ -135,10 +141,14 @@ $.fn.visibility = function(parameters) {
|
|
135
141
|
module.verbose('Scroll position changed');
|
136
142
|
if(settings.throttle) {
|
137
143
|
clearTimeout(module.timer);
|
138
|
-
module.timer = setTimeout(
|
144
|
+
module.timer = setTimeout(function() {
|
145
|
+
module.checkVisibility();
|
146
|
+
}, settings.throttle);
|
139
147
|
}
|
140
148
|
else {
|
141
|
-
requestAnimationFrame(
|
149
|
+
requestAnimationFrame(function() {
|
150
|
+
module.checkVisibility();
|
151
|
+
});
|
142
152
|
}
|
143
153
|
}
|
144
154
|
},
|
@@ -171,16 +181,14 @@ $.fn.visibility = function(parameters) {
|
|
171
181
|
},
|
172
182
|
|
173
183
|
should: {
|
174
|
-
|
175
184
|
trackChanges: function() {
|
176
185
|
if(methodInvoked && queryArguments.length > 0) {
|
177
186
|
module.debug('One time query, no need to bind events');
|
178
187
|
return false;
|
179
188
|
}
|
180
|
-
module.debug('
|
189
|
+
module.debug('Callbacks being attached');
|
181
190
|
return true;
|
182
191
|
}
|
183
|
-
|
184
192
|
},
|
185
193
|
|
186
194
|
setup: {
|
@@ -197,6 +205,7 @@ $.fn.visibility = function(parameters) {
|
|
197
205
|
;
|
198
206
|
if(src) {
|
199
207
|
module.verbose('Lazy loading image', src);
|
208
|
+
settings.observeChanges = false;
|
200
209
|
// show when top visible
|
201
210
|
module.topVisible(function() {
|
202
211
|
module.debug('Image top visible', element);
|
@@ -209,35 +218,29 @@ $.fn.visibility = function(parameters) {
|
|
209
218
|
},
|
210
219
|
fixed: function() {
|
211
220
|
module.verbose('Setting up fixed on element pass');
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
;
|
224
|
-
if(settings.transition) {
|
225
|
-
if($.fn.transition !== undefined) {
|
226
|
-
$module.transition(settings.transition, settings.duration);
|
227
|
-
}
|
228
|
-
}
|
229
|
-
},
|
230
|
-
onTopPassedReverse: function() {
|
231
|
-
$module
|
232
|
-
.removeClass(className.fixed)
|
233
|
-
.css({
|
234
|
-
position: '',
|
235
|
-
top: ''
|
236
|
-
})
|
237
|
-
;
|
221
|
+
settings.once = false;
|
222
|
+
settings.onTopPassed = function() {
|
223
|
+
$module
|
224
|
+
.addClass(className.fixed)
|
225
|
+
.css({
|
226
|
+
top: settings.offset + 'px'
|
227
|
+
})
|
228
|
+
;
|
229
|
+
if(settings.transition) {
|
230
|
+
if($.fn.transition !== undefined) {
|
231
|
+
$module.transition(settings.transition, settings.duration);
|
238
232
|
}
|
239
|
-
}
|
240
|
-
;
|
233
|
+
}
|
234
|
+
};
|
235
|
+
settings.onTopPassedReverse = function() {
|
236
|
+
$module
|
237
|
+
.removeClass(className.fixed)
|
238
|
+
.css({
|
239
|
+
position: '',
|
240
|
+
top: ''
|
241
|
+
})
|
242
|
+
;
|
243
|
+
};
|
241
244
|
}
|
242
245
|
},
|
243
246
|
|
@@ -272,7 +275,7 @@ $.fn.visibility = function(parameters) {
|
|
272
275
|
is: {
|
273
276
|
visible: function() {
|
274
277
|
if(module.cache && module.cache.element) {
|
275
|
-
return (module.cache.element.
|
278
|
+
return (module.cache.element.width > 0);
|
276
279
|
}
|
277
280
|
return false;
|
278
281
|
}
|
@@ -296,9 +299,12 @@ $.fn.visibility = function(parameters) {
|
|
296
299
|
|
297
300
|
checkVisibility: function() {
|
298
301
|
module.verbose('Checking visibility of element', module.cache.element);
|
299
|
-
module.save.calculations();
|
300
302
|
|
301
303
|
if( module.is.visible() ) {
|
304
|
+
|
305
|
+
// update calculations derived from scroll
|
306
|
+
module.save.calculations();
|
307
|
+
|
302
308
|
// percentage
|
303
309
|
module.passed();
|
304
310
|
|
@@ -315,6 +321,11 @@ $.fn.visibility = function(parameters) {
|
|
315
321
|
module.bottomVisible();
|
316
322
|
module.topPassed();
|
317
323
|
module.bottomPassed();
|
324
|
+
|
325
|
+
// on update callback
|
326
|
+
if(settings.onUpdate) {
|
327
|
+
settings.onUpdate.call(element, module.get.elementCalculations());
|
328
|
+
}
|
318
329
|
}
|
319
330
|
},
|
320
331
|
|
@@ -641,9 +652,6 @@ $.fn.visibility = function(parameters) {
|
|
641
652
|
;
|
642
653
|
module.verbose('Saving element position');
|
643
654
|
// (quicker than $.extend)
|
644
|
-
element.margin = {};
|
645
|
-
element.margin.top = parseInt($module.css('margin-top'), 10);
|
646
|
-
element.margin.bottom = parseInt($module.css('margin-bottom'), 10);
|
647
655
|
element.fits = (element.height < screen.height);
|
648
656
|
element.offset = $module.offset();
|
649
657
|
element.width = $module.outerWidth();
|
@@ -659,6 +667,9 @@ $.fn.visibility = function(parameters) {
|
|
659
667
|
;
|
660
668
|
// offset
|
661
669
|
if(settings.includeMargin) {
|
670
|
+
element.margin = {};
|
671
|
+
element.margin.top = parseInt($module.css('margin-top'), 10);
|
672
|
+
element.margin.bottom = parseInt($module.css('margin-bottom'), 10);
|
662
673
|
element.top = element.offset.top - element.margin.top;
|
663
674
|
element.bottom = element.offset.top + element.height + element.margin.bottom;
|
664
675
|
}
|
@@ -691,16 +702,11 @@ $.fn.visibility = function(parameters) {
|
|
691
702
|
},
|
692
703
|
screenCalculations: function() {
|
693
704
|
var
|
694
|
-
scroll =
|
705
|
+
scroll = module.get.scroll()
|
695
706
|
;
|
696
|
-
if(module.cache.scroll === undefined) {
|
697
|
-
module.cache.scroll = $context.scrollTop() + settings.offset;
|
698
|
-
}
|
699
707
|
module.save.direction();
|
700
|
-
|
701
|
-
|
702
|
-
bottom : scroll + module.cache.screen.height
|
703
|
-
});
|
708
|
+
module.cache.screen.top = scroll;
|
709
|
+
module.cache.screen.bottom = scroll + module.cache.screen.height;
|
704
710
|
return module.cache.screen;
|
705
711
|
},
|
706
712
|
screenSize: function() {
|
@@ -957,19 +963,26 @@ $.fn.visibility.settings = {
|
|
957
963
|
name : 'Visibility',
|
958
964
|
namespace : 'visibility',
|
959
965
|
|
960
|
-
className: {
|
961
|
-
fixed: 'fixed'
|
962
|
-
},
|
963
|
-
|
964
|
-
observeChanges : true,
|
965
|
-
|
966
966
|
debug : false,
|
967
967
|
verbose : false,
|
968
968
|
performance : true,
|
969
969
|
|
970
|
+
// whether to use mutation observers to follow changes
|
971
|
+
observeChanges : true,
|
972
|
+
|
973
|
+
// callback should only occur one time
|
974
|
+
once : true,
|
975
|
+
|
976
|
+
// callback should fire continuously whe evaluates to true
|
977
|
+
continuous : false,
|
978
|
+
|
979
|
+
// offset to use with scroll top
|
970
980
|
offset : 0,
|
981
|
+
|
982
|
+
// whether to include margin in elements position
|
971
983
|
includeMargin : false,
|
972
984
|
|
985
|
+
// scroll context for visibility checks
|
973
986
|
context : window,
|
974
987
|
|
975
988
|
// check position immediately on init
|
@@ -1002,12 +1015,13 @@ $.fn.visibility.settings = {
|
|
1002
1015
|
onTopPassedReverse : false,
|
1003
1016
|
onBottomPassedReverse : false,
|
1004
1017
|
|
1005
|
-
once : true,
|
1006
|
-
continuous : false,
|
1007
|
-
|
1008
1018
|
// utility callbacks
|
1019
|
+
onUpdate : false, // disabled by default for performance
|
1009
1020
|
onRefresh : function(){},
|
1010
|
-
|
1021
|
+
|
1022
|
+
className: {
|
1023
|
+
fixed: 'fixed'
|
1024
|
+
},
|
1011
1025
|
|
1012
1026
|
error : {
|
1013
1027
|
method : 'The method you called is not defined.'
|
@@ -215,6 +215,9 @@ $.fn.dimmer = function(parameters) {
|
|
215
215
|
: function(){}
|
216
216
|
;
|
217
217
|
if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
|
218
|
+
if(settings.opacity !== 'auto') {
|
219
|
+
module.set.opacity();
|
220
|
+
}
|
218
221
|
$dimmer
|
219
222
|
.transition({
|
220
223
|
animation : settings.transition + ' in',
|
@@ -234,6 +237,9 @@ $.fn.dimmer = function(parameters) {
|
|
234
237
|
else {
|
235
238
|
module.verbose('Showing dimmer animation with javascript');
|
236
239
|
module.set.dimmed();
|
240
|
+
if(settings.opacity == 'auto') {
|
241
|
+
settings.opacity = 0.8;
|
242
|
+
}
|
237
243
|
$dimmer
|
238
244
|
.stop()
|
239
245
|
.css({
|
@@ -241,7 +247,7 @@ $.fn.dimmer = function(parameters) {
|
|
241
247
|
width : '100%',
|
242
248
|
height : '100%'
|
243
249
|
})
|
244
|
-
.fadeTo(module.get.duration(),
|
250
|
+
.fadeTo(module.get.duration(), settings.opacity, function() {
|
245
251
|
$dimmer.removeAttr('style');
|
246
252
|
module.set.active();
|
247
253
|
callback();
|
@@ -361,6 +367,23 @@ $.fn.dimmer = function(parameters) {
|
|
361
367
|
},
|
362
368
|
|
363
369
|
set: {
|
370
|
+
opacity: function(opacity) {
|
371
|
+
var
|
372
|
+
opacity = settings.opacity || opacity,
|
373
|
+
color = $dimmer.css('background-color'),
|
374
|
+
colorArray = color.split(','),
|
375
|
+
isRGBA = (colorArray && colorArray.length == 4)
|
376
|
+
;
|
377
|
+
if(isRGBA) {
|
378
|
+
colorArray[3] = opacity + ')';
|
379
|
+
color = colorArray.join(',');
|
380
|
+
}
|
381
|
+
else {
|
382
|
+
color = 'rgba(0, 0, 0, ' + opacity + ')';
|
383
|
+
}
|
384
|
+
module.debug('Setting opacity to', opacity);
|
385
|
+
$dimmer.css('background-color', color);
|
386
|
+
},
|
364
387
|
active: function() {
|
365
388
|
$dimmer.addClass(className.active);
|
366
389
|
},
|
@@ -583,13 +606,28 @@ $.fn.dimmer.settings = {
|
|
583
606
|
verbose : true,
|
584
607
|
performance : true,
|
585
608
|
|
609
|
+
// name to distinguish between multiple dimmers in context
|
586
610
|
dimmerName : false,
|
611
|
+
|
612
|
+
// whether to add a variation type
|
587
613
|
variation : false,
|
614
|
+
|
615
|
+
// whether to bind close events
|
588
616
|
closable : 'auto',
|
589
|
-
|
617
|
+
|
618
|
+
// whether to use css animations
|
590
619
|
useCSS : true,
|
620
|
+
|
621
|
+
// css animation to use
|
622
|
+
transition : 'fade',
|
623
|
+
|
624
|
+
// event to bind to
|
591
625
|
on : false,
|
592
626
|
|
627
|
+
// overriding opacity value
|
628
|
+
opacity : 'auto',
|
629
|
+
|
630
|
+
// transition durations
|
593
631
|
duration : {
|
594
632
|
show : 500,
|
595
633
|
hide : 500
|
@@ -75,25 +75,25 @@ $.fn.dropdown = function(parameters) {
|
|
75
75
|
module.debug('Initializing dropdown', settings);
|
76
76
|
|
77
77
|
if( module.is.alreadySetup() ) {
|
78
|
-
module.
|
78
|
+
module.setup.reference();
|
79
79
|
}
|
80
80
|
else {
|
81
81
|
module.setup.layout();
|
82
|
-
}
|
83
82
|
|
84
|
-
|
85
|
-
|
83
|
+
module.save.defaults();
|
84
|
+
module.set.selected();
|
86
85
|
|
87
|
-
|
86
|
+
module.create.id();
|
88
87
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
88
|
+
if(hasTouch) {
|
89
|
+
module.bind.touchEvents();
|
90
|
+
}
|
91
|
+
module.bind.mouseEvents();
|
92
|
+
module.bind.keyboardEvents();
|
94
93
|
|
95
|
-
|
96
|
-
|
94
|
+
module.observeChanges();
|
95
|
+
module.instantiate();
|
96
|
+
}
|
97
97
|
},
|
98
98
|
|
99
99
|
instantiate: function() {
|
@@ -141,9 +141,9 @@ $.fn.dropdown = function(parameters) {
|
|
141
141
|
|
142
142
|
create: {
|
143
143
|
id: function() {
|
144
|
-
|
145
|
-
id = module.get.uniqueID();
|
144
|
+
id = (Math.random().toString(16) + '000000000').substr(2,8);
|
146
145
|
elementNamespace = '.' + id;
|
146
|
+
module.verbose('Creating unique id for element', id);
|
147
147
|
}
|
148
148
|
},
|
149
149
|
|
@@ -161,7 +161,6 @@ $.fn.dropdown = function(parameters) {
|
|
161
161
|
},
|
162
162
|
|
163
163
|
setup: {
|
164
|
-
|
165
164
|
layout: function() {
|
166
165
|
if( $module.is('select') ) {
|
167
166
|
module.setup.select();
|
@@ -212,6 +211,21 @@ $.fn.dropdown = function(parameters) {
|
|
212
211
|
;
|
213
212
|
}
|
214
213
|
module.refresh();
|
214
|
+
},
|
215
|
+
reference: function() {
|
216
|
+
var
|
217
|
+
index = $allModules.index($module),
|
218
|
+
$firstModules,
|
219
|
+
$lastModules
|
220
|
+
;
|
221
|
+
module.debug('Dropdown behavior was called on select, replacing with closest dropdown');
|
222
|
+
// replace module reference
|
223
|
+
$module = $module.parent(selector.dropdown);
|
224
|
+
module.refresh();
|
225
|
+
// adjust all modules
|
226
|
+
$firstModules = $allModules.slice(0, index);
|
227
|
+
$lastModules = $allModules.slice(index + 1);
|
228
|
+
$allModules = $firstModules.add($module).add($lastModules);
|
215
229
|
}
|
216
230
|
},
|
217
231
|
|
@@ -456,6 +470,7 @@ $.fn.dropdown = function(parameters) {
|
|
456
470
|
;
|
457
471
|
if(hasSelected) {
|
458
472
|
module.event.item.click.call($selectedItem);
|
473
|
+
module.remove.filteredItem();
|
459
474
|
}
|
460
475
|
},
|
461
476
|
|
@@ -822,6 +837,9 @@ $.fn.dropdown = function(parameters) {
|
|
822
837
|
},
|
823
838
|
|
824
839
|
get: {
|
840
|
+
id: function() {
|
841
|
+
return id;
|
842
|
+
},
|
825
843
|
text: function() {
|
826
844
|
return $text.text();
|
827
845
|
},
|
@@ -969,9 +987,6 @@ $.fn.dropdown = function(parameters) {
|
|
969
987
|
value = module.get.text();
|
970
988
|
}
|
971
989
|
return $selectedItem || false;
|
972
|
-
},
|
973
|
-
uniqueID: function() {
|
974
|
-
return (Math.random().toString(16) + '000000000').substr(2,8);
|
975
990
|
}
|
976
991
|
},
|
977
992
|
|
@@ -1646,10 +1661,9 @@ $.fn.dropdown = function(parameters) {
|
|
1646
1661
|
}
|
1647
1662
|
})
|
1648
1663
|
;
|
1649
|
-
|
1650
1664
|
return (returnedValue !== undefined)
|
1651
1665
|
? returnedValue
|
1652
|
-
:
|
1666
|
+
: $allModules
|
1653
1667
|
;
|
1654
1668
|
};
|
1655
1669
|
|