fomantic-ui 2.10.0-beta.1 → 2.10.0-beta.11
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/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 +40 -48
- 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 +3945 -8759
- 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/examples/attached.html +1 -1
- package/examples/components/menu.html +1 -1
- package/gulpfile.js +5 -7
- package/package.json +3 -5
- 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 +101 -107
- 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/chubby/collections/menu.variables +1 -1
- package/src/themes/default/collections/grid.variables +0 -30
- package/src/themes/default/collections/menu.variables +23 -23
- 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 +3 -3
- 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 +10 -21
- 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,31 +20,29 @@
|
|
20
20
|
: globalThis;
|
21
21
|
|
22
22
|
$.fn.site = function (parameters) {
|
23
|
-
|
24
|
-
|
25
|
-
performance = [],
|
23
|
+
let time = Date.now();
|
24
|
+
let performance = [];
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
let query = arguments[0];
|
27
|
+
let methodInvoked = typeof query === 'string';
|
28
|
+
let queryArguments = [].slice.call(arguments, 1);
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
let settings = $.isPlainObject(parameters)
|
31
|
+
? $.extend(true, {}, $.site.settings, parameters)
|
32
|
+
: $.extend({}, $.site.settings);
|
34
33
|
|
35
|
-
|
36
|
-
|
34
|
+
let namespace = settings.namespace;
|
35
|
+
let error = settings.error;
|
37
36
|
|
38
|
-
|
37
|
+
let moduleNamespace = 'module-' + namespace;
|
39
38
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
39
|
+
let $document = $(document);
|
40
|
+
let $module = $document;
|
41
|
+
let element = this;
|
42
|
+
let instance = $module.data(moduleNamespace);
|
44
43
|
|
45
|
-
|
46
|
-
|
47
|
-
;
|
44
|
+
let module;
|
45
|
+
let returnedValue;
|
48
46
|
module = {
|
49
47
|
|
50
48
|
initialize: function () {
|
@@ -55,8 +53,7 @@
|
|
55
53
|
module.verbose('Storing instance of site', module);
|
56
54
|
instance = module;
|
57
55
|
$module
|
58
|
-
.data(moduleNamespace, module)
|
59
|
-
;
|
56
|
+
.data(moduleNamespace, module);
|
60
57
|
},
|
61
58
|
|
62
59
|
normalize: function () {
|
@@ -78,9 +75,7 @@
|
|
78
75
|
|
79
76
|
enabled: {
|
80
77
|
modules: function (modules) {
|
81
|
-
|
82
|
-
enabledModules = []
|
83
|
-
;
|
78
|
+
let enabledModules = [];
|
84
79
|
modules = modules || settings.modules;
|
85
80
|
$.each(modules, function (index, name) {
|
86
81
|
if (module.moduleExists(name)) {
|
@@ -94,9 +89,7 @@
|
|
94
89
|
|
95
90
|
disabled: {
|
96
91
|
modules: function (modules) {
|
97
|
-
|
98
|
-
disabledModules = []
|
99
|
-
;
|
92
|
+
let disabledModules = [];
|
100
93
|
modules = modules || settings.modules;
|
101
94
|
$.each(modules, function (index, name) {
|
102
95
|
if (!module.moduleExists(name)) {
|
@@ -119,12 +112,10 @@
|
|
119
112
|
? modifyExisting
|
120
113
|
: true;
|
121
114
|
$.each(modules, function (index, name) {
|
122
|
-
|
123
|
-
namespace
|
124
|
-
|
125
|
-
|
126
|
-
$existingModules
|
127
|
-
;
|
115
|
+
let namespace = module.moduleExists(name)
|
116
|
+
? $.fn[name].settings.namespace || false
|
117
|
+
: true;
|
118
|
+
let $existingModules;
|
128
119
|
if (module.moduleExists(name)) {
|
129
120
|
module.verbose('Changing default setting', setting, value, name);
|
130
121
|
$.fn[name].settings[setting] = value;
|
@@ -146,9 +137,7 @@
|
|
146
137
|
? modifyExisting
|
147
138
|
: true;
|
148
139
|
$.each(modules, function (index, name) {
|
149
|
-
|
150
|
-
$existingModules
|
151
|
-
;
|
140
|
+
let $existingModules;
|
152
141
|
if (module.moduleExists(name)) {
|
153
142
|
module.verbose('Changing default setting', newSettings, name);
|
154
143
|
$.extend(true, $.fn[name].settings, newSettings);
|
@@ -224,8 +213,7 @@
|
|
224
213
|
destroy: function () {
|
225
214
|
module.verbose('Destroying previous site for', $module);
|
226
215
|
$module
|
227
|
-
.removeData(moduleNamespace)
|
228
|
-
;
|
216
|
+
.removeData(moduleNamespace);
|
229
217
|
},
|
230
218
|
|
231
219
|
cache: {},
|
@@ -274,11 +262,9 @@
|
|
274
262
|
},
|
275
263
|
performance: {
|
276
264
|
log: function (message) {
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
previousTime
|
281
|
-
;
|
265
|
+
let currentTime;
|
266
|
+
let executionTime;
|
267
|
+
let previousTime;
|
282
268
|
if (settings.performance) {
|
283
269
|
currentTime = Date.now();
|
284
270
|
previousTime = time || currentTime;
|
@@ -297,10 +283,8 @@
|
|
297
283
|
}, 500);
|
298
284
|
},
|
299
285
|
display: function () {
|
300
|
-
|
301
|
-
|
302
|
-
totalTime = 0
|
303
|
-
;
|
286
|
+
let title = settings.name + ':';
|
287
|
+
let totalTime = 0;
|
304
288
|
time = false;
|
305
289
|
clearTimeout(module.performance.timer);
|
306
290
|
$.each(performance, function (index, data) {
|
@@ -322,22 +306,19 @@
|
|
322
306
|
},
|
323
307
|
},
|
324
308
|
invoke: function (query, passedArguments, context) {
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
response
|
330
|
-
;
|
309
|
+
let object = instance;
|
310
|
+
let maxDepth;
|
311
|
+
let found;
|
312
|
+
let response;
|
331
313
|
passedArguments = passedArguments || queryArguments;
|
332
314
|
context = context || element;
|
333
315
|
if (typeof query === 'string' && object !== undefined) {
|
334
316
|
query = query.split(/[ .]/);
|
335
317
|
maxDepth = query.length - 1;
|
336
318
|
$.each(query, function (depth, value) {
|
337
|
-
|
319
|
+
let camelCaseValue = depth !== maxDepth
|
338
320
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
339
|
-
: query
|
340
|
-
;
|
321
|
+
: query;
|
341
322
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
342
323
|
object = object[camelCaseValue];
|
343
324
|
} else if (object[camelCaseValue] !== undefined) {
|
@@ -148,15 +148,7 @@ a:hover {
|
|
148
148
|
body ::-webkit-scrollbar-thumb:hover {
|
149
149
|
background: @thumbHoverBackground;
|
150
150
|
}
|
151
|
-
|
152
|
-
body .ui {
|
153
|
-
/* IE11 */
|
154
|
-
scrollbar-face-color: @thumbBackgroundHex;
|
155
|
-
scrollbar-shadow-color: @thumbBackgroundHex;
|
156
|
-
scrollbar-track-color: @trackBackgroundHex;
|
157
|
-
scrollbar-arrow-color: @trackBackgroundHex;
|
158
|
-
}
|
159
|
-
}
|
151
|
+
|
160
152
|
@supports (-moz-appearance: none) {
|
161
153
|
body .ui {
|
162
154
|
/* firefox: first color thumb, second track */
|
@@ -178,15 +170,7 @@ a:hover {
|
|
178
170
|
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb:hover {
|
179
171
|
background: @thumbInvertedHoverBackground;
|
180
172
|
}
|
181
|
-
|
182
|
-
body .ui.inverted:not(.dimmer) {
|
183
|
-
/* IE11 */
|
184
|
-
scrollbar-face-color: @thumbInvertedBackgroundHex;
|
185
|
-
scrollbar-shadow-color: @thumbInvertedBackgroundHex;
|
186
|
-
scrollbar-track-color: @trackInvertedBackgroundHex;
|
187
|
-
scrollbar-arrow-color: @trackInvertedBackgroundHex;
|
188
|
-
}
|
189
|
-
}
|
173
|
+
|
190
174
|
@supports (-moz-appearance: none) {
|
191
175
|
body .ui.inverted:not(.dimmer) {
|
192
176
|
/* firefox: first color thumb, second track */
|
@@ -20,41 +20,37 @@
|
|
20
20
|
: globalThis;
|
21
21
|
|
22
22
|
$.fn.accordion = function (parameters) {
|
23
|
-
|
24
|
-
$allModules = $(this),
|
23
|
+
let $allModules = $(this);
|
25
24
|
|
26
|
-
|
27
|
-
|
25
|
+
let time = Date.now();
|
26
|
+
let performance = [];
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
let query = arguments[0];
|
29
|
+
let methodInvoked = typeof query === 'string';
|
30
|
+
let queryArguments = [].slice.call(arguments, 1);
|
32
31
|
|
33
|
-
|
34
|
-
;
|
32
|
+
let returnedValue;
|
35
33
|
$allModules.each(function () {
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
: $.extend({}, $.fn.accordion.settings),
|
34
|
+
let settings = $.isPlainObject(parameters)
|
35
|
+
? $.extend(true, {}, $.fn.accordion.settings, parameters)
|
36
|
+
: $.extend({}, $.fn.accordion.settings);
|
40
37
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
38
|
+
let className = settings.className;
|
39
|
+
let namespace = settings.namespace;
|
40
|
+
let selector = settings.selector;
|
41
|
+
let error = settings.error;
|
45
42
|
|
46
|
-
|
47
|
-
|
43
|
+
let eventNamespace = '.' + namespace;
|
44
|
+
let moduleNamespace = 'module-' + namespace;
|
48
45
|
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
let $module = $(this);
|
47
|
+
let $title = $module.find(selector.title);
|
48
|
+
let $content = $module.find(selector.content);
|
52
49
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
;
|
50
|
+
let element = this;
|
51
|
+
let instance = $module.data(moduleNamespace);
|
52
|
+
let observer;
|
53
|
+
let module;
|
58
54
|
|
59
55
|
module = {
|
60
56
|
|
@@ -70,16 +66,14 @@
|
|
70
66
|
instantiate: function () {
|
71
67
|
instance = module;
|
72
68
|
$module
|
73
|
-
.data(moduleNamespace, module)
|
74
|
-
;
|
69
|
+
.data(moduleNamespace, module);
|
75
70
|
},
|
76
71
|
|
77
72
|
destroy: function () {
|
78
73
|
module.debug('Destroying previous instance', $module);
|
79
74
|
$module
|
80
75
|
.off(eventNamespace)
|
81
|
-
.removeData(moduleNamespace)
|
82
|
-
;
|
76
|
+
.removeData(moduleNamespace);
|
83
77
|
},
|
84
78
|
|
85
79
|
refresh: function () {
|
@@ -88,25 +82,22 @@
|
|
88
82
|
},
|
89
83
|
|
90
84
|
observeChanges: function () {
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
module.debug('Setting up mutation observer', observer);
|
101
|
-
}
|
85
|
+
observer = new MutationObserver(function (mutations) {
|
86
|
+
module.debug('DOM tree modified, updating selector cache');
|
87
|
+
module.refresh();
|
88
|
+
});
|
89
|
+
observer.observe(element, {
|
90
|
+
childList: true,
|
91
|
+
subtree: true,
|
92
|
+
});
|
93
|
+
module.debug('Setting up mutation observer', observer);
|
102
94
|
},
|
103
95
|
|
104
96
|
bind: {
|
105
97
|
events: function () {
|
106
98
|
module.debug('Binding delegated events');
|
107
99
|
$module
|
108
|
-
.on(settings.on + eventNamespace, selector.trigger, module.event.click)
|
109
|
-
;
|
100
|
+
.on(settings.on + eventNamespace, selector.trigger, module.event.click);
|
110
101
|
},
|
111
102
|
},
|
112
103
|
|
@@ -119,18 +110,16 @@
|
|
119
110
|
},
|
120
111
|
|
121
112
|
toggle: function (query) {
|
122
|
-
|
123
|
-
|
124
|
-
? (
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
isOpening = !isActive && isAnimating
|
133
|
-
;
|
113
|
+
let $activeTitle = query !== undefined
|
114
|
+
? (typeof query === 'number'
|
115
|
+
? $title.eq(query)
|
116
|
+
: $(query).closest(selector.title))
|
117
|
+
: $(this).closest(selector.title);
|
118
|
+
let $activeContent = $activeTitle.next($content);
|
119
|
+
let isAnimating = $activeContent.hasClass(className.animating);
|
120
|
+
let isActive = $activeContent.hasClass(className.active);
|
121
|
+
let isOpen = isActive && !isAnimating;
|
122
|
+
let isOpening = !isActive && isAnimating;
|
134
123
|
module.debug('Toggling visibility of content', $activeTitle);
|
135
124
|
if (isOpen || isOpening) {
|
136
125
|
if (settings.collapsible) {
|
@@ -144,17 +133,15 @@
|
|
144
133
|
},
|
145
134
|
|
146
135
|
open: function (query) {
|
147
|
-
|
148
|
-
|
149
|
-
? (
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
isOpen = isActive || isAnimating
|
157
|
-
;
|
136
|
+
let $activeTitle = query !== undefined
|
137
|
+
? (typeof query === 'number'
|
138
|
+
? $title.eq(query)
|
139
|
+
: $(query).closest(selector.title))
|
140
|
+
: $(this).closest(selector.title);
|
141
|
+
let $activeContent = $activeTitle.next($content);
|
142
|
+
let isAnimating = $activeContent.hasClass(className.animating);
|
143
|
+
let isActive = $activeContent.hasClass(className.active);
|
144
|
+
let isOpen = isActive || isAnimating;
|
158
145
|
if (isOpen) {
|
159
146
|
module.debug('Accordion already open, skipping', $activeContent);
|
160
147
|
|
@@ -167,12 +154,10 @@
|
|
167
154
|
module.closeOthers.call($activeTitle);
|
168
155
|
}
|
169
156
|
$activeTitle
|
170
|
-
.addClass(className.active)
|
171
|
-
;
|
157
|
+
.addClass(className.active);
|
172
158
|
$activeContent
|
173
159
|
.stop(true, true)
|
174
|
-
.addClass(className.animating)
|
175
|
-
;
|
160
|
+
.addClass(className.animating);
|
176
161
|
if (settings.animateChildren) {
|
177
162
|
if ($.fn.transition !== undefined) {
|
178
163
|
$activeContent
|
@@ -189,8 +174,7 @@
|
|
189
174
|
onComplete: function () {
|
190
175
|
$activeContent.children().removeClass(className.transition);
|
191
176
|
},
|
192
|
-
})
|
193
|
-
;
|
177
|
+
});
|
194
178
|
} else {
|
195
179
|
$activeContent
|
196
180
|
.children()
|
@@ -204,39 +188,33 @@
|
|
204
188
|
.slideDown(settings.duration, settings.easing, function () {
|
205
189
|
$activeContent
|
206
190
|
.removeClass(className.animating)
|
207
|
-
.addClass(className.active)
|
208
|
-
;
|
191
|
+
.addClass(className.active);
|
209
192
|
module.reset.display.call(this);
|
210
193
|
settings.onOpen.call(this);
|
211
194
|
settings.onChange.call(this);
|
212
|
-
})
|
213
|
-
;
|
195
|
+
});
|
214
196
|
},
|
215
197
|
|
216
198
|
close: function (query) {
|
217
|
-
|
218
|
-
|
219
|
-
? (
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
isClosing = isActive && isAnimating
|
228
|
-
;
|
199
|
+
let $activeTitle = query !== undefined
|
200
|
+
? (typeof query === 'number'
|
201
|
+
? $title.eq(query)
|
202
|
+
: $(query).closest(selector.title))
|
203
|
+
: $(this).closest(selector.title);
|
204
|
+
let $activeContent = $activeTitle.next($content);
|
205
|
+
let isAnimating = $activeContent.hasClass(className.animating);
|
206
|
+
let isActive = $activeContent.hasClass(className.active);
|
207
|
+
let isOpening = !isActive && isAnimating;
|
208
|
+
let isClosing = isActive && isAnimating;
|
229
209
|
if ((isActive || isOpening) && !isClosing) {
|
230
210
|
module.debug('Closing accordion content', $activeContent);
|
231
211
|
settings.onClosing.call($activeContent);
|
232
212
|
settings.onChanging.call($activeContent);
|
233
213
|
$activeTitle
|
234
|
-
.removeClass(className.active)
|
235
|
-
;
|
214
|
+
.removeClass(className.active);
|
236
215
|
$activeContent
|
237
216
|
.stop(true, true)
|
238
|
-
.addClass(className.animating)
|
239
|
-
;
|
217
|
+
.addClass(className.animating);
|
240
218
|
if (settings.animateChildren) {
|
241
219
|
if ($.fn.transition !== undefined) {
|
242
220
|
$activeContent
|
@@ -250,8 +228,7 @@
|
|
250
228
|
silent: settings.silent,
|
251
229
|
duration: settings.duration,
|
252
230
|
skipInlineHidden: true,
|
253
|
-
})
|
254
|
-
;
|
231
|
+
});
|
255
232
|
} else {
|
256
233
|
$activeContent
|
257
234
|
.children()
|
@@ -265,29 +242,25 @@
|
|
265
242
|
.slideUp(settings.duration, settings.easing, function () {
|
266
243
|
$activeContent
|
267
244
|
.removeClass(className.animating)
|
268
|
-
.removeClass(className.active)
|
269
|
-
;
|
245
|
+
.removeClass(className.active);
|
270
246
|
module.reset.display.call(this);
|
271
247
|
settings.onClose.call(this);
|
272
248
|
settings.onChange.call(this);
|
273
|
-
})
|
274
|
-
;
|
249
|
+
});
|
275
250
|
}
|
276
251
|
},
|
277
252
|
|
278
253
|
closeOthers: function (index) {
|
279
|
-
|
280
|
-
$
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
$openContents
|
290
|
-
;
|
254
|
+
let $activeTitle = index !== undefined
|
255
|
+
? $title.eq(index)
|
256
|
+
: $(this).closest(selector.title);
|
257
|
+
let $parentTitles = $activeTitle.parents(selector.content).prev(selector.title);
|
258
|
+
let $activeAccordion = $activeTitle.closest(selector.accordion);
|
259
|
+
let activeSelector = selector.title + '.' + className.active + ':visible';
|
260
|
+
let activeContent = selector.content + '.' + className.active + ':visible';
|
261
|
+
let $openTitles;
|
262
|
+
let $nestedTitles;
|
263
|
+
let $openContents;
|
291
264
|
if (settings.closeNested) {
|
292
265
|
$openTitles = $activeAccordion.find(activeSelector).not($parentTitles);
|
293
266
|
$openContents = $openTitles.next($content);
|
@@ -300,12 +273,10 @@
|
|
300
273
|
if ($openTitles.length > 0) {
|
301
274
|
module.debug('Exclusive enabled, closing other content', $openTitles);
|
302
275
|
$openTitles
|
303
|
-
.removeClass(className.active)
|
304
|
-
;
|
276
|
+
.removeClass(className.active);
|
305
277
|
$openContents
|
306
278
|
.removeClass(className.animating)
|
307
|
-
.stop(true, true)
|
308
|
-
;
|
279
|
+
.stop(true, true);
|
309
280
|
if (settings.animateChildren) {
|
310
281
|
if ($.fn.transition !== undefined) {
|
311
282
|
$openContents
|
@@ -318,8 +289,7 @@
|
|
318
289
|
silent: settings.silent,
|
319
290
|
duration: settings.duration,
|
320
291
|
skipInlineHidden: true,
|
321
|
-
})
|
322
|
-
;
|
292
|
+
});
|
323
293
|
} else {
|
324
294
|
$openContents
|
325
295
|
.children()
|
@@ -333,8 +303,7 @@
|
|
333
303
|
.slideUp(settings.duration, settings.easing, function () {
|
334
304
|
$(this).removeClass(className.active);
|
335
305
|
module.reset.display.call(this);
|
336
|
-
})
|
337
|
-
;
|
306
|
+
});
|
338
307
|
}
|
339
308
|
},
|
340
309
|
|
@@ -342,25 +311,23 @@
|
|
342
311
|
|
343
312
|
display: function () {
|
344
313
|
module.verbose('Removing inline display from element', this);
|
345
|
-
|
314
|
+
let $element = $(this);
|
346
315
|
$element.css('display', '');
|
347
316
|
if ($element.attr('style') === '') {
|
348
317
|
$element
|
349
318
|
.attr('style', '')
|
350
|
-
.removeAttr('style')
|
351
|
-
;
|
319
|
+
.removeAttr('style');
|
352
320
|
}
|
353
321
|
},
|
354
322
|
|
355
323
|
opacity: function () {
|
356
324
|
module.verbose('Removing inline opacity from element', this);
|
357
|
-
|
325
|
+
let $element = $(this);
|
358
326
|
$element.css('opacity', '');
|
359
327
|
if ($element.attr('style') === '') {
|
360
328
|
$element
|
361
329
|
.attr('style', '')
|
362
|
-
.removeAttr('style')
|
363
|
-
;
|
330
|
+
.removeAttr('style');
|
364
331
|
}
|
365
332
|
},
|
366
333
|
|
@@ -420,11 +387,9 @@
|
|
420
387
|
},
|
421
388
|
performance: {
|
422
389
|
log: function (message) {
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
previousTime
|
427
|
-
;
|
390
|
+
let currentTime;
|
391
|
+
let executionTime;
|
392
|
+
let previousTime;
|
428
393
|
if (settings.performance) {
|
429
394
|
currentTime = Date.now();
|
430
395
|
previousTime = time || currentTime;
|
@@ -443,10 +408,8 @@
|
|
443
408
|
}, 500);
|
444
409
|
},
|
445
410
|
display: function () {
|
446
|
-
|
447
|
-
|
448
|
-
totalTime = 0
|
449
|
-
;
|
411
|
+
let title = settings.name + ':';
|
412
|
+
let totalTime = 0;
|
450
413
|
time = false;
|
451
414
|
clearTimeout(module.performance.timer);
|
452
415
|
$.each(performance, function (index, data) {
|
@@ -468,19 +431,17 @@
|
|
468
431
|
},
|
469
432
|
},
|
470
433
|
invoke: function (query, passedArguments, context) {
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
response
|
476
|
-
;
|
434
|
+
let object = instance;
|
435
|
+
let maxDepth;
|
436
|
+
let found;
|
437
|
+
let response;
|
477
438
|
passedArguments = passedArguments || queryArguments;
|
478
439
|
context = context || element;
|
479
440
|
if (typeof query === 'string' && object !== undefined) {
|
480
441
|
query = query.split(/[ .]/);
|
481
442
|
maxDepth = query.length - 1;
|
482
443
|
$.each(query, function (depth, value) {
|
483
|
-
|
444
|
+
let camelCaseValue = depth !== maxDepth
|
484
445
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
485
446
|
: query;
|
486
447
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|