fomantic-ui 2.10.0-beta.0 → 2.10.0-beta.10
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.
- package/.all-contributorsrc +9 -0
- package/.eslintrc.js +0 -10
- package/.github/workflows/ci.yml +3 -3
- package/CONTRIBUTING.md +4 -1
- package/CONTRIBUTORS.md +1 -0
- package/FAQ.md +7 -2
- package/README.md +5 -9
- package/ROADMAP.md +4 -4
- package/SECURITY.md +8 -7
- package/changelog-setup.js +64 -70
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +103 -142
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +2 -2
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +157 -210
- package/dist/components/api.min.js +2 -2
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -2
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +1 -2
- package/dist/components/calendar.js +314 -352
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +2 -2
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -2
- package/dist/components/checkbox.js +85 -135
- package/dist/components/checkbox.min.css +2 -2
- package/dist/components/checkbox.min.js +2 -2
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +2 -4
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +1 -11
- package/dist/components/dimmer.js +61 -94
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +2 -2
- package/dist/components/divider.css +1 -2
- package/dist/components/divider.min.css +2 -2
- package/dist/components/dropdown.css +30 -51
- package/dist/components/dropdown.js +736 -1055
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +85 -114
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/emoji.css +3809 -7617
- package/dist/components/emoji.min.css +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +2 -3
- package/dist/components/flyout.js +226 -355
- package/dist/components/flyout.min.css +2 -2
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +5 -95
- package/dist/components/form.js +335 -444
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +2 -58
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +4 -4
- package/dist/components/icon.min.css +2 -2
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -536
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -3
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/menu.css +1 -9
- package/dist/components/menu.min.css +2 -2
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +5 -9
- package/dist/components/modal.js +261 -384
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +68 -98
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -2
- package/dist/components/popup.js +198 -271
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +109 -144
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +2 -2
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +91 -123
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +2 -9
- package/dist/components/search.js +277 -379
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +2 -7
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -2
- package/dist/components/shape.js +158 -224
- package/dist/components/shape.min.css +2 -2
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +2 -3
- package/dist/components/sidebar.js +124 -206
- package/dist/components/sidebar.min.css +2 -2
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +9 -25
- package/dist/components/site.js +38 -57
- package/dist/components/site.min.css +2 -2
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +246 -329
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +70 -100
- package/dist/components/state.min.js +2 -2
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +135 -180
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +2 -2
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +176 -244
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +3 -37
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -3
- package/dist/components/toast.js +109 -147
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +91 -146
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +146 -224
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +3906 -8720
- package/dist/semantic.js +4397 -6155
- package/dist/semantic.min.css +2 -2
- package/dist/semantic.min.js +2 -2
- package/examples/assets/show-examples.js +2 -4
- package/gulpfile.js +5 -7
- package/package.json +20 -16
- package/scripts/nightly-version.js +7 -10
- package/src/README.md +3 -3
- package/src/definitions/behaviors/api.js +156 -209
- package/src/definitions/behaviors/form.js +334 -443
- package/src/definitions/behaviors/state.js +69 -99
- package/src/definitions/behaviors/visibility.js +145 -223
- package/src/definitions/collections/form.less +1 -13
- package/src/definitions/collections/grid.less +1 -61
- package/src/definitions/collections/menu.less +0 -11
- package/src/definitions/collections/table.less +1 -35
- package/src/definitions/elements/input.less +1 -61
- package/src/definitions/elements/segment.less +0 -6
- package/src/definitions/globals/site.js +37 -56
- package/src/definitions/globals/site.less +2 -18
- package/src/definitions/modules/accordion.js +102 -141
- package/src/definitions/modules/calendar.js +313 -351
- package/src/definitions/modules/checkbox.js +84 -134
- package/src/definitions/modules/dimmer.js +60 -93
- package/src/definitions/modules/dimmer.less +0 -9
- package/src/definitions/modules/dropdown.js +735 -1054
- package/src/definitions/modules/dropdown.less +31 -47
- package/src/definitions/modules/embed.js +84 -113
- package/src/definitions/modules/flyout.js +225 -354
- package/src/definitions/modules/modal.js +260 -383
- package/src/definitions/modules/modal.less +1 -1
- package/src/definitions/modules/nag.js +67 -97
- package/src/definitions/modules/popup.js +197 -270
- package/src/definitions/modules/progress.js +108 -143
- package/src/definitions/modules/rating.js +90 -122
- package/src/definitions/modules/search.js +276 -378
- package/src/definitions/modules/search.less +0 -3
- package/src/definitions/modules/shape.js +157 -223
- package/src/definitions/modules/sidebar.js +123 -205
- package/src/definitions/modules/slider.js +245 -328
- package/src/definitions/modules/slider.less +1 -1
- package/src/definitions/modules/sticky.js +134 -179
- package/src/definitions/modules/tab.js +175 -243
- package/src/definitions/modules/toast.js +108 -146
- package/src/definitions/modules/toast.less +1 -1
- package/src/definitions/modules/transition.js +90 -145
- package/src/theme.less +0 -13
- package/src/themes/basic/elements/icon.variables +1 -1
- package/src/themes/default/collections/grid.variables +0 -30
- package/src/themes/default/collections/table.variables +1 -5
- package/src/themes/default/elements/icon.variables +3 -3
- package/src/themes/default/globals/site.variables +8 -15
- package/src/themes/default/globals/variation.variables +1 -2
- package/src/themes/default/modules/dropdown.variables +1 -0
- package/src/themes/default/modules/slider.variables +1 -1
- package/src/themes/github/elements/icon.variables +1 -1
- package/src/themes/material/elements/icon.variables +1 -1
- package/tasks/README.md +1 -1
- package/tasks/admin/components/create.js +89 -122
- package/tasks/admin/components/init.js +34 -65
- package/tasks/admin/components/update.js +50 -61
- package/tasks/admin/distributions/create.js +71 -111
- package/tasks/admin/distributions/init.js +32 -63
- package/tasks/admin/distributions/update.js +49 -57
- package/tasks/admin/publish.js +1 -1
- package/tasks/admin/register.js +14 -19
- package/tasks/admin/release.js +2 -2
- package/tasks/build/assets.js +14 -18
- package/tasks/build/css.js +59 -68
- package/tasks/build/javascript.js +48 -56
- package/tasks/build.js +4 -6
- package/tasks/check-install.js +5 -8
- package/tasks/clean.js +5 -7
- package/tasks/collections/admin.js +14 -16
- package/tasks/collections/build.js +6 -8
- package/tasks/collections/docs.js +4 -6
- package/tasks/collections/install.js +2 -4
- package/tasks/collections/rtl.js +2 -4
- package/tasks/collections/various.js +2 -4
- package/tasks/config/admin/github.js +9 -19
- package/tasks/config/admin/templates/README.md +2 -2
- package/tasks/config/admin/templates/bower.json +2 -4
- package/tasks/config/admin/templates/composer.json +1 -1
- package/tasks/config/admin/templates/css-package.js +1 -4
- package/tasks/config/admin/templates/less-package.js +1 -3
- package/tasks/config/defaults.js +0 -1
- package/tasks/config/npm/gulpfile.js +4 -6
- package/tasks/config/project/config.js +27 -35
- package/tasks/config/project/install.js +64 -82
- package/tasks/config/project/release.js +7 -9
- package/tasks/config/tasks.js +16 -30
- package/tasks/config/user.js +14 -20
- package/tasks/docs/build.js +26 -31
- package/tasks/docs/metadata.js +30 -39
- package/tasks/docs/serve.js +23 -27
- package/tasks/install.js +94 -128
- package/tasks/rtl/build.js +2 -4
- package/tasks/rtl/watch.js +3 -5
- package/tasks/watch.js +13 -13
- package/test/meteor/fonts.js +1 -2
- package/test/modules/module.spec.js +16 -18
- package/types/fomantic-ui-calendar.d.ts +1 -1
- package/types/fomantic-ui-dropdown.d.ts +45 -1
- package/types/fomantic-ui-embed.d.ts +1 -1
- package/types/fomantic-ui-flyout.d.ts +1 -1
- package/types/fomantic-ui-form.d.ts +0 -7
- package/types/fomantic-ui-modal.d.ts +1 -1
- package/types/fomantic-ui-search.d.ts +12 -6
- package/types/fomantic-ui-toast.d.ts +1 -1
- package/src/themes/basic/assets/fonts/icons.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
- package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
- package/src/themes/default/assets/fonts/icons.woff +0 -0
- package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
- package/src/themes/github/assets/fonts/octicons.woff +0 -0
- package/src/themes/material/assets/fonts/icons.woff +0 -0
@@ -20,59 +20,55 @@
|
|
20
20
|
: globalThis;
|
21
21
|
|
22
22
|
$.fn.sticky = function (parameters) {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
$context = win.frameElement ? contextCheck(context, win.parent) : window;
|
41
|
-
}
|
23
|
+
let $allModules = $(this);
|
24
|
+
let $document = $(document);
|
25
|
+
|
26
|
+
let time = Date.now();
|
27
|
+
let performance = [];
|
28
|
+
|
29
|
+
let query = arguments[0];
|
30
|
+
let methodInvoked = typeof query === 'string';
|
31
|
+
let queryArguments = [].slice.call(arguments, 1);
|
32
|
+
let contextCheck = function (context, win) {
|
33
|
+
let $context;
|
34
|
+
if ([window, document].indexOf(context) >= 0) {
|
35
|
+
$context = $(context);
|
36
|
+
} else {
|
37
|
+
$context = $(win.document).find(context);
|
38
|
+
if ($context.length === 0) {
|
39
|
+
$context = win.frameElement ? contextCheck(context, win.parent) : window;
|
42
40
|
}
|
41
|
+
}
|
43
42
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
;
|
43
|
+
return $context;
|
44
|
+
};
|
45
|
+
let returnedValue;
|
48
46
|
|
49
47
|
$allModules.each(function () {
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
: $.extend({}, $.fn.sticky.settings),
|
48
|
+
let settings = $.isPlainObject(parameters)
|
49
|
+
? $.extend(true, {}, $.fn.sticky.settings, parameters)
|
50
|
+
: $.extend({}, $.fn.sticky.settings);
|
54
51
|
|
55
|
-
|
56
|
-
|
57
|
-
|
52
|
+
let className = settings.className;
|
53
|
+
let namespace = settings.namespace;
|
54
|
+
let error = settings.error;
|
58
55
|
|
59
|
-
|
60
|
-
|
56
|
+
let eventNamespace = '.' + namespace;
|
57
|
+
let moduleNamespace = 'module-' + namespace;
|
61
58
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
59
|
+
let $module = $(this);
|
60
|
+
let $window = $(window);
|
61
|
+
let $scroll = contextCheck(settings.scrollContext, window);
|
62
|
+
let $container;
|
63
|
+
let $context;
|
67
64
|
|
68
|
-
|
65
|
+
let instance = $module.data(moduleNamespace);
|
69
66
|
|
70
|
-
|
67
|
+
let element = this;
|
71
68
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
;
|
69
|
+
let documentObserver;
|
70
|
+
let observer;
|
71
|
+
let module;
|
76
72
|
|
77
73
|
module = {
|
78
74
|
|
@@ -95,8 +91,7 @@
|
|
95
91
|
module.verbose('Storing instance of module', module);
|
96
92
|
instance = module;
|
97
93
|
$module
|
98
|
-
.data(moduleNamespace, module)
|
99
|
-
;
|
94
|
+
.data(moduleNamespace, module);
|
100
95
|
},
|
101
96
|
|
102
97
|
destroy: function () {
|
@@ -110,32 +105,28 @@
|
|
110
105
|
}
|
111
106
|
$window
|
112
107
|
.off('load' + eventNamespace, module.event.load)
|
113
|
-
.off('resize' + eventNamespace, module.event.resize)
|
114
|
-
;
|
108
|
+
.off('resize' + eventNamespace, module.event.resize);
|
115
109
|
$scroll
|
116
|
-
.off('scrollchange' + eventNamespace, module.event.scrollchange)
|
117
|
-
;
|
110
|
+
.off('scrollchange' + eventNamespace, module.event.scrollchange);
|
118
111
|
$module.removeData(moduleNamespace);
|
119
112
|
},
|
120
113
|
|
121
114
|
observeChanges: function () {
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
module.debug('Setting up mutation observer', observer);
|
138
|
-
}
|
115
|
+
documentObserver = new MutationObserver(module.event.documentChanged);
|
116
|
+
observer = new MutationObserver(module.event.changed);
|
117
|
+
documentObserver.observe(document, {
|
118
|
+
childList: true,
|
119
|
+
subtree: true,
|
120
|
+
});
|
121
|
+
observer.observe(element, {
|
122
|
+
childList: true,
|
123
|
+
subtree: true,
|
124
|
+
});
|
125
|
+
observer.observe($context[0], {
|
126
|
+
childList: true,
|
127
|
+
subtree: true,
|
128
|
+
});
|
129
|
+
module.debug('Setting up mutation observer', observer);
|
139
130
|
},
|
140
131
|
|
141
132
|
determineContainer: function () {
|
@@ -163,14 +154,12 @@
|
|
163
154
|
events: function () {
|
164
155
|
$window
|
165
156
|
.on('load' + eventNamespace, module.event.load)
|
166
|
-
.on('resize' + eventNamespace, module.event.resize)
|
167
|
-
;
|
157
|
+
.on('resize' + eventNamespace, module.event.resize);
|
168
158
|
// pub/sub pattern
|
169
159
|
$scroll
|
170
160
|
.off('scroll' + eventNamespace)
|
171
161
|
.on('scroll' + eventNamespace, module.event.scroll)
|
172
|
-
.on('scrollchange' + eventNamespace, module.event.scrollchange)
|
173
|
-
;
|
162
|
+
.on('scrollchange' + eventNamespace, module.event.scrollchange);
|
174
163
|
},
|
175
164
|
},
|
176
165
|
|
@@ -228,9 +217,7 @@
|
|
228
217
|
|
229
218
|
supports: {
|
230
219
|
sticky: function () {
|
231
|
-
|
232
|
-
$element = $('<div/>')
|
233
|
-
;
|
220
|
+
let $element = $('<div/>');
|
234
221
|
$element.addClass(className.supported);
|
235
222
|
|
236
223
|
return $element.css('position').match('sticky');
|
@@ -245,24 +232,22 @@
|
|
245
232
|
module.elementScroll = scroll;
|
246
233
|
},
|
247
234
|
positions: function () {
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
bottom: parseInt($module.css('margin-bottom'), 10),
|
256
|
-
},
|
257
|
-
offset: $module.offset(),
|
258
|
-
width: $module.outerWidth(),
|
259
|
-
height: $module.outerHeight(),
|
235
|
+
let scrollContext = {
|
236
|
+
height: $scroll.height(),
|
237
|
+
};
|
238
|
+
let element = {
|
239
|
+
margin: {
|
240
|
+
top: parseInt($module.css('margin-top'), 10),
|
241
|
+
bottom: parseInt($module.css('margin-bottom'), 10),
|
260
242
|
},
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
243
|
+
offset: $module.offset(),
|
244
|
+
width: $module.outerWidth(),
|
245
|
+
height: $module.outerHeight(),
|
246
|
+
};
|
247
|
+
let context = {
|
248
|
+
offset: $context.offset(),
|
249
|
+
height: $context.outerHeight(),
|
250
|
+
};
|
266
251
|
if (!module.is.standardScroll()) {
|
267
252
|
module.debug('Non-standard scroll. Removing scroll offset from element offset');
|
268
253
|
|
@@ -303,9 +288,7 @@
|
|
303
288
|
|
304
289
|
get: {
|
305
290
|
direction: function (scroll) {
|
306
|
-
|
307
|
-
direction = 'down'
|
308
|
-
;
|
291
|
+
let direction = 'down';
|
309
292
|
scroll = scroll || $scroll.scrollTop();
|
310
293
|
if (module.lastScroll && module.lastScroll > scroll) {
|
311
294
|
direction = 'up';
|
@@ -332,14 +315,12 @@
|
|
332
315
|
|
333
316
|
elementScroll: function (scroll) {
|
334
317
|
scroll = scroll || $scroll.scrollTop();
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
possibleScroll = elementScroll + delta
|
342
|
-
;
|
318
|
+
let element = module.cache.element;
|
319
|
+
let scrollContext = module.cache.scrollContext;
|
320
|
+
let delta = module.get.scrollChange(scroll);
|
321
|
+
let maxScroll = element.height - scrollContext.height + settings.offset;
|
322
|
+
let elementScroll = module.get.currentElementScroll();
|
323
|
+
let possibleScroll = elementScroll + delta;
|
343
324
|
if (module.cache.fits || possibleScroll < 0) {
|
344
325
|
elementScroll = 0;
|
345
326
|
} else if (possibleScroll > maxScroll) {
|
@@ -361,8 +342,7 @@
|
|
361
342
|
},
|
362
343
|
minimumSize: function () {
|
363
344
|
$container
|
364
|
-
.css('min-height', '')
|
365
|
-
;
|
345
|
+
.css('min-height', '');
|
366
346
|
},
|
367
347
|
offset: function () {
|
368
348
|
$module.css('margin-top', '');
|
@@ -373,17 +353,14 @@
|
|
373
353
|
offset: function () {
|
374
354
|
module.verbose('Setting offset on element', settings.offset);
|
375
355
|
$module
|
376
|
-
.css('margin-top', settings.offset)
|
377
|
-
;
|
356
|
+
.css('margin-top', settings.offset);
|
378
357
|
},
|
379
358
|
containerSize: function () {
|
380
|
-
|
381
|
-
tagName = $container[0].tagName
|
382
|
-
;
|
359
|
+
let tagName = $container[0].tagName;
|
383
360
|
if (tagName === 'HTML' || tagName === 'body') {
|
384
361
|
module.determineContainer();
|
385
362
|
} else {
|
386
|
-
|
363
|
+
let tallestHeight = Math.max(module.cache.context.height, module.cache.element.height);
|
387
364
|
if (tallestHeight - $container.outerHeight() > settings.jitter) {
|
388
365
|
module.debug('Context is taller than container. Specifying exact height for container', module.cache.context.height);
|
389
366
|
$container.css({
|
@@ -403,12 +380,9 @@
|
|
403
380
|
}
|
404
381
|
},
|
405
382
|
minimumSize: function () {
|
406
|
-
|
407
|
-
element = module.cache.element
|
408
|
-
;
|
383
|
+
let element = module.cache.element;
|
409
384
|
$container
|
410
|
-
.css('min-height', element.height)
|
411
|
-
;
|
385
|
+
.css('min-height', element.height);
|
412
386
|
},
|
413
387
|
scroll: function (scroll) {
|
414
388
|
module.debug('Setting scroll on element', scroll);
|
@@ -418,14 +392,12 @@
|
|
418
392
|
if (module.is.top()) {
|
419
393
|
$module
|
420
394
|
.css('bottom', '')
|
421
|
-
.css('top', -scroll + 'px')
|
422
|
-
;
|
395
|
+
.css('top', -scroll + 'px');
|
423
396
|
}
|
424
397
|
if (module.is.bottom()) {
|
425
398
|
$module
|
426
399
|
.css('top', '')
|
427
|
-
.css('bottom', scroll + 'px')
|
428
|
-
;
|
400
|
+
.css('bottom', scroll + 'px');
|
429
401
|
}
|
430
402
|
},
|
431
403
|
size: function () {
|
@@ -461,29 +433,27 @@
|
|
461
433
|
},
|
462
434
|
|
463
435
|
stick: function (scrollPosition) {
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
elementVisible = element.height !== 0
|
486
|
-
;
|
436
|
+
let cachedPosition = scrollPosition || $scroll.scrollTop();
|
437
|
+
let cache = module.cache;
|
438
|
+
let fits = cache.fits;
|
439
|
+
let sameHeight = cache.sameHeight;
|
440
|
+
let element = cache.element;
|
441
|
+
let scrollContext = cache.scrollContext;
|
442
|
+
let context = cache.context;
|
443
|
+
let offset = module.is.bottom() && settings.pushing
|
444
|
+
? settings.bottomOffset
|
445
|
+
: settings.offset;
|
446
|
+
let scroll = {
|
447
|
+
top: cachedPosition + offset,
|
448
|
+
bottom: cachedPosition + offset + scrollContext.height,
|
449
|
+
};
|
450
|
+
let elementScroll = fits
|
451
|
+
? 0
|
452
|
+
: module.get.elementScroll(scroll.top);
|
453
|
+
|
454
|
+
// shorthand
|
455
|
+
let doesntFit = !fits;
|
456
|
+
let elementVisible = element.height !== 0;
|
487
457
|
if (elementVisible && !sameHeight) {
|
488
458
|
if (module.is.initialPosition()) {
|
489
459
|
if (scroll.top >= context.bottom) {
|
@@ -560,8 +530,7 @@
|
|
560
530
|
.removeClass(className.fixed)
|
561
531
|
.removeClass(className.bottom)
|
562
532
|
.addClass(className.bound)
|
563
|
-
.addClass(className.top)
|
564
|
-
;
|
533
|
+
.addClass(className.top);
|
565
534
|
settings.onTop.call(element);
|
566
535
|
settings.onUnstick.call(element);
|
567
536
|
},
|
@@ -579,8 +548,7 @@
|
|
579
548
|
.removeClass(className.fixed)
|
580
549
|
.removeClass(className.top)
|
581
550
|
.addClass(className.bound)
|
582
|
-
.addClass(className.bottom)
|
583
|
-
;
|
551
|
+
.addClass(className.bottom);
|
584
552
|
settings.onBottom.call(element);
|
585
553
|
settings.onUnstick.call(element);
|
586
554
|
},
|
@@ -607,8 +575,7 @@
|
|
607
575
|
.removeClass(className.bound)
|
608
576
|
.removeClass(className.bottom)
|
609
577
|
.addClass(className.fixed)
|
610
|
-
.addClass(className.top)
|
611
|
-
;
|
578
|
+
.addClass(className.top);
|
612
579
|
settings.onStick.call(element);
|
613
580
|
},
|
614
581
|
|
@@ -628,8 +595,7 @@
|
|
628
595
|
.removeClass(className.bound)
|
629
596
|
.removeClass(className.top)
|
630
597
|
.addClass(className.fixed)
|
631
|
-
.addClass(className.bottom)
|
632
|
-
;
|
598
|
+
.addClass(className.bottom);
|
633
599
|
settings.onStick.call(element);
|
634
600
|
},
|
635
601
|
|
@@ -640,8 +606,7 @@
|
|
640
606
|
$module
|
641
607
|
.removeClass(className.bound)
|
642
608
|
.removeClass(className.top)
|
643
|
-
.removeClass(className.bottom)
|
644
|
-
;
|
609
|
+
.removeClass(className.bottom);
|
645
610
|
}
|
646
611
|
},
|
647
612
|
|
@@ -653,8 +618,7 @@
|
|
653
618
|
$module
|
654
619
|
.removeClass(className.fixed)
|
655
620
|
.removeClass(className.top)
|
656
|
-
.removeClass(className.bottom)
|
657
|
-
;
|
621
|
+
.removeClass(className.bottom);
|
658
622
|
settings.onUnstick.call(element);
|
659
623
|
}
|
660
624
|
},
|
@@ -673,13 +637,11 @@
|
|
673
637
|
.css({
|
674
638
|
width: '',
|
675
639
|
height: '',
|
676
|
-
})
|
677
|
-
;
|
640
|
+
});
|
678
641
|
$container
|
679
642
|
.css({
|
680
643
|
height: '',
|
681
|
-
})
|
682
|
-
;
|
644
|
+
});
|
683
645
|
},
|
684
646
|
|
685
647
|
setting: function (name, value) {
|
@@ -728,11 +690,9 @@
|
|
728
690
|
},
|
729
691
|
performance: {
|
730
692
|
log: function (message) {
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
previousTime
|
735
|
-
;
|
693
|
+
let currentTime;
|
694
|
+
let executionTime;
|
695
|
+
let previousTime;
|
736
696
|
if (settings.performance) {
|
737
697
|
currentTime = Date.now();
|
738
698
|
previousTime = time || currentTime;
|
@@ -751,10 +711,8 @@
|
|
751
711
|
}, 0);
|
752
712
|
},
|
753
713
|
display: function () {
|
754
|
-
|
755
|
-
|
756
|
-
totalTime = 0
|
757
|
-
;
|
714
|
+
let title = settings.name + ':';
|
715
|
+
let totalTime = 0;
|
758
716
|
time = false;
|
759
717
|
clearTimeout(module.performance.timer);
|
760
718
|
$.each(performance, function (index, data) {
|
@@ -776,22 +734,19 @@
|
|
776
734
|
},
|
777
735
|
},
|
778
736
|
invoke: function (query, passedArguments, context) {
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
response
|
784
|
-
;
|
737
|
+
let object = instance;
|
738
|
+
let maxDepth;
|
739
|
+
let found;
|
740
|
+
let response;
|
785
741
|
passedArguments = passedArguments || queryArguments;
|
786
742
|
context = context || element;
|
787
743
|
if (typeof query === 'string' && object !== undefined) {
|
788
744
|
query = query.split(/[ .]/);
|
789
745
|
maxDepth = query.length - 1;
|
790
746
|
$.each(query, function (depth, value) {
|
791
|
-
|
747
|
+
let camelCaseValue = depth !== maxDepth
|
792
748
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
793
|
-
: query
|
794
|
-
;
|
749
|
+
: query;
|
795
750
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
796
751
|
object = object[camelCaseValue];
|
797
752
|
} else if (object[camelCaseValue] !== undefined) {
|
@@ -871,10 +826,10 @@
|
|
871
826
|
// Offset to adjust scroll when attached to bottom of screen
|
872
827
|
bottomOffset: 0,
|
873
828
|
|
874
|
-
// will only set container height if difference between context and container is larger than this number
|
829
|
+
// will only set container height if the difference between context and container is larger than this number
|
875
830
|
jitter: 5,
|
876
831
|
|
877
|
-
// set width of sticky element when it is fixed to page (used to make sure 100% width is maintained if no fixed size set)
|
832
|
+
// set width of the sticky element when it is fixed to page (used to make sure 100% width is maintained if no fixed size set)
|
878
833
|
setSize: true,
|
879
834
|
|
880
835
|
// Whether to automatically observe changes with Mutation Observers
|
@@ -886,10 +841,10 @@
|
|
886
841
|
// Called on each scroll
|
887
842
|
onScroll: function () {},
|
888
843
|
|
889
|
-
// Called when element is stuck to viewport
|
844
|
+
// Called when the element is stuck to viewport
|
890
845
|
onStick: function () {},
|
891
846
|
|
892
|
-
// Called when element is unstuck from viewport
|
847
|
+
// Called when the element is unstuck from viewport
|
893
848
|
onUnstick: function () {},
|
894
849
|
|
895
850
|
// Called when element reaches top of context
|