@northdata/fomantic-ui 2.8.722 → 2.9.401

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.
Files changed (157) hide show
  1. package/lib/semantic-ui/dist/components/accordion.css +62 -69
  2. package/lib/semantic-ui/dist/components/accordion.js +595 -618
  3. package/lib/semantic-ui/dist/components/accordion.min.css +4 -4
  4. package/lib/semantic-ui/dist/components/accordion.min.js +6 -6
  5. package/lib/semantic-ui/dist/components/api.js +1225 -1177
  6. package/lib/semantic-ui/dist/components/api.min.js +6 -6
  7. package/lib/semantic-ui/dist/components/button.css +291 -634
  8. package/lib/semantic-ui/dist/components/button.min.css +4 -4
  9. package/lib/semantic-ui/dist/components/calendar.css +149 -33
  10. package/lib/semantic-ui/dist/components/calendar.js +2045 -1774
  11. package/lib/semantic-ui/dist/components/calendar.min.css +4 -4
  12. package/lib/semantic-ui/dist/components/calendar.min.js +6 -6
  13. package/lib/semantic-ui/dist/components/card.css +147 -537
  14. package/lib/semantic-ui/dist/components/card.min.css +4 -4
  15. package/lib/semantic-ui/dist/components/checkbox.css +215 -405
  16. package/lib/semantic-ui/dist/components/checkbox.js +888 -876
  17. package/lib/semantic-ui/dist/components/checkbox.min.css +4 -4
  18. package/lib/semantic-ui/dist/components/checkbox.min.js +6 -6
  19. package/lib/semantic-ui/dist/components/container.css +20 -21
  20. package/lib/semantic-ui/dist/components/container.min.css +4 -4
  21. package/lib/semantic-ui/dist/components/dimmer.css +76 -184
  22. package/lib/semantic-ui/dist/components/dimmer.js +732 -753
  23. package/lib/semantic-ui/dist/components/dimmer.min.css +4 -4
  24. package/lib/semantic-ui/dist/components/dimmer.min.js +6 -6
  25. package/lib/semantic-ui/dist/components/divider.css +81 -88
  26. package/lib/semantic-ui/dist/components/divider.min.css +4 -4
  27. package/lib/semantic-ui/dist/components/dropdown.css +431 -450
  28. package/lib/semantic-ui/dist/components/dropdown.js +4432 -4238
  29. package/lib/semantic-ui/dist/components/dropdown.min.css +4 -4
  30. package/lib/semantic-ui/dist/components/dropdown.min.js +6 -6
  31. package/lib/semantic-ui/dist/components/feed.css +130 -87
  32. package/lib/semantic-ui/dist/components/feed.min.css +4 -4
  33. package/lib/semantic-ui/dist/components/flag.css +541 -511
  34. package/lib/semantic-ui/dist/components/flag.min.css +4 -4
  35. package/lib/semantic-ui/dist/components/form.css +437 -476
  36. package/lib/semantic-ui/dist/components/form.js +2199 -2033
  37. package/lib/semantic-ui/dist/components/form.min.css +4 -4
  38. package/lib/semantic-ui/dist/components/form.min.js +6 -6
  39. package/lib/semantic-ui/dist/components/grid.css +151 -306
  40. package/lib/semantic-ui/dist/components/grid.min.css +4 -4
  41. package/lib/semantic-ui/dist/components/header.css +82 -99
  42. package/lib/semantic-ui/dist/components/header.min.css +4 -4
  43. package/lib/semantic-ui/dist/components/icon.css +2744 -2706
  44. package/lib/semantic-ui/dist/components/icon.min.css +4 -4
  45. package/lib/semantic-ui/dist/components/image.css +38 -73
  46. package/lib/semantic-ui/dist/components/image.min.css +4 -4
  47. package/lib/semantic-ui/dist/components/input.css +344 -254
  48. package/lib/semantic-ui/dist/components/input.min.css +4 -4
  49. package/lib/semantic-ui/dist/components/item.css +91 -139
  50. package/lib/semantic-ui/dist/components/item.min.css +4 -4
  51. package/lib/semantic-ui/dist/components/label.css +244 -267
  52. package/lib/semantic-ui/dist/components/label.min.css +4 -4
  53. package/lib/semantic-ui/dist/components/list.css +75 -113
  54. package/lib/semantic-ui/dist/components/list.min.css +4 -4
  55. package/lib/semantic-ui/dist/components/loader.css +142 -601
  56. package/lib/semantic-ui/dist/components/loader.min.css +4 -4
  57. package/lib/semantic-ui/dist/components/menu.css +398 -638
  58. package/lib/semantic-ui/dist/components/menu.min.css +9 -1
  59. package/lib/semantic-ui/dist/components/message.css +116 -332
  60. package/lib/semantic-ui/dist/components/message.min.css +4 -4
  61. package/lib/semantic-ui/dist/components/modal.css +149 -138
  62. package/lib/semantic-ui/dist/components/modal.js +1637 -1209
  63. package/lib/semantic-ui/dist/components/modal.min.css +4 -4
  64. package/lib/semantic-ui/dist/components/modal.min.js +6 -6
  65. package/lib/semantic-ui/dist/components/popup.css +284 -277
  66. package/lib/semantic-ui/dist/components/popup.js +1561 -1541
  67. package/lib/semantic-ui/dist/components/popup.min.css +4 -4
  68. package/lib/semantic-ui/dist/components/popup.min.js +6 -6
  69. package/lib/semantic-ui/dist/components/reset.css +12 -17
  70. package/lib/semantic-ui/dist/components/reset.min.css +4 -4
  71. package/lib/semantic-ui/dist/components/search.css +99 -137
  72. package/lib/semantic-ui/dist/components/search.js +1641 -1565
  73. package/lib/semantic-ui/dist/components/search.min.css +4 -4
  74. package/lib/semantic-ui/dist/components/search.min.js +6 -6
  75. package/lib/semantic-ui/dist/components/segment.css +149 -275
  76. package/lib/semantic-ui/dist/components/segment.min.css +4 -4
  77. package/lib/semantic-ui/dist/components/site.css +40 -48
  78. package/lib/semantic-ui/dist/components/site.js +455 -493
  79. package/lib/semantic-ui/dist/components/site.min.css +4 -4
  80. package/lib/semantic-ui/dist/components/site.min.js +6 -6
  81. package/lib/semantic-ui/dist/components/tab.css +16 -20
  82. package/lib/semantic-ui/dist/components/tab.js +967 -1001
  83. package/lib/semantic-ui/dist/components/tab.min.css +4 -4
  84. package/lib/semantic-ui/dist/components/tab.min.js +6 -6
  85. package/lib/semantic-ui/dist/components/table.css +465 -424
  86. package/lib/semantic-ui/dist/components/table.min.css +4 -4
  87. package/lib/semantic-ui/dist/components/transition.css +264 -1282
  88. package/lib/semantic-ui/dist/components/transition.js +1034 -1109
  89. package/lib/semantic-ui/dist/components/transition.min.css +4 -4
  90. package/lib/semantic-ui/dist/components/transition.min.js +6 -6
  91. package/lib/semantic-ui/dist/semantic-packed.css +5610 -6590
  92. package/lib/semantic-ui/dist/semantic.css +8547 -11697
  93. package/lib/semantic-ui/dist/semantic.full.css +14698 -11227
  94. package/lib/semantic-ui/dist/semantic.full.min.css +6 -262
  95. package/lib/semantic-ui/dist/semantic.js +19428 -19253
  96. package/lib/semantic-ui/dist/semantic.min.css +128 -128
  97. package/lib/semantic-ui/dist/semantic.min.js +6 -6
  98. package/lib/semantic-ui/dist/themes/basic/assets/fonts/LICENSE.txt +91 -0
  99. package/lib/semantic-ui/dist/themes/basic/assets/fonts/icons.woff2 +0 -0
  100. package/lib/semantic-ui/dist/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  101. package/lib/semantic-ui/dist/themes/default/assets/fonts/brand-icons.woff +0 -0
  102. package/lib/semantic-ui/dist/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  103. package/lib/semantic-ui/dist/themes/default/assets/fonts/icons.woff +0 -0
  104. package/lib/semantic-ui/dist/themes/default/assets/fonts/icons.woff2 +0 -0
  105. package/lib/semantic-ui/dist/themes/default/assets/fonts/outline-icons.woff +0 -0
  106. package/lib/semantic-ui/dist/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  107. package/lib/semantic-ui/types/fomantic-ui-accordion.d.ts +244 -0
  108. package/lib/semantic-ui/types/fomantic-ui-api.d.ts +561 -0
  109. package/lib/semantic-ui/types/fomantic-ui-calendar.d.ts +867 -0
  110. package/lib/semantic-ui/types/fomantic-ui-checkbox.d.ts +342 -0
  111. package/lib/semantic-ui/types/fomantic-ui-dimmer.d.ts +408 -0
  112. package/lib/semantic-ui/types/fomantic-ui-dropdown.d.ts +1221 -0
  113. package/lib/semantic-ui/types/fomantic-ui-embed.d.ts +343 -0
  114. package/lib/semantic-ui/types/fomantic-ui-flyout.d.ts +539 -0
  115. package/lib/semantic-ui/types/fomantic-ui-form.d.ts +759 -0
  116. package/lib/semantic-ui/types/fomantic-ui-modal.d.ts +567 -0
  117. package/lib/semantic-ui/types/fomantic-ui-nag.d.ts +270 -0
  118. package/lib/semantic-ui/types/fomantic-ui-popup.d.ts +549 -0
  119. package/lib/semantic-ui/types/fomantic-ui-progress.d.ts +465 -0
  120. package/lib/semantic-ui/types/fomantic-ui-rating.d.ts +187 -0
  121. package/lib/semantic-ui/types/fomantic-ui-search.d.ts +612 -0
  122. package/lib/semantic-ui/types/fomantic-ui-shape.d.ts +274 -0
  123. package/lib/semantic-ui/types/fomantic-ui-sidebar.d.ts +402 -0
  124. package/lib/semantic-ui/types/fomantic-ui-slider.d.ts +368 -0
  125. package/lib/semantic-ui/types/fomantic-ui-sticky.d.ts +215 -0
  126. package/lib/semantic-ui/types/fomantic-ui-tab.d.ts +361 -0
  127. package/lib/semantic-ui/types/fomantic-ui-toast.d.ts +526 -0
  128. package/lib/semantic-ui/types/fomantic-ui-transition.d.ts +389 -0
  129. package/lib/semantic-ui/types/fomantic-ui-visibility.d.ts +355 -0
  130. package/lib/semantic-ui/types/index.d.ts +63 -0
  131. package/package.json +19 -8
  132. package/lib/semantic-ui/dist/components/shape.css +0 -160
  133. package/lib/semantic-ui/dist/components/shape.js +0 -848
  134. package/lib/semantic-ui/dist/components/shape.min.css +0 -9
  135. package/lib/semantic-ui/dist/components/shape.min.js +0 -11
  136. package/lib/semantic-ui/dist/themes/basic/assets/fonts/icons.eot +0 -0
  137. package/lib/semantic-ui/dist/themes/basic/assets/fonts/icons.svg +0 -450
  138. package/lib/semantic-ui/dist/themes/basic/assets/fonts/icons.ttf +0 -0
  139. package/lib/semantic-ui/dist/themes/default/assets/fonts/brand-icons.eot +0 -0
  140. package/lib/semantic-ui/dist/themes/default/assets/fonts/brand-icons.svg +0 -3570
  141. package/lib/semantic-ui/dist/themes/default/assets/fonts/brand-icons.ttf +0 -0
  142. package/lib/semantic-ui/dist/themes/default/assets/fonts/icons.eot +0 -0
  143. package/lib/semantic-ui/dist/themes/default/assets/fonts/icons.svg +0 -4938
  144. package/lib/semantic-ui/dist/themes/default/assets/fonts/icons.ttf +0 -0
  145. package/lib/semantic-ui/dist/themes/default/assets/fonts/outline-icons.eot +0 -0
  146. package/lib/semantic-ui/dist/themes/default/assets/fonts/outline-icons.svg +0 -803
  147. package/lib/semantic-ui/dist/themes/default/assets/fonts/outline-icons.ttf +0 -0
  148. package/lib/semantic-ui/dist/themes/github/assets/fonts/octicons-local.ttf +0 -0
  149. package/lib/semantic-ui/dist/themes/github/assets/fonts/octicons.svg +0 -200
  150. package/lib/semantic-ui/dist/themes/github/assets/fonts/octicons.ttf +0 -0
  151. package/lib/semantic-ui/dist/themes/github/assets/fonts/octicons.woff +0 -0
  152. package/lib/semantic-ui/dist/themes/material/assets/fonts/icons.eot +0 -0
  153. package/lib/semantic-ui/dist/themes/material/assets/fonts/icons.svg +0 -2373
  154. package/lib/semantic-ui/dist/themes/material/assets/fonts/icons.ttf +0 -0
  155. package/lib/semantic-ui/dist/themes/material/assets/fonts/icons.woff +0 -0
  156. package/lib/semantic-ui/dist/themes/material/assets/fonts/icons.woff2 +0 -0
  157. /package/lib/semantic-ui/dist/themes/{default → famfamfam}/assets/images/flags.png +0 -0
@@ -1,753 +1,732 @@
1
- /*!
2
- * # Fomantic-UI - Dimmer
3
- * http://github.com/fomantic/Fomantic-UI/
4
- *
5
- *
6
- * Released under the MIT license
7
- * http://opensource.org/licenses/MIT
8
- *
9
- */
10
-
11
- ;(function ($, window, document, undefined) {
12
-
13
- 'use strict';
14
-
15
- $.isFunction = $.isFunction || function(obj) {
16
- return typeof obj === "function" && typeof obj.nodeType !== "number";
17
- };
18
-
19
- window = (typeof window != 'undefined' && window.Math == Math)
20
- ? window
21
- : (typeof self != 'undefined' && self.Math == Math)
22
- ? self
23
- : Function('return this')()
24
- ;
25
-
26
- $.fn.dimmer = function(parameters) {
27
- var
28
- $allModules = $(this),
29
-
30
- time = new Date().getTime(),
31
- performance = [],
32
-
33
- query = arguments[0],
34
- methodInvoked = (typeof query == 'string'),
35
- queryArguments = [].slice.call(arguments, 1),
36
-
37
- returnedValue
38
- ;
39
-
40
- $allModules
41
- .each(function() {
42
- var
43
- settings = ( $.isPlainObject(parameters) )
44
- ? $.extend(true, {}, $.fn.dimmer.settings, parameters)
45
- : $.extend({}, $.fn.dimmer.settings),
46
-
47
- selector = settings.selector,
48
- namespace = settings.namespace,
49
- className = settings.className,
50
- error = settings.error,
51
-
52
- eventNamespace = '.' + namespace,
53
- moduleNamespace = 'module-' + namespace,
54
- moduleSelector = $allModules.selector || '',
55
-
56
- clickEvent = ('ontouchstart' in document.documentElement)
57
- ? 'touchstart'
58
- : 'click',
59
-
60
- $module = $(this),
61
- $dimmer,
62
- $dimmable,
63
-
64
- element = this,
65
- instance = $module.data(moduleNamespace),
66
- module
67
- ;
68
-
69
- module = {
70
-
71
- preinitialize: function() {
72
- if( module.is.dimmer() ) {
73
-
74
- $dimmable = $module.parent();
75
- $dimmer = $module;
76
- }
77
- else {
78
- $dimmable = $module;
79
- if( module.has.dimmer() ) {
80
- if(settings.dimmerName) {
81
- $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);
82
- }
83
- else {
84
- $dimmer = $dimmable.find(selector.dimmer);
85
- }
86
- }
87
- else {
88
- $dimmer = module.create();
89
- }
90
- }
91
- },
92
-
93
- initialize: function() {
94
- module.debug('Initializing dimmer', settings);
95
-
96
- module.bind.events();
97
- module.set.dimmable();
98
- module.instantiate();
99
- },
100
-
101
- instantiate: function() {
102
- module.verbose('Storing instance of module', module);
103
- instance = module;
104
- $module
105
- .data(moduleNamespace, instance)
106
- ;
107
- },
108
-
109
- destroy: function() {
110
- module.verbose('Destroying previous module', $dimmer);
111
- module.unbind.events();
112
- module.remove.variation();
113
- $dimmable
114
- .off(eventNamespace)
115
- ;
116
- },
117
-
118
- bind: {
119
- events: function() {
120
- if(settings.on == 'hover') {
121
- $dimmable
122
- .on('mouseenter' + eventNamespace, module.show)
123
- .on('mouseleave' + eventNamespace, module.hide)
124
- ;
125
- }
126
- else if(settings.on == 'click') {
127
- $dimmable
128
- .on(clickEvent + eventNamespace, module.toggle)
129
- ;
130
- }
131
- if( module.is.page() ) {
132
- module.debug('Setting as a page dimmer', $dimmable);
133
- module.set.pageDimmer();
134
- }
135
-
136
- if( module.is.closable() ) {
137
- module.verbose('Adding dimmer close event', $dimmer);
138
- $dimmable
139
- .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
140
- ;
141
- }
142
- }
143
- },
144
-
145
- unbind: {
146
- events: function() {
147
- $module
148
- .removeData(moduleNamespace)
149
- ;
150
- $dimmable
151
- .off(eventNamespace)
152
- ;
153
- }
154
- },
155
-
156
- event: {
157
- click: function(event) {
158
- module.verbose('Determining if event occured on dimmer', event);
159
- if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {
160
- module.hide();
161
- event.stopImmediatePropagation();
162
- }
163
- }
164
- },
165
-
166
- addContent: function(element) {
167
- var
168
- $content = $(element)
169
- ;
170
- module.debug('Add content to dimmer', $content);
171
- if($content.parent()[0] !== $dimmer[0]) {
172
- $content.detach().appendTo($dimmer);
173
- }
174
- },
175
-
176
- create: function() {
177
- var
178
- $element = $( settings.template.dimmer(settings) )
179
- ;
180
- if(settings.dimmerName) {
181
- module.debug('Creating named dimmer', settings.dimmerName);
182
- $element.addClass(settings.dimmerName);
183
- }
184
- $element
185
- .appendTo($dimmable)
186
- ;
187
- return $element;
188
- },
189
-
190
- show: function(callback) {
191
- callback = $.isFunction(callback)
192
- ? callback
193
- : function(){}
194
- ;
195
- module.debug('Showing dimmer', $dimmer, settings);
196
- module.set.variation();
197
- if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {
198
- module.animate.show(callback);
199
- settings.onShow.call(element);
200
- settings.onChange.call(element);
201
- }
202
- else {
203
- module.debug('Dimmer is already shown or disabled');
204
- }
205
- },
206
-
207
- hide: function(callback) {
208
- callback = $.isFunction(callback)
209
- ? callback
210
- : function(){}
211
- ;
212
- if( module.is.dimmed() || module.is.animating() ) {
213
- module.debug('Hiding dimmer', $dimmer);
214
- module.animate.hide(callback);
215
- settings.onHide.call(element);
216
- settings.onChange.call(element);
217
- }
218
- else {
219
- module.debug('Dimmer is not visible');
220
- }
221
- },
222
-
223
- toggle: function() {
224
- module.verbose('Toggling dimmer visibility', $dimmer);
225
- if( !module.is.dimmed() ) {
226
- module.show();
227
- }
228
- else {
229
- if ( module.is.closable() ) {
230
- module.hide();
231
- }
232
- }
233
- },
234
-
235
- animate: {
236
- show: function(callback) {
237
- callback = $.isFunction(callback)
238
- ? callback
239
- : function(){}
240
- ;
241
- if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
242
- if(settings.useFlex) {
243
- module.debug('Using flex dimmer');
244
- module.remove.legacy();
245
- }
246
- else {
247
- module.debug('Using legacy non-flex dimmer');
248
- module.set.legacy();
249
- }
250
- if(settings.opacity !== 'auto') {
251
- module.set.opacity();
252
- }
253
- $dimmer
254
- .transition({
255
- displayType : settings.useFlex
256
- ? 'flex'
257
- : 'block',
258
- animation : settings.transition + ' in',
259
- queue : false,
260
- duration : module.get.duration(),
261
- useFailSafe : true,
262
- onStart : function() {
263
- module.set.dimmed();
264
- },
265
- onComplete : function() {
266
- module.set.active();
267
- callback();
268
- }
269
- })
270
- ;
271
- }
272
- else {
273
- module.verbose('Showing dimmer animation with javascript');
274
- module.set.dimmed();
275
- if(settings.opacity == 'auto') {
276
- settings.opacity = 0.8;
277
- }
278
- $dimmer
279
- .stop()
280
- .css({
281
- opacity : 0,
282
- width : '100%',
283
- height : '100%'
284
- })
285
- .fadeTo(module.get.duration(), settings.opacity, function() {
286
- $dimmer.removeAttr('style');
287
- module.set.active();
288
- callback();
289
- })
290
- ;
291
- }
292
- },
293
- hide: function(callback) {
294
- callback = $.isFunction(callback)
295
- ? callback
296
- : function(){}
297
- ;
298
- if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
299
- module.verbose('Hiding dimmer with css');
300
- $dimmer
301
- .transition({
302
- displayType : settings.useFlex
303
- ? 'flex'
304
- : 'block',
305
- animation : settings.transition + ' out',
306
- queue : false,
307
- duration : module.get.duration(),
308
- useFailSafe : true,
309
- onComplete : function() {
310
- module.remove.dimmed();
311
- module.remove.variation();
312
- module.remove.active();
313
- callback();
314
- }
315
- })
316
- ;
317
- }
318
- else {
319
- module.verbose('Hiding dimmer with javascript');
320
- $dimmer
321
- .stop()
322
- .fadeOut(module.get.duration(), function() {
323
- module.remove.dimmed();
324
- module.remove.active();
325
- $dimmer.removeAttr('style');
326
- callback();
327
- })
328
- ;
329
- }
330
- }
331
- },
332
-
333
- get: {
334
- dimmer: function() {
335
- return $dimmer;
336
- },
337
- duration: function() {
338
- if(typeof settings.duration == 'object') {
339
- if( module.is.active() ) {
340
- return settings.duration.hide;
341
- }
342
- else {
343
- return settings.duration.show;
344
- }
345
- }
346
- return settings.duration;
347
- }
348
- },
349
-
350
- has: {
351
- dimmer: function() {
352
- if(settings.dimmerName) {
353
- return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);
354
- }
355
- else {
356
- return ( $module.find(selector.dimmer).length > 0 );
357
- }
358
- }
359
- },
360
-
361
- is: {
362
- active: function() {
363
- return $dimmer.hasClass(className.active);
364
- },
365
- animating: function() {
366
- return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );
367
- },
368
- closable: function() {
369
- if(settings.closable == 'auto') {
370
- if(settings.on == 'hover') {
371
- return false;
372
- }
373
- return true;
374
- }
375
- return settings.closable;
376
- },
377
- dimmer: function() {
378
- return $module.hasClass(className.dimmer);
379
- },
380
- dimmable: function() {
381
- return $module.hasClass(className.dimmable);
382
- },
383
- dimmed: function() {
384
- return $dimmable.hasClass(className.dimmed);
385
- },
386
- disabled: function() {
387
- return $dimmable.hasClass(className.disabled);
388
- },
389
- enabled: function() {
390
- return !module.is.disabled();
391
- },
392
- page: function () {
393
- return $dimmable.is('body');
394
- },
395
- pageDimmer: function() {
396
- return $dimmer.hasClass(className.pageDimmer);
397
- }
398
- },
399
-
400
- can: {
401
- show: function() {
402
- return !$dimmer.hasClass(className.disabled);
403
- }
404
- },
405
-
406
- set: {
407
- opacity: function(opacity) {
408
- var
409
- color = $dimmer.css('background-color'),
410
- colorArray = color.split(','),
411
- isRGB = (colorArray && colorArray.length >= 3)
412
- ;
413
- opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
414
- if(isRGB) {
415
- colorArray[2] = colorArray[2].replace(')','');
416
- colorArray[3] = opacity + ')';
417
- color = colorArray.join(',');
418
- }
419
- else {
420
- color = 'rgba(0, 0, 0, ' + opacity + ')';
421
- }
422
- module.debug('Setting opacity to', opacity);
423
- $dimmer.css('background-color', color);
424
- },
425
- legacy: function() {
426
- $dimmer.addClass(className.legacy);
427
- },
428
- active: function() {
429
- $dimmer.addClass(className.active);
430
- },
431
- dimmable: function() {
432
- $dimmable.addClass(className.dimmable);
433
- },
434
- dimmed: function() {
435
- $dimmable.addClass(className.dimmed);
436
- },
437
- pageDimmer: function() {
438
- $dimmer.addClass(className.pageDimmer);
439
- },
440
- disabled: function() {
441
- $dimmer.addClass(className.disabled);
442
- },
443
- variation: function(variation) {
444
- variation = variation || settings.variation;
445
- if(variation) {
446
- $dimmer.addClass(variation);
447
- }
448
- }
449
- },
450
-
451
- remove: {
452
- active: function() {
453
- $dimmer
454
- .removeClass(className.active)
455
- ;
456
- },
457
- legacy: function() {
458
- $dimmer.removeClass(className.legacy);
459
- },
460
- dimmed: function() {
461
- $dimmable.removeClass(className.dimmed);
462
- },
463
- disabled: function() {
464
- $dimmer.removeClass(className.disabled);
465
- },
466
- variation: function(variation) {
467
- variation = variation || settings.variation;
468
- if(variation) {
469
- $dimmer.removeClass(variation);
470
- }
471
- }
472
- },
473
-
474
- setting: function(name, value) {
475
- module.debug('Changing setting', name, value);
476
- if( $.isPlainObject(name) ) {
477
- $.extend(true, settings, name);
478
- }
479
- else if(value !== undefined) {
480
- if($.isPlainObject(settings[name])) {
481
- $.extend(true, settings[name], value);
482
- }
483
- else {
484
- settings[name] = value;
485
- }
486
- }
487
- else {
488
- return settings[name];
489
- }
490
- },
491
- internal: function(name, value) {
492
- if( $.isPlainObject(name) ) {
493
- $.extend(true, module, name);
494
- }
495
- else if(value !== undefined) {
496
- module[name] = value;
497
- }
498
- else {
499
- return module[name];
500
- }
501
- },
502
- debug: function() {
503
- if(!settings.silent && settings.debug) {
504
- if(settings.performance) {
505
- module.performance.log(arguments);
506
- }
507
- else {
508
- module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
509
- module.debug.apply(console, arguments);
510
- }
511
- }
512
- },
513
- verbose: function() {
514
- if(!settings.silent && settings.verbose && settings.debug) {
515
- if(settings.performance) {
516
- module.performance.log(arguments);
517
- }
518
- else {
519
- module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
520
- module.verbose.apply(console, arguments);
521
- }
522
- }
523
- },
524
- error: function() {
525
- if(!settings.silent) {
526
- module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
527
- module.error.apply(console, arguments);
528
- }
529
- },
530
- performance: {
531
- log: function(message) {
532
- var
533
- currentTime,
534
- executionTime,
535
- previousTime
536
- ;
537
- if(settings.performance) {
538
- currentTime = new Date().getTime();
539
- previousTime = time || currentTime;
540
- executionTime = currentTime - previousTime;
541
- time = currentTime;
542
- performance.push({
543
- 'Name' : message[0],
544
- 'Arguments' : [].slice.call(message, 1) || '',
545
- 'Element' : element,
546
- 'Execution Time' : executionTime
547
- });
548
- }
549
- clearTimeout(module.performance.timer);
550
- module.performance.timer = setTimeout(module.performance.display, 500);
551
- },
552
- display: function() {
553
- var
554
- title = settings.name + ':',
555
- totalTime = 0
556
- ;
557
- time = false;
558
- clearTimeout(module.performance.timer);
559
- $.each(performance, function(index, data) {
560
- totalTime += data['Execution Time'];
561
- });
562
- title += ' ' + totalTime + 'ms';
563
- if(moduleSelector) {
564
- title += ' \'' + moduleSelector + '\'';
565
- }
566
- if($allModules.length > 1) {
567
- title += ' ' + '(' + $allModules.length + ')';
568
- }
569
- if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
570
- console.groupCollapsed(title);
571
- if(console.table) {
572
- console.table(performance);
573
- }
574
- else {
575
- $.each(performance, function(index, data) {
576
- console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
577
- });
578
- }
579
- console.groupEnd();
580
- }
581
- performance = [];
582
- }
583
- },
584
- invoke: function(query, passedArguments, context) {
585
- var
586
- object = instance,
587
- maxDepth,
588
- found,
589
- response
590
- ;
591
- passedArguments = passedArguments || queryArguments;
592
- context = element || context;
593
- if(typeof query == 'string' && object !== undefined) {
594
- query = query.split(/[\. ]/);
595
- maxDepth = query.length - 1;
596
- $.each(query, function(depth, value) {
597
- var camelCaseValue = (depth != maxDepth)
598
- ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
599
- : query
600
- ;
601
- if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
602
- object = object[camelCaseValue];
603
- }
604
- else if( object[camelCaseValue] !== undefined ) {
605
- found = object[camelCaseValue];
606
- return false;
607
- }
608
- else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
609
- object = object[value];
610
- }
611
- else if( object[value] !== undefined ) {
612
- found = object[value];
613
- return false;
614
- }
615
- else {
616
- module.error(error.method, query);
617
- return false;
618
- }
619
- });
620
- }
621
- if ( $.isFunction( found ) ) {
622
- response = found.apply(context, passedArguments);
623
- }
624
- else if(found !== undefined) {
625
- response = found;
626
- }
627
- if(Array.isArray(returnedValue)) {
628
- returnedValue.push(response);
629
- }
630
- else if(returnedValue !== undefined) {
631
- returnedValue = [returnedValue, response];
632
- }
633
- else if(response !== undefined) {
634
- returnedValue = response;
635
- }
636
- return found;
637
- }
638
- };
639
-
640
- module.preinitialize();
641
-
642
- if(methodInvoked) {
643
- if(instance === undefined) {
644
- module.initialize();
645
- }
646
- module.invoke(query);
647
- }
648
- else {
649
- if(instance !== undefined) {
650
- instance.invoke('destroy');
651
- }
652
- module.initialize();
653
- }
654
- })
655
- ;
656
-
657
- return (returnedValue !== undefined)
658
- ? returnedValue
659
- : this
660
- ;
661
- };
662
-
663
- $.fn.dimmer.settings = {
664
-
665
- name : 'Dimmer',
666
- namespace : 'dimmer',
667
-
668
- silent : false,
669
- debug : false,
670
- verbose : false,
671
- performance : true,
672
-
673
- // whether should use flex layout
674
- useFlex : true,
675
-
676
- // name to distinguish between multiple dimmers in context
677
- dimmerName : false,
678
-
679
- // whether to add a variation type
680
- variation : false,
681
-
682
- // whether to bind close events
683
- closable : 'auto',
684
-
685
- // whether to use css animations
686
- useCSS : true,
687
-
688
- // css animation to use
689
- transition : 'fade',
690
-
691
- // event to bind to
692
- on : false,
693
-
694
- // overriding opacity value
695
- opacity : 'auto',
696
-
697
- // transition durations
698
- duration : {
699
- show : 500,
700
- hide : 500
701
- },
702
- // whether the dynamically created dimmer should have a loader
703
- displayLoader: false,
704
- loaderText : false,
705
- loaderVariation : '',
706
-
707
- onChange : function(){},
708
- onShow : function(){},
709
- onHide : function(){},
710
-
711
- error : {
712
- method : 'The method you called is not defined.'
713
- },
714
-
715
- className : {
716
- active : 'active',
717
- animating : 'animating',
718
- dimmable : 'dimmable',
719
- dimmed : 'dimmed',
720
- dimmer : 'dimmer',
721
- disabled : 'disabled',
722
- hide : 'hide',
723
- legacy : 'legacy',
724
- pageDimmer : 'page',
725
- show : 'show',
726
- loader : 'ui loader'
727
- },
728
-
729
- selector: {
730
- dimmer : '> .ui.dimmer',
731
- content : '.ui.dimmer > .content, .ui.dimmer > .content > .center'
732
- },
733
-
734
- template: {
735
- dimmer: function(settings) {
736
- var d = $('<div/>').addClass('ui dimmer'),l;
737
- if(settings.displayLoader) {
738
- l = $('<div/>')
739
- .addClass(settings.className.loader)
740
- .addClass(settings.loaderVariation);
741
- if(!!settings.loaderText){
742
- l.text(settings.loaderText);
743
- l.addClass('text');
744
- }
745
- d.append(l);
746
- }
747
- return d;
748
- }
749
- }
750
-
751
- };
752
-
753
- })( jQuery, window, document );
1
+ /*!
2
+ * # Fomantic-UI 2.9.4 - Dimmer
3
+ * https://github.com/fomantic/Fomantic-UI/
4
+ *
5
+ *
6
+ * Released under the MIT license
7
+ * https://opensource.org/licenses/MIT
8
+ *
9
+ */
10
+
11
+ (function ($, window, document) {
12
+ 'use strict';
13
+
14
+ function isFunction(obj) {
15
+ return typeof obj === 'function' && typeof obj.nodeType !== 'number';
16
+ }
17
+
18
+ window = window !== undefined && window.Math === Math
19
+ ? window
20
+ : globalThis;
21
+
22
+ $.fn.dimmer = function (parameters) {
23
+ var
24
+ $allModules = $(this),
25
+
26
+ time = Date.now(),
27
+ performance = [],
28
+
29
+ query = arguments[0],
30
+ methodInvoked = typeof query === 'string',
31
+ queryArguments = [].slice.call(arguments, 1),
32
+
33
+ returnedValue
34
+ ;
35
+
36
+ $allModules.each(function () {
37
+ var
38
+ settings = $.isPlainObject(parameters)
39
+ ? $.extend(true, {}, $.fn.dimmer.settings, parameters)
40
+ : $.extend({}, $.fn.dimmer.settings),
41
+
42
+ selector = settings.selector,
43
+ namespace = settings.namespace,
44
+ className = settings.className,
45
+ error = settings.error,
46
+
47
+ eventNamespace = '.' + namespace,
48
+ moduleNamespace = 'module-' + namespace,
49
+
50
+ clickEvent = 'ontouchstart' in document.documentElement
51
+ ? 'touchstart'
52
+ : 'click',
53
+
54
+ $module = $(this),
55
+ $dimmer,
56
+ $dimmable,
57
+
58
+ element = this,
59
+ instance = $module.data(moduleNamespace),
60
+ module
61
+ ;
62
+
63
+ module = {
64
+
65
+ preinitialize: function () {
66
+ if (module.is.dimmer()) {
67
+ $dimmable = $module.parent();
68
+ $dimmer = $module;
69
+ } else {
70
+ $dimmable = $module;
71
+ if (module.has.dimmer()) {
72
+ $dimmer = settings.dimmerName
73
+ ? $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName)
74
+ : $dimmable.find(selector.dimmer);
75
+ } else {
76
+ $dimmer = module.create();
77
+ }
78
+ }
79
+ },
80
+
81
+ initialize: function () {
82
+ module.debug('Initializing dimmer', settings);
83
+
84
+ module.bind.events();
85
+ module.set.dimmable();
86
+ module.instantiate();
87
+ },
88
+
89
+ instantiate: function () {
90
+ module.verbose('Storing instance of module', module);
91
+ instance = module;
92
+ $module
93
+ .data(moduleNamespace, instance)
94
+ ;
95
+ },
96
+
97
+ destroy: function () {
98
+ module.verbose('Destroying previous module', $dimmer);
99
+ module.unbind.events();
100
+ module.remove.variation();
101
+ $dimmable
102
+ .off(eventNamespace)
103
+ ;
104
+ },
105
+
106
+ bind: {
107
+ events: function () {
108
+ if (settings.on === 'hover') {
109
+ $dimmable
110
+ .on('mouseenter' + eventNamespace, module.show)
111
+ .on('mouseleave' + eventNamespace, module.hide)
112
+ ;
113
+ } else if (settings.on === 'click') {
114
+ $dimmable
115
+ .on(clickEvent + eventNamespace, module.toggle)
116
+ ;
117
+ }
118
+ if (module.is.page()) {
119
+ module.debug('Setting as a page dimmer', $dimmable);
120
+ module.set.pageDimmer();
121
+ }
122
+
123
+ if (module.is.closable()) {
124
+ module.verbose('Adding dimmer close event', $dimmer);
125
+ $dimmable
126
+ .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
127
+ ;
128
+ }
129
+ },
130
+ },
131
+
132
+ unbind: {
133
+ events: function () {
134
+ $module
135
+ .removeData(moduleNamespace)
136
+ ;
137
+ $dimmable
138
+ .off(eventNamespace)
139
+ ;
140
+ },
141
+ },
142
+
143
+ event: {
144
+ click: function (event) {
145
+ module.verbose('Determining if event occurred on dimmer', event);
146
+ if ($dimmer.find(event.target).length === 0 || $(event.target).is(selector.content)) {
147
+ module.hide();
148
+ event.stopImmediatePropagation();
149
+ }
150
+ },
151
+ },
152
+
153
+ addContent: function (element) {
154
+ var
155
+ $content = $(element)
156
+ ;
157
+ module.debug('Add content to dimmer', $content);
158
+ if ($content.parent()[0] !== $dimmer[0]) {
159
+ $content.detach().appendTo($dimmer);
160
+ }
161
+ },
162
+
163
+ create: function () {
164
+ var
165
+ $element = $(settings.template.dimmer(settings))
166
+ ;
167
+ if (settings.dimmerName) {
168
+ module.debug('Creating named dimmer', settings.dimmerName);
169
+ $element.addClass(settings.dimmerName);
170
+ }
171
+ $element
172
+ .appendTo($dimmable)
173
+ ;
174
+
175
+ return $element;
176
+ },
177
+
178
+ show: function (callback) {
179
+ callback = isFunction(callback)
180
+ ? callback
181
+ : function () {};
182
+ if ((!module.is.dimmed() || module.is.animating()) && module.is.enabled()) {
183
+ if (settings.onShow.call(element) === false) {
184
+ module.verbose('Show callback returned false cancelling dimmer show');
185
+
186
+ return;
187
+ }
188
+ module.debug('Showing dimmer', $dimmer, settings);
189
+ module.set.variation();
190
+ module.animate.show(callback);
191
+ settings.onChange.call(element);
192
+ } else {
193
+ module.debug('Dimmer is already shown or disabled');
194
+ }
195
+ },
196
+
197
+ hide: function (callback) {
198
+ callback = isFunction(callback)
199
+ ? callback
200
+ : function () {};
201
+ if (module.is.dimmed() || module.is.animating()) {
202
+ if (settings.onHide.call(element) === false) {
203
+ module.verbose('Hide callback returned false cancelling dimmer hide');
204
+
205
+ return;
206
+ }
207
+ module.debug('Hiding dimmer', $dimmer);
208
+ module.animate.hide(callback);
209
+ settings.onChange.call(element);
210
+ } else {
211
+ module.debug('Dimmer is not visible');
212
+ }
213
+ },
214
+
215
+ toggle: function () {
216
+ module.verbose('Toggling dimmer visibility', $dimmer);
217
+ if (!module.is.dimmed()) {
218
+ module.show();
219
+ } else {
220
+ if (module.is.closable()) {
221
+ module.hide();
222
+ }
223
+ }
224
+ },
225
+
226
+ animate: {
227
+ show: function (callback) {
228
+ callback = isFunction(callback)
229
+ ? callback
230
+ : function () {};
231
+ if (settings.useCSS && $.fn.transition !== undefined) {
232
+ if (settings.useFlex) {
233
+ module.debug('Using flex dimmer');
234
+ module.remove.legacy();
235
+ } else {
236
+ module.debug('Using legacy non-flex dimmer');
237
+ module.set.legacy();
238
+ }
239
+ if (settings.opacity !== 'auto') {
240
+ module.set.opacity();
241
+ }
242
+ $dimmer
243
+ .transition({
244
+ debug: settings.debug,
245
+ verbose: settings.verbose,
246
+ silent: settings.silent,
247
+ displayType: settings.useFlex
248
+ ? 'flex'
249
+ : 'block',
250
+ animation: (settings.transition.showMethod || settings.transition) + ' in',
251
+ queue: false,
252
+ duration: module.get.duration(),
253
+ useFailSafe: true,
254
+ onStart: function () {
255
+ module.set.dimmed();
256
+ },
257
+ onComplete: function () {
258
+ module.set.active();
259
+ settings.onVisible.call($dimmer);
260
+ callback();
261
+ },
262
+ })
263
+ ;
264
+ } else {
265
+ module.verbose('Showing dimmer animation with javascript');
266
+ module.set.dimmed();
267
+ if (settings.opacity === 'auto') {
268
+ settings.opacity = 0.8;
269
+ }
270
+ $dimmer
271
+ .stop()
272
+ .css({
273
+ opacity: 0,
274
+ width: '100%',
275
+ height: '100%',
276
+ })
277
+ .fadeTo(module.get.duration(), settings.opacity, function () {
278
+ $dimmer.removeAttr('style');
279
+ module.set.active();
280
+ settings.onVisible.call($dimmer);
281
+ callback();
282
+ })
283
+ ;
284
+ }
285
+ },
286
+ hide: function (callback) {
287
+ callback = isFunction(callback)
288
+ ? callback
289
+ : function () {};
290
+ if (settings.useCSS && $.fn.transition !== undefined) {
291
+ module.verbose('Hiding dimmer with css');
292
+ $dimmer
293
+ .transition({
294
+ debug: settings.debug,
295
+ verbose: settings.verbose,
296
+ silent: settings.silent,
297
+ displayType: settings.useFlex
298
+ ? 'flex'
299
+ : 'block',
300
+ animation: (settings.transition.hideMethod || settings.transition) + ' out',
301
+ queue: false,
302
+ duration: module.get.duration(),
303
+ useFailSafe: true,
304
+ onComplete: function () {
305
+ module.remove.dimmed();
306
+ module.remove.variation();
307
+ module.remove.active();
308
+ settings.onHidden.call($dimmer);
309
+ callback();
310
+ },
311
+ })
312
+ ;
313
+ } else {
314
+ module.verbose('Hiding dimmer with javascript');
315
+ $dimmer
316
+ .stop()
317
+ .fadeOut(module.get.duration(), function () {
318
+ module.remove.dimmed();
319
+ module.remove.active();
320
+ $dimmer.removeAttr('style');
321
+ settings.onHidden.call($dimmer);
322
+ callback();
323
+ })
324
+ ;
325
+ }
326
+ },
327
+ },
328
+
329
+ get: {
330
+ dimmer: function () {
331
+ return $dimmer;
332
+ },
333
+ duration: function () {
334
+ if (module.is.active()) {
335
+ return settings.transition.hideDuration || settings.duration.hide || settings.duration;
336
+ }
337
+
338
+ return settings.transition.showDuration || settings.duration.show || settings.duration;
339
+ },
340
+ },
341
+
342
+ has: {
343
+ dimmer: function () {
344
+ if (settings.dimmerName) {
345
+ return $module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0;
346
+ }
347
+
348
+ return $module.find(selector.dimmer).length > 0;
349
+ },
350
+ },
351
+
352
+ is: {
353
+ active: function () {
354
+ return $dimmer.hasClass(className.active);
355
+ },
356
+ animating: function () {
357
+ return $dimmer.is(':animated') || $dimmer.hasClass(className.animating);
358
+ },
359
+ closable: function () {
360
+ if (settings.closable === 'auto') {
361
+ return settings.on !== 'hover';
362
+ }
363
+
364
+ return settings.closable;
365
+ },
366
+ dimmer: function () {
367
+ return $module.hasClass(className.dimmer);
368
+ },
369
+ dimmable: function () {
370
+ return $module.hasClass(className.dimmable);
371
+ },
372
+ dimmed: function () {
373
+ return $dimmable.hasClass(className.dimmed);
374
+ },
375
+ disabled: function () {
376
+ return $dimmable.hasClass(className.disabled);
377
+ },
378
+ enabled: function () {
379
+ return !module.is.disabled();
380
+ },
381
+ page: function () {
382
+ return $dimmable.is('body');
383
+ },
384
+ pageDimmer: function () {
385
+ return $dimmer.hasClass(className.pageDimmer);
386
+ },
387
+ },
388
+
389
+ can: {
390
+ show: function () {
391
+ return !$dimmer.hasClass(className.disabled);
392
+ },
393
+ },
394
+
395
+ set: {
396
+ opacity: function (opacity) {
397
+ var
398
+ color = $dimmer.css('background-color'),
399
+ colorArray = color.split(','),
400
+ isRGB = colorArray && colorArray.length >= 3
401
+ ;
402
+ opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
403
+ if (isRGB) {
404
+ colorArray[2] = colorArray[2].replace(')', '');
405
+ colorArray[3] = opacity + ')';
406
+ color = colorArray.join(',');
407
+ } else {
408
+ color = 'rgba(0, 0, 0, ' + opacity + ')';
409
+ }
410
+ module.debug('Setting opacity to', opacity);
411
+ $dimmer.css('background-color', color);
412
+ },
413
+ legacy: function () {
414
+ $dimmer.addClass(className.legacy);
415
+ },
416
+ active: function () {
417
+ $dimmer.addClass(className.active);
418
+ },
419
+ dimmable: function () {
420
+ $dimmable.addClass(className.dimmable);
421
+ },
422
+ dimmed: function () {
423
+ $dimmable.addClass(className.dimmed);
424
+ },
425
+ pageDimmer: function () {
426
+ $dimmer.addClass(className.pageDimmer);
427
+ },
428
+ disabled: function () {
429
+ $dimmer.addClass(className.disabled);
430
+ },
431
+ variation: function (variation) {
432
+ variation = variation || settings.variation;
433
+ if (variation) {
434
+ $dimmer.addClass(variation);
435
+ }
436
+ },
437
+ },
438
+
439
+ remove: {
440
+ active: function () {
441
+ $dimmer
442
+ .removeClass(className.active)
443
+ ;
444
+ },
445
+ legacy: function () {
446
+ $dimmer.removeClass(className.legacy);
447
+ },
448
+ dimmed: function () {
449
+ $dimmable.removeClass(className.dimmed);
450
+ },
451
+ disabled: function () {
452
+ $dimmer.removeClass(className.disabled);
453
+ },
454
+ variation: function (variation) {
455
+ variation = variation || settings.variation;
456
+ if (variation) {
457
+ $dimmer.removeClass(variation);
458
+ }
459
+ },
460
+ },
461
+
462
+ setting: function (name, value) {
463
+ module.debug('Changing setting', name, value);
464
+ if ($.isPlainObject(name)) {
465
+ $.extend(true, settings, name);
466
+ } else if (value !== undefined) {
467
+ if ($.isPlainObject(settings[name])) {
468
+ $.extend(true, settings[name], value);
469
+ } else {
470
+ settings[name] = value;
471
+ }
472
+ } else {
473
+ return settings[name];
474
+ }
475
+ },
476
+ internal: function (name, value) {
477
+ if ($.isPlainObject(name)) {
478
+ $.extend(true, module, name);
479
+ } else if (value !== undefined) {
480
+ module[name] = value;
481
+ } else {
482
+ return module[name];
483
+ }
484
+ },
485
+ debug: function () {
486
+ if (!settings.silent && settings.debug) {
487
+ if (settings.performance) {
488
+ module.performance.log(arguments);
489
+ } else {
490
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
491
+ module.debug.apply(console, arguments);
492
+ }
493
+ }
494
+ },
495
+ verbose: function () {
496
+ if (!settings.silent && settings.verbose && settings.debug) {
497
+ if (settings.performance) {
498
+ module.performance.log(arguments);
499
+ } else {
500
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
501
+ module.verbose.apply(console, arguments);
502
+ }
503
+ }
504
+ },
505
+ error: function () {
506
+ if (!settings.silent) {
507
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
508
+ module.error.apply(console, arguments);
509
+ }
510
+ },
511
+ performance: {
512
+ log: function (message) {
513
+ var
514
+ currentTime,
515
+ executionTime,
516
+ previousTime
517
+ ;
518
+ if (settings.performance) {
519
+ currentTime = Date.now();
520
+ previousTime = time || currentTime;
521
+ executionTime = currentTime - previousTime;
522
+ time = currentTime;
523
+ performance.push({
524
+ Name: message[0],
525
+ Arguments: [].slice.call(message, 1) || '',
526
+ Element: element,
527
+ 'Execution Time': executionTime,
528
+ });
529
+ }
530
+ clearTimeout(module.performance.timer);
531
+ module.performance.timer = setTimeout(function () {
532
+ module.performance.display();
533
+ }, 500);
534
+ },
535
+ display: function () {
536
+ var
537
+ title = settings.name + ':',
538
+ totalTime = 0
539
+ ;
540
+ time = false;
541
+ clearTimeout(module.performance.timer);
542
+ $.each(performance, function (index, data) {
543
+ totalTime += data['Execution Time'];
544
+ });
545
+ title += ' ' + totalTime + 'ms';
546
+ if ($allModules.length > 1) {
547
+ title += ' (' + $allModules.length + ')';
548
+ }
549
+ if (performance.length > 0) {
550
+ console.groupCollapsed(title);
551
+ if (console.table) {
552
+ console.table(performance);
553
+ } else {
554
+ $.each(performance, function (index, data) {
555
+ console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
556
+ });
557
+ }
558
+ console.groupEnd();
559
+ }
560
+ performance = [];
561
+ },
562
+ },
563
+ invoke: function (query, passedArguments, context) {
564
+ var
565
+ object = instance,
566
+ maxDepth,
567
+ found,
568
+ response
569
+ ;
570
+ passedArguments = passedArguments || queryArguments;
571
+ context = context || element;
572
+ if (typeof query === 'string' && object !== undefined) {
573
+ query = query.split(/[ .]/);
574
+ maxDepth = query.length - 1;
575
+ $.each(query, function (depth, value) {
576
+ var camelCaseValue = depth !== maxDepth
577
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
578
+ : query
579
+ ;
580
+ if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
581
+ object = object[camelCaseValue];
582
+ } else if (object[camelCaseValue] !== undefined) {
583
+ found = object[camelCaseValue];
584
+
585
+ return false;
586
+ } else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
587
+ object = object[value];
588
+ } else if (object[value] !== undefined) {
589
+ found = object[value];
590
+
591
+ return false;
592
+ } else {
593
+ module.error(error.method, query);
594
+
595
+ return false;
596
+ }
597
+ });
598
+ }
599
+ if (isFunction(found)) {
600
+ response = found.apply(context, passedArguments);
601
+ } else if (found !== undefined) {
602
+ response = found;
603
+ }
604
+ if (Array.isArray(returnedValue)) {
605
+ returnedValue.push(response);
606
+ } else if (returnedValue !== undefined) {
607
+ returnedValue = [returnedValue, response];
608
+ } else if (response !== undefined) {
609
+ returnedValue = response;
610
+ }
611
+
612
+ return found;
613
+ },
614
+ };
615
+
616
+ module.preinitialize();
617
+
618
+ if (methodInvoked) {
619
+ if (instance === undefined) {
620
+ module.initialize();
621
+ }
622
+ module.invoke(query);
623
+ } else {
624
+ if (instance !== undefined) {
625
+ instance.invoke('destroy');
626
+ }
627
+ module.initialize();
628
+ }
629
+ });
630
+
631
+ return returnedValue !== undefined
632
+ ? returnedValue
633
+ : this;
634
+ };
635
+
636
+ $.fn.dimmer.settings = {
637
+
638
+ name: 'Dimmer',
639
+ namespace: 'dimmer',
640
+
641
+ silent: false,
642
+ debug: false,
643
+ verbose: false,
644
+ performance: true,
645
+
646
+ // whether should use flex layout
647
+ useFlex: true,
648
+
649
+ // name to distinguish between multiple dimmers in context
650
+ dimmerName: false,
651
+
652
+ // whether to add a variation type
653
+ variation: false,
654
+
655
+ // whether to bind close events
656
+ closable: 'auto',
657
+
658
+ // whether to use css animations
659
+ useCSS: true,
660
+
661
+ // css animation to use
662
+ transition: 'fade',
663
+
664
+ // event to bind to
665
+ on: false,
666
+
667
+ // overriding opacity value
668
+ opacity: 'auto',
669
+
670
+ // transition durations
671
+ duration: {
672
+ show: 500,
673
+ hide: 500,
674
+ },
675
+ // whether the dynamically created dimmer should have a loader
676
+ displayLoader: false,
677
+ loaderText: false,
678
+ loaderVariation: '',
679
+
680
+ onChange: function () {},
681
+ onShow: function () {},
682
+ onHide: function () {},
683
+ onVisible: function () {},
684
+ onHidden: function () {},
685
+
686
+ error: {
687
+ method: 'The method you called is not defined.',
688
+ },
689
+
690
+ className: {
691
+ active: 'active',
692
+ animating: 'animating',
693
+ dimmable: 'dimmable',
694
+ dimmed: 'dimmed',
695
+ dimmer: 'dimmer',
696
+ disabled: 'disabled',
697
+ hide: 'hide',
698
+ legacy: 'legacy',
699
+ pageDimmer: 'page',
700
+ show: 'show',
701
+ loader: 'ui loader',
702
+ },
703
+
704
+ selector: {
705
+ dimmer: '> .ui.dimmer',
706
+ content: '.ui.dimmer > .content, .ui.dimmer > .content > .center',
707
+ },
708
+
709
+ template: {
710
+ dimmer: function (settings) {
711
+ var
712
+ d = $('<div/>').addClass('ui dimmer'),
713
+ l
714
+ ;
715
+ if (settings.displayLoader) {
716
+ l = $('<div/>')
717
+ .addClass(settings.className.loader)
718
+ .addClass(settings.loaderVariation)
719
+ ;
720
+ if (settings.loaderText) {
721
+ l.text(settings.loaderText);
722
+ l.addClass('text');
723
+ }
724
+ d.append(l);
725
+ }
726
+
727
+ return d;
728
+ },
729
+ },
730
+
731
+ };
732
+ })(jQuery, window, document);