@ntlab/ntjs-assets 2.0.2 → 2.0.3

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