less-rails-semantic_ui 1.10.4.0 → 1.11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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
|
|