@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,492 +1,552 @@
1
1
  /*!
2
- * # Fomantic-UI - Nag
3
- * http://github.com/fomantic/Fomantic-UI/
2
+ * # Fomantic-UI 2.9.2 - Nag
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.nag = function(parameters) {
27
- var
28
- $allModules = $(this),
29
- moduleSelector = $allModules.selector || '',
30
-
31
- time = new Date().getTime(),
32
- performance = [],
33
-
34
- query = arguments[0],
35
- methodInvoked = (typeof query == 'string'),
36
- queryArguments = [].slice.call(arguments, 1),
37
- returnedValue
38
- ;
39
- $allModules
40
- .each(function() {
41
- var
42
- settings = ( $.isPlainObject(parameters) )
43
- ? $.extend(true, {}, $.fn.nag.settings, parameters)
44
- : $.extend({}, $.fn.nag.settings),
45
-
46
- selector = settings.selector,
47
- error = settings.error,
48
- namespace = settings.namespace,
49
-
50
- eventNamespace = '.' + namespace,
51
- moduleNamespace = namespace + '-module',
52
-
53
- $module = $(this),
54
-
55
- $context = (settings.context)
56
- ? $(settings.context)
57
- : $('body'),
58
-
59
- element = this,
60
- instance = $module.data(moduleNamespace),
61
-
62
- module
63
- ;
64
- module = {
65
-
66
- initialize: function() {
67
- module.verbose('Initializing element');
68
-
69
- $module
70
- .on('click' + eventNamespace, selector.close, module.dismiss)
71
- .data(moduleNamespace, module)
72
- ;
73
-
74
- if(settings.detachable && $module.parent()[0] !== $context[0]) {
75
- $module
76
- .detach()
77
- .prependTo($context)
78
- ;
79
- }
11
+ (function ($, window, document) {
12
+ 'use strict';
80
13
 
81
- if(settings.displayTime > 0) {
82
- setTimeout(module.hide, settings.displayTime);
83
- }
84
- module.show();
85
- },
14
+ function isFunction(obj) {
15
+ return typeof obj === 'function' && typeof obj.nodeType !== 'number';
16
+ }
86
17
 
87
- destroy: function() {
88
- module.verbose('Destroying instance');
89
- $module
90
- .removeData(moduleNamespace)
91
- .off(eventNamespace)
92
- ;
93
- },
18
+ window = window !== undefined && window.Math === Math
19
+ ? window
20
+ : globalThis;
94
21
 
95
- show: function() {
96
- if( module.should.show() && !$module.is(':visible') ) {
97
- module.debug('Showing nag', settings.animation.show);
98
- if(settings.animation.show == 'fade') {
99
- $module
100
- .fadeIn(settings.duration, settings.easing)
101
- ;
102
- }
103
- else {
104
- $module
105
- .slideDown(settings.duration, settings.easing)
106
- ;
107
- }
108
- }
109
- },
22
+ $.fn.nag = function (parameters) {
23
+ var
24
+ $allModules = $(this),
25
+ moduleSelector = $allModules.selector || '',
110
26
 
111
- hide: function() {
112
- module.debug('Showing nag', settings.animation.hide);
113
- if(settings.animation.show == 'fade') {
114
- $module
115
- .fadeIn(settings.duration, settings.easing)
116
- ;
117
- }
118
- else {
119
- $module
120
- .slideUp(settings.duration, settings.easing)
121
- ;
122
- }
123
- },
27
+ time = Date.now(),
28
+ performance = [],
124
29
 
125
- onHide: function() {
126
- module.debug('Removing nag', settings.animation.hide);
127
- $module.remove();
128
- if (settings.onHide) {
129
- settings.onHide();
130
- }
131
- },
30
+ query = arguments[0],
31
+ methodInvoked = typeof query === 'string',
32
+ queryArguments = [].slice.call(arguments, 1),
33
+ returnedValue
34
+ ;
35
+ $allModules.each(function () {
36
+ var
37
+ settings = $.isPlainObject(parameters)
38
+ ? $.extend(true, {}, $.fn.nag.settings, parameters)
39
+ : $.extend({}, $.fn.nag.settings),
132
40
 
133
- dismiss: function(event) {
134
- if(settings.storageMethod) {
135
- module.storage.set(settings.key, settings.value);
136
- }
137
- module.hide();
138
- event.stopImmediatePropagation();
139
- event.preventDefault();
140
- },
41
+ selector = settings.selector,
42
+ error = settings.error,
43
+ namespace = settings.namespace,
141
44
 
142
- should: {
143
- show: function() {
144
- if(settings.persist) {
145
- module.debug('Persistent nag is set, can show nag');
146
- return true;
147
- }
148
- if( module.storage.get(settings.key) != settings.value.toString() ) {
149
- module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));
150
- return true;
151
- }
152
- module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));
153
- return false;
154
- }
155
- },
45
+ eventNamespace = '.' + namespace,
46
+ moduleNamespace = namespace + '-module',
156
47
 
157
- get: {
158
- storageOptions: function() {
159
- var
160
- options = {}
161
- ;
162
- if(settings.expires) {
163
- options.expires = settings.expires;
164
- }
165
- if(settings.domain) {
166
- options.domain = settings.domain;
167
- }
168
- if(settings.path) {
169
- options.path = settings.path;
170
- }
171
- return options;
172
- }
173
- },
48
+ $module = $(this),
174
49
 
175
- clear: function() {
176
- module.storage.remove(settings.key);
177
- },
50
+ $context = settings.context
51
+ ? ([window, document].indexOf(settings.context) < 0 ? $(document).find(settings.context) : $(settings.context))
52
+ : $('body'),
178
53
 
179
- storage: {
180
- set: function(key, value) {
181
- var
182
- options = module.get.storageOptions()
183
- ;
184
- if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
185
- window.localStorage.setItem(key, value);
186
- module.debug('Value stored using local storage', key, value);
187
- }
188
- else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
189
- window.sessionStorage.setItem(key, value);
190
- module.debug('Value stored using session storage', key, value);
191
- }
192
- else if($.cookie !== undefined) {
193
- $.cookie(key, value, options);
194
- module.debug('Value stored using cookie', key, value, options);
195
- }
196
- else {
197
- module.error(error.noCookieStorage);
198
- return;
199
- }
200
- },
201
- get: function(key, value) {
202
- var
203
- storedValue
54
+ element = this,
55
+ instance = $module.data(moduleNamespace),
56
+ storage,
57
+ module
204
58
  ;
205
- if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
206
- storedValue = window.localStorage.getItem(key);
207
- }
208
- else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
209
- storedValue = window.sessionStorage.getItem(key);
210
- }
211
- // get by cookie
212
- else if($.cookie !== undefined) {
213
- storedValue = $.cookie(key);
214
- }
215
- else {
216
- module.error(error.noCookieStorage);
217
- }
218
- if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {
219
- storedValue = undefined;
220
- }
221
- return storedValue;
222
- },
223
- remove: function(key) {
224
- var
225
- options = module.get.storageOptions()
226
- ;
227
- if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
228
- window.localStorage.removeItem(key);
229
- }
230
- else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
231
- window.sessionStorage.removeItem(key);
232
- }
233
- // store by cookie
234
- else if($.cookie !== undefined) {
235
- $.removeCookie(key, options);
236
- }
237
- else {
238
- module.error(error.noStorage);
59
+ module = {
60
+
61
+ initialize: function () {
62
+ module.verbose('Initializing element');
63
+ if (typeof settings.value !== 'string') {
64
+ settings.value = JSON.stringify(settings.value);
65
+ }
66
+ storage = module.get.storage();
67
+ $module
68
+ .on('click' + eventNamespace, selector.close, module.dismiss)
69
+ .data(moduleNamespace, module)
70
+ ;
71
+
72
+ if (settings.detachable && $module.parent()[0] !== $context[0]) {
73
+ $module
74
+ .detach()
75
+ .prependTo($context)
76
+ ;
77
+ }
78
+
79
+ if (settings.displayTime > 0) {
80
+ setTimeout(module.hide, settings.displayTime);
81
+ }
82
+ module.show();
83
+ },
84
+
85
+ destroy: function () {
86
+ module.verbose('Destroying instance');
87
+ $module
88
+ .removeData(moduleNamespace)
89
+ .off(eventNamespace)
90
+ ;
91
+ },
92
+
93
+ show: function () {
94
+ if (module.should.show() && !$module.is(':visible')) {
95
+ if (settings.onShow.call(element) === false) {
96
+ module.debug('onShow callback returned false, cancelling nag animation');
97
+
98
+ return false;
99
+ }
100
+ module.debug('Showing nag', settings.animation.show);
101
+ if (settings.animation.show === 'fade') {
102
+ $module
103
+ .fadeIn(settings.duration, settings.easing, settings.onVisible)
104
+ ;
105
+ } else {
106
+ $module
107
+ .slideDown(settings.duration, settings.easing, settings.onVisible)
108
+ ;
109
+ }
110
+ }
111
+ },
112
+
113
+ hide: function () {
114
+ if (settings.onHide.call(element) === false) {
115
+ module.debug('onHide callback returned false, cancelling nag animation');
116
+
117
+ return false;
118
+ }
119
+ module.debug('Hiding nag', settings.animation.hide);
120
+ if (settings.animation.hide === 'fade') {
121
+ $module
122
+ .fadeOut(settings.duration, settings.easing, settings.onHidden)
123
+ ;
124
+ } else {
125
+ $module
126
+ .slideUp(settings.duration, settings.easing, settings.onHidden)
127
+ ;
128
+ }
129
+ },
130
+
131
+ dismiss: function (event) {
132
+ if (module.hide() !== false && settings.storageMethod) {
133
+ module.debug('Dismissing nag', settings.storageMethod, settings.key, settings.value, settings.expires);
134
+ module.storage.set(settings.key, settings.value);
135
+ }
136
+ event.stopImmediatePropagation();
137
+ event.preventDefault();
138
+ },
139
+
140
+ should: {
141
+ show: function () {
142
+ if (settings.persist) {
143
+ module.debug('Persistent nag is set, can show nag');
144
+
145
+ return true;
146
+ }
147
+ if (module.storage.get(settings.key) != settings.value.toString()) {
148
+ module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));
149
+
150
+ return true;
151
+ }
152
+ module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));
153
+
154
+ return false;
155
+ },
156
+ },
157
+
158
+ get: {
159
+ expirationDate: function (expires) {
160
+ if (typeof expires === 'number') {
161
+ expires = new Date(Date.now() + expires * 864e5);
162
+ }
163
+ if (expires instanceof Date && expires.getTime()) {
164
+ return expires.toUTCString();
165
+ }
166
+
167
+ module.error(error.expiresFormat);
168
+ },
169
+ storage: function () {
170
+ if (settings.storageMethod === 'localstorage' && window.localStorage !== undefined) {
171
+ module.debug('Using local storage');
172
+
173
+ return window.localStorage;
174
+ }
175
+ if (settings.storageMethod === 'sessionstorage' && window.sessionStorage !== undefined) {
176
+ module.debug('Using session storage');
177
+
178
+ return window.sessionStorage;
179
+ }
180
+ if ('cookie' in document) {
181
+ module.debug('Using cookie');
182
+
183
+ return {
184
+ setItem: function (key, value, options) {
185
+ // RFC6265 compliant encoding
186
+ key = encodeURIComponent(key)
187
+ .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
188
+ .replace(/[()]/g, escape)
189
+ ;
190
+ value = encodeURIComponent(value)
191
+ .replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[B-D])/g, decodeURIComponent)
192
+ ;
193
+
194
+ var cookieOptions = '';
195
+ for (var option in options) {
196
+ if (Object.prototype.hasOwnProperty.call(options, option)) {
197
+ cookieOptions += '; ' + option;
198
+ if (typeof options[option] === 'string') {
199
+ cookieOptions += '=' + options[option].split(';')[0];
200
+ }
201
+ }
202
+ }
203
+ document.cookie = key + '=' + value + cookieOptions;
204
+ },
205
+ getItem: function (key) {
206
+ var cookies = document.cookie.split('; ');
207
+ for (var i = 0, il = cookies.length; i < il; i++) {
208
+ var
209
+ parts = cookies[i].split('='),
210
+ foundKey = parts[0].replace(/(%[\da-f]{2})+/gi, decodeURIComponent)
211
+ ;
212
+ if (key === foundKey) {
213
+ return parts[1] || '';
214
+ }
215
+ }
216
+ },
217
+ removeItem: function (key, options) {
218
+ storage.setItem(key, '', options);
219
+ },
220
+ };
221
+ }
222
+
223
+ module.error(error.noStorage);
224
+ },
225
+ storageOptions: function () {
226
+ var
227
+ options = {}
228
+ ;
229
+ if (settings.expires) {
230
+ options.expires = module.get.expirationDate(settings.expires);
231
+ }
232
+ if (settings.domain) {
233
+ options.domain = settings.domain;
234
+ }
235
+ if (settings.path) {
236
+ options.path = settings.path;
237
+ }
238
+ if (settings.secure) {
239
+ options.secure = settings.secure;
240
+ }
241
+ if (settings.samesite) {
242
+ options.samesite = settings.samesite;
243
+ }
244
+
245
+ return options;
246
+ },
247
+ },
248
+
249
+ clear: function () {
250
+ module.storage.remove(settings.key);
251
+ },
252
+
253
+ storage: {
254
+ set: function (key, value) {
255
+ var
256
+ options = module.get.storageOptions()
257
+ ;
258
+ if (storage === window.localStorage && options.expires) {
259
+ module.debug('Storing expiration value in localStorage', key, options.expires);
260
+ storage.setItem(key + settings.expirationKey, options.expires);
261
+ }
262
+ module.debug('Value stored', key, value);
263
+ try {
264
+ storage.setItem(key, value, options);
265
+ } catch (e) {
266
+ module.error(error.setItem, e);
267
+ }
268
+ },
269
+ get: function (key) {
270
+ var
271
+ storedValue
272
+ ;
273
+ storedValue = storage.getItem(key);
274
+ if (storage === window.localStorage) {
275
+ var expiration = storage.getItem(key + settings.expirationKey);
276
+ if (expiration !== null && expiration !== undefined && new Date(expiration) < new Date()) {
277
+ module.debug('Value in localStorage has expired. Deleting key', key);
278
+ module.storage.remove(key);
279
+ storedValue = null;
280
+ }
281
+ }
282
+ if (storedValue === 'undefined' || storedValue === 'null' || storedValue === undefined || storedValue === null) {
283
+ storedValue = undefined;
284
+ }
285
+
286
+ return storedValue;
287
+ },
288
+ remove: function (key) {
289
+ var
290
+ options = module.get.storageOptions()
291
+ ;
292
+ options.expires = module.get.expirationDate(-1);
293
+ if (storage === window.localStorage) {
294
+ storage.removeItem(key + settings.expirationKey);
295
+ }
296
+ storage.removeItem(key, options);
297
+ },
298
+ },
299
+
300
+ setting: function (name, value) {
301
+ module.debug('Changing setting', name, value);
302
+ if ($.isPlainObject(name)) {
303
+ $.extend(true, settings, name);
304
+ } else if (value !== undefined) {
305
+ if ($.isPlainObject(settings[name])) {
306
+ $.extend(true, settings[name], value);
307
+ } else {
308
+ settings[name] = value;
309
+ }
310
+ } else {
311
+ return settings[name];
312
+ }
313
+ },
314
+ internal: function (name, value) {
315
+ if ($.isPlainObject(name)) {
316
+ $.extend(true, module, name);
317
+ } else if (value !== undefined) {
318
+ module[name] = value;
319
+ } else {
320
+ return module[name];
321
+ }
322
+ },
323
+ debug: function () {
324
+ if (!settings.silent && settings.debug) {
325
+ if (settings.performance) {
326
+ module.performance.log(arguments);
327
+ } else {
328
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
329
+ module.debug.apply(console, arguments);
330
+ }
331
+ }
332
+ },
333
+ verbose: function () {
334
+ if (!settings.silent && settings.verbose && settings.debug) {
335
+ if (settings.performance) {
336
+ module.performance.log(arguments);
337
+ } else {
338
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
339
+ module.verbose.apply(console, arguments);
340
+ }
341
+ }
342
+ },
343
+ error: function () {
344
+ if (!settings.silent) {
345
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
346
+ module.error.apply(console, arguments);
347
+ }
348
+ },
349
+ performance: {
350
+ log: function (message) {
351
+ var
352
+ currentTime,
353
+ executionTime,
354
+ previousTime
355
+ ;
356
+ if (settings.performance) {
357
+ currentTime = Date.now();
358
+ previousTime = time || currentTime;
359
+ executionTime = currentTime - previousTime;
360
+ time = currentTime;
361
+ performance.push({
362
+ Name: message[0],
363
+ Arguments: [].slice.call(message, 1) || '',
364
+ Element: element,
365
+ 'Execution Time': executionTime,
366
+ });
367
+ }
368
+ clearTimeout(module.performance.timer);
369
+ module.performance.timer = setTimeout(module.performance.display, 500);
370
+ },
371
+ display: function () {
372
+ var
373
+ title = settings.name + ':',
374
+ totalTime = 0
375
+ ;
376
+ time = false;
377
+ clearTimeout(module.performance.timer);
378
+ $.each(performance, function (index, data) {
379
+ totalTime += data['Execution Time'];
380
+ });
381
+ title += ' ' + totalTime + 'ms';
382
+ if (moduleSelector) {
383
+ title += ' \'' + moduleSelector + '\'';
384
+ }
385
+ if (performance.length > 0) {
386
+ console.groupCollapsed(title);
387
+ if (console.table) {
388
+ console.table(performance);
389
+ } else {
390
+ $.each(performance, function (index, data) {
391
+ console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
392
+ });
393
+ }
394
+ console.groupEnd();
395
+ }
396
+ performance = [];
397
+ },
398
+ },
399
+ invoke: function (query, passedArguments, context) {
400
+ var
401
+ object = instance,
402
+ maxDepth,
403
+ found,
404
+ response
405
+ ;
406
+ passedArguments = passedArguments || queryArguments;
407
+ context = context || element;
408
+ if (typeof query === 'string' && object !== undefined) {
409
+ query = query.split(/[ .]/);
410
+ maxDepth = query.length - 1;
411
+ $.each(query, function (depth, value) {
412
+ var camelCaseValue = depth !== maxDepth
413
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
414
+ : query
415
+ ;
416
+ if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
417
+ object = object[camelCaseValue];
418
+ } else if (object[camelCaseValue] !== undefined) {
419
+ found = object[camelCaseValue];
420
+
421
+ return false;
422
+ } else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
423
+ object = object[value];
424
+ } else if (object[value] !== undefined) {
425
+ found = object[value];
426
+
427
+ return false;
428
+ } else {
429
+ module.error(error.method, query);
430
+
431
+ return false;
432
+ }
433
+ });
434
+ }
435
+ if (isFunction(found)) {
436
+ response = found.apply(context, passedArguments);
437
+ } else if (found !== undefined) {
438
+ response = found;
439
+ }
440
+ if (Array.isArray(returnedValue)) {
441
+ returnedValue.push(response);
442
+ } else if (returnedValue !== undefined) {
443
+ returnedValue = [returnedValue, response];
444
+ } else if (response !== undefined) {
445
+ returnedValue = response;
446
+ }
447
+
448
+ return found;
449
+ },
450
+ };
451
+
452
+ if (methodInvoked) {
453
+ if (instance === undefined) {
454
+ module.initialize();
455
+ }
456
+ module.invoke(query);
457
+ } else {
458
+ if (instance !== undefined) {
459
+ instance.invoke('destroy');
460
+ }
461
+ module.initialize();
239
462
  }
240
- }
241
- },
463
+ });
242
464
 
243
- setting: function(name, value) {
244
- module.debug('Changing setting', name, value);
245
- if( $.isPlainObject(name) ) {
246
- $.extend(true, settings, name);
247
- }
248
- else if(value !== undefined) {
249
- if($.isPlainObject(settings[name])) {
250
- $.extend(true, settings[name], value);
251
- }
252
- else {
253
- settings[name] = value;
254
- }
255
- }
256
- else {
257
- return settings[name];
258
- }
259
- },
260
- internal: function(name, value) {
261
- if( $.isPlainObject(name) ) {
262
- $.extend(true, module, name);
263
- }
264
- else if(value !== undefined) {
265
- module[name] = value;
266
- }
267
- else {
268
- return module[name];
269
- }
465
+ return returnedValue !== undefined
466
+ ? returnedValue
467
+ : this;
468
+ };
469
+
470
+ $.fn.nag.settings = {
471
+
472
+ name: 'Nag',
473
+
474
+ silent: false,
475
+ debug: false,
476
+ verbose: false,
477
+ performance: true,
478
+
479
+ namespace: 'Nag',
480
+
481
+ // allows cookie to be overridden
482
+ persist: false,
483
+
484
+ // set to zero to require manually dismissal, otherwise hides on its own
485
+ displayTime: 0,
486
+
487
+ animation: {
488
+ show: 'slide',
489
+ hide: 'slide',
270
490
  },
271
- debug: function() {
272
- if(!settings.silent && settings.debug) {
273
- if(settings.performance) {
274
- module.performance.log(arguments);
275
- }
276
- else {
277
- module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
278
- module.debug.apply(console, arguments);
279
- }
280
- }
491
+
492
+ context: false,
493
+ detachable: false,
494
+
495
+ expires: 30,
496
+
497
+ // cookie storage only options
498
+ domain: false,
499
+ path: '/',
500
+ secure: false,
501
+ samesite: false,
502
+
503
+ // type of storage to use
504
+ storageMethod: 'cookie',
505
+
506
+ // value to store in dismissed localstorage/cookie
507
+ key: 'nag',
508
+ value: 'dismiss',
509
+
510
+ // Key suffix to support expiration in localstorage
511
+ expirationKey: 'ExpirationDate',
512
+
513
+ error: {
514
+ noStorage: 'Unsupported storage method',
515
+ method: 'The method you called is not defined.',
516
+ setItem: 'Unexpected error while setting value',
517
+ expiresFormat: '"expires" must be a number of days or a Date Object',
281
518
  },
282
- verbose: function() {
283
- if(!settings.silent && settings.verbose && settings.debug) {
284
- if(settings.performance) {
285
- module.performance.log(arguments);
286
- }
287
- else {
288
- module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
289
- module.verbose.apply(console, arguments);
290
- }
291
- }
519
+
520
+ className: {
521
+ bottom: 'bottom',
522
+ fixed: 'fixed',
292
523
  },
293
- error: function() {
294
- if(!settings.silent) {
295
- module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
296
- module.error.apply(console, arguments);
297
- }
524
+
525
+ selector: {
526
+ close: '> .close.icon',
298
527
  },
299
- performance: {
300
- log: function(message) {
301
- var
302
- currentTime,
303
- executionTime,
304
- previousTime
305
- ;
306
- if(settings.performance) {
307
- currentTime = new Date().getTime();
308
- previousTime = time || currentTime;
309
- executionTime = currentTime - previousTime;
310
- time = currentTime;
311
- performance.push({
312
- 'Name' : message[0],
313
- 'Arguments' : [].slice.call(message, 1) || '',
314
- 'Element' : element,
315
- 'Execution Time' : executionTime
316
- });
317
- }
318
- clearTimeout(module.performance.timer);
319
- module.performance.timer = setTimeout(module.performance.display, 500);
320
- },
321
- display: function() {
322
- var
323
- title = settings.name + ':',
324
- totalTime = 0
325
- ;
326
- time = false;
327
- clearTimeout(module.performance.timer);
328
- $.each(performance, function(index, data) {
329
- totalTime += data['Execution Time'];
330
- });
331
- title += ' ' + totalTime + 'ms';
332
- if(moduleSelector) {
333
- title += ' \'' + moduleSelector + '\'';
334
- }
335
- if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
336
- console.groupCollapsed(title);
337
- if(console.table) {
338
- console.table(performance);
339
- }
340
- else {
341
- $.each(performance, function(index, data) {
342
- console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
343
- });
344
- }
345
- console.groupEnd();
346
- }
347
- performance = [];
348
- }
528
+
529
+ duration: 500,
530
+ easing: 'easeOutQuad',
531
+
532
+ // callback before show animation, return false to prevent show
533
+ onShow: function () {},
534
+
535
+ // called after show animation
536
+ onVisible: function () {},
537
+
538
+ // callback before hide animation, return false to prevent hide
539
+ onHide: function () {},
540
+
541
+ // callback after hide animation
542
+ onHidden: function () {},
543
+
544
+ };
545
+
546
+ // Adds easing
547
+ $.extend($.easing, {
548
+ easeOutQuad: function (x) {
549
+ return 1 - (1 - x) * (1 - x);
349
550
  },
350
- invoke: function(query, passedArguments, context) {
351
- var
352
- object = instance,
353
- maxDepth,
354
- found,
355
- response
356
- ;
357
- passedArguments = passedArguments || queryArguments;
358
- context = element || context;
359
- if(typeof query == 'string' && object !== undefined) {
360
- query = query.split(/[\. ]/);
361
- maxDepth = query.length - 1;
362
- $.each(query, function(depth, value) {
363
- var camelCaseValue = (depth != maxDepth)
364
- ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
365
- : query
366
- ;
367
- if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
368
- object = object[camelCaseValue];
369
- }
370
- else if( object[camelCaseValue] !== undefined ) {
371
- found = object[camelCaseValue];
372
- return false;
373
- }
374
- else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
375
- object = object[value];
376
- }
377
- else if( object[value] !== undefined ) {
378
- found = object[value];
379
- return false;
380
- }
381
- else {
382
- module.error(error.method, query);
383
- return false;
384
- }
385
- });
386
- }
387
- if ( $.isFunction( found ) ) {
388
- response = found.apply(context, passedArguments);
389
- }
390
- else if(found !== undefined) {
391
- response = found;
392
- }
393
- if(Array.isArray(returnedValue)) {
394
- returnedValue.push(response);
395
- }
396
- else if(returnedValue !== undefined) {
397
- returnedValue = [returnedValue, response];
398
- }
399
- else if(response !== undefined) {
400
- returnedValue = response;
401
- }
402
- return found;
403
- }
404
- };
405
-
406
- if(methodInvoked) {
407
- if(instance === undefined) {
408
- module.initialize();
409
- }
410
- module.invoke(query);
411
- }
412
- else {
413
- if(instance !== undefined) {
414
- instance.invoke('destroy');
415
- }
416
- module.initialize();
417
- }
418
- })
419
- ;
420
-
421
- return (returnedValue !== undefined)
422
- ? returnedValue
423
- : this
424
- ;
425
- };
426
-
427
- $.fn.nag.settings = {
428
-
429
- name : 'Nag',
430
-
431
- silent : false,
432
- debug : false,
433
- verbose : false,
434
- performance : true,
435
-
436
- namespace : 'Nag',
437
-
438
- // allows cookie to be overridden
439
- persist : false,
440
-
441
- // set to zero to require manually dismissal, otherwise hides on its own
442
- displayTime : 0,
443
-
444
- animation : {
445
- show : 'slide',
446
- hide : 'slide'
447
- },
448
-
449
- context : false,
450
- detachable : false,
451
-
452
- expires : 30,
453
- domain : false,
454
- path : '/',
455
-
456
- // type of storage to use
457
- storageMethod : 'cookie',
458
-
459
- // value to store in dismissed localstorage/cookie
460
- key : 'nag',
461
- value : 'dismiss',
462
-
463
- error: {
464
- noCookieStorage : '$.cookie is not included. A storage solution is required.',
465
- noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state',
466
- method : 'The method you called is not defined.'
467
- },
468
-
469
- className : {
470
- bottom : 'bottom',
471
- fixed : 'fixed'
472
- },
473
-
474
- selector : {
475
- close : '.close.icon'
476
- },
477
-
478
- speed : 500,
479
- easing : 'easeOutQuad',
480
-
481
- onHide: function() {}
482
-
483
- };
484
-
485
- // Adds easing
486
- $.extend( $.easing, {
487
- easeOutQuad: function (x, t, b, c, d) {
488
- return -c *(t/=d)*(t-2) + b;
489
- }
490
- });
491
-
492
- })( jQuery, window, document );
551
+ });
552
+ })(jQuery, window, document);