fomantic-ui 2.9.1-beta.17 → 2.9.1-beta.18

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 (252) hide show
  1. package/.eslintrc.js +109 -0
  2. package/.github/workflows/ci.yml +13 -3
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +571 -598
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +1 -1
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +1164 -1186
  10. package/dist/components/api.min.js +1 -1
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +1 -1
  16. package/dist/components/calendar.js +1897 -1818
  17. package/dist/components/calendar.min.css +1 -1
  18. package/dist/components/calendar.min.js +1 -1
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +844 -841
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +1 -1
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +3 -1
  28. package/dist/components/container.min.css +2 -2
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +710 -737
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +1 -1
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +11 -8
  36. package/dist/components/dropdown.js +4163 -4238
  37. package/dist/components/dropdown.min.css +2 -2
  38. package/dist/components/dropdown.min.js +1 -1
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +653 -675
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/flyout.css +6 -3
  48. package/dist/components/flyout.js +1466 -1467
  49. package/dist/components/flyout.min.css +2 -2
  50. package/dist/components/flyout.min.js +1 -1
  51. package/dist/components/form.css +1 -1
  52. package/dist/components/form.js +1981 -2004
  53. package/dist/components/form.min.css +1 -1
  54. package/dist/components/form.min.js +1 -1
  55. package/dist/components/grid.css +1 -1
  56. package/dist/components/grid.min.css +1 -1
  57. package/dist/components/header.css +1 -1
  58. package/dist/components/header.min.css +1 -1
  59. package/dist/components/icon.css +1 -1
  60. package/dist/components/icon.min.css +1 -1
  61. package/dist/components/image.css +1 -1
  62. package/dist/components/image.min.css +1 -1
  63. package/dist/components/input.css +1 -1
  64. package/dist/components/input.min.css +1 -1
  65. package/dist/components/item.css +1 -1
  66. package/dist/components/item.min.css +1 -1
  67. package/dist/components/label.css +1 -1
  68. package/dist/components/label.min.css +1 -1
  69. package/dist/components/list.css +1 -1
  70. package/dist/components/list.min.css +1 -1
  71. package/dist/components/loader.css +1 -1
  72. package/dist/components/loader.min.css +1 -1
  73. package/dist/components/message.css +1 -1
  74. package/dist/components/message.min.css +1 -1
  75. package/dist/components/modal.css +7 -1
  76. package/dist/components/modal.js +1493 -1487
  77. package/dist/components/modal.min.css +2 -2
  78. package/dist/components/modal.min.js +1 -1
  79. package/dist/components/nag.css +1 -1
  80. package/dist/components/nag.js +520 -529
  81. package/dist/components/nag.min.css +1 -1
  82. package/dist/components/nag.min.js +1 -1
  83. package/dist/components/placeholder.css +1 -1
  84. package/dist/components/placeholder.min.css +1 -1
  85. package/dist/components/popup.css +1 -1
  86. package/dist/components/popup.js +1439 -1456
  87. package/dist/components/popup.min.css +1 -1
  88. package/dist/components/popup.min.js +1 -1
  89. package/dist/components/progress.css +1 -1
  90. package/dist/components/progress.js +971 -997
  91. package/dist/components/progress.min.css +1 -1
  92. package/dist/components/progress.min.js +1 -1
  93. package/dist/components/rail.css +1 -1
  94. package/dist/components/rail.min.css +1 -1
  95. package/dist/components/rating.css +1 -1
  96. package/dist/components/rating.js +508 -524
  97. package/dist/components/rating.min.css +1 -1
  98. package/dist/components/rating.min.js +1 -1
  99. package/dist/components/reset.css +1 -1
  100. package/dist/components/reset.min.css +1 -1
  101. package/dist/components/reveal.css +1 -1
  102. package/dist/components/reveal.min.css +1 -1
  103. package/dist/components/search.css +3 -1
  104. package/dist/components/search.js +1500 -1534
  105. package/dist/components/search.min.css +2 -2
  106. package/dist/components/search.min.js +1 -1
  107. package/dist/components/segment.css +3 -1
  108. package/dist/components/segment.min.css +2 -2
  109. package/dist/components/shape.css +1 -1
  110. package/dist/components/shape.js +794 -809
  111. package/dist/components/shape.min.css +1 -1
  112. package/dist/components/shape.min.js +1 -1
  113. package/dist/components/sidebar.css +3 -1
  114. package/dist/components/sidebar.js +1079 -1104
  115. package/dist/components/sidebar.min.css +2 -2
  116. package/dist/components/sidebar.min.js +1 -1
  117. package/dist/components/site.css +1 -1
  118. package/dist/components/site.js +457 -472
  119. package/dist/components/site.min.css +1 -1
  120. package/dist/components/site.min.js +1 -1
  121. package/dist/components/slider.js +1289 -1311
  122. package/dist/components/slider.min.js +1 -1
  123. package/dist/components/state.js +641 -657
  124. package/dist/components/state.min.js +1 -1
  125. package/dist/components/statistic.css +1 -1
  126. package/dist/components/statistic.min.css +1 -1
  127. package/dist/components/step.css +1 -1
  128. package/dist/components/step.min.css +1 -1
  129. package/dist/components/sticky.css +1 -1
  130. package/dist/components/sticky.js +859 -903
  131. package/dist/components/sticky.min.css +1 -1
  132. package/dist/components/sticky.min.js +1 -1
  133. package/dist/components/tab.css +1 -1
  134. package/dist/components/tab.js +923 -963
  135. package/dist/components/tab.min.css +1 -1
  136. package/dist/components/tab.min.js +1 -1
  137. package/dist/components/table.css +5 -1
  138. package/dist/components/table.min.css +2 -2
  139. package/dist/components/text.css +1 -1
  140. package/dist/components/text.min.css +1 -1
  141. package/dist/components/toast.css +1 -1
  142. package/dist/components/toast.js +889 -891
  143. package/dist/components/toast.min.css +1 -1
  144. package/dist/components/toast.min.js +1 -1
  145. package/dist/components/transition.css +1 -1
  146. package/dist/components/transition.js +1043 -1077
  147. package/dist/components/transition.min.css +1 -1
  148. package/dist/components/transition.min.js +1 -1
  149. package/dist/components/visibility.js +1222 -1244
  150. package/dist/components/visibility.min.js +1 -1
  151. package/dist/semantic.css +84 -60
  152. package/dist/semantic.js +29033 -29479
  153. package/dist/semantic.min.css +2 -2
  154. package/dist/semantic.min.js +1 -1
  155. package/examples/assets/show-examples.js +13 -13
  156. package/gulpfile.js +9 -10
  157. package/package.json +5 -2
  158. package/scripts/nightly-version.js +81 -75
  159. package/src/definitions/behaviors/api.js +1163 -1185
  160. package/src/definitions/behaviors/form.js +1980 -2003
  161. package/src/definitions/behaviors/state.js +647 -663
  162. package/src/definitions/behaviors/visibility.js +1221 -1243
  163. package/src/definitions/collections/table.less +2 -0
  164. package/src/definitions/elements/container.less +1 -0
  165. package/src/definitions/elements/segment.less +1 -0
  166. package/src/definitions/globals/site.js +456 -471
  167. package/src/definitions/modules/accordion.js +570 -597
  168. package/src/definitions/modules/calendar.js +1896 -1817
  169. package/src/definitions/modules/checkbox.js +849 -846
  170. package/src/definitions/modules/dimmer.js +709 -736
  171. package/src/definitions/modules/dropdown.js +4162 -4237
  172. package/src/definitions/modules/dropdown.less +5 -8
  173. package/src/definitions/modules/embed.js +652 -674
  174. package/src/definitions/modules/flyout.js +1465 -1466
  175. package/src/definitions/modules/flyout.less +15 -12
  176. package/src/definitions/modules/modal.js +1492 -1486
  177. package/src/definitions/modules/modal.less +3 -0
  178. package/src/definitions/modules/nag.js +519 -528
  179. package/src/definitions/modules/popup.js +1438 -1455
  180. package/src/definitions/modules/progress.js +970 -996
  181. package/src/definitions/modules/rating.js +507 -523
  182. package/src/definitions/modules/search.js +1499 -1533
  183. package/src/definitions/modules/search.less +1 -0
  184. package/src/definitions/modules/shape.js +801 -816
  185. package/src/definitions/modules/sidebar.js +1078 -1103
  186. package/src/definitions/modules/sidebar.less +1 -0
  187. package/src/definitions/modules/slider.js +1288 -1310
  188. package/src/definitions/modules/sticky.js +875 -919
  189. package/src/definitions/modules/tab.js +922 -962
  190. package/src/definitions/modules/toast.js +888 -890
  191. package/src/definitions/modules/transition.js +1048 -1082
  192. package/src/themes/default/elements/container.variables +0 -7
  193. package/src/themes/default/elements/segment.variables +0 -7
  194. package/src/themes/default/globals/site.variables +7 -0
  195. package/src/themes/default/globals/variation.variables +1 -0
  196. package/tasks/admin/components/create.js +274 -276
  197. package/tasks/admin/components/init.js +123 -130
  198. package/tasks/admin/components/update.js +149 -157
  199. package/tasks/admin/distributions/create.js +184 -187
  200. package/tasks/admin/distributions/init.js +123 -130
  201. package/tasks/admin/distributions/update.js +145 -152
  202. package/tasks/admin/publish.js +5 -7
  203. package/tasks/admin/register.js +36 -38
  204. package/tasks/admin/release.js +8 -10
  205. package/tasks/build/assets.js +42 -39
  206. package/tasks/build/css.js +225 -216
  207. package/tasks/build/javascript.js +118 -113
  208. package/tasks/build.js +10 -10
  209. package/tasks/check-install.js +14 -16
  210. package/tasks/clean.js +5 -5
  211. package/tasks/collections/admin.js +34 -36
  212. package/tasks/collections/build.js +18 -20
  213. package/tasks/collections/docs.js +9 -11
  214. package/tasks/collections/install.js +9 -11
  215. package/tasks/collections/rtl.js +9 -11
  216. package/tasks/collections/various.js +8 -10
  217. package/tasks/config/admin/github.js +17 -17
  218. package/tasks/config/admin/oauth.example.js +4 -4
  219. package/tasks/config/admin/release.js +98 -98
  220. package/tasks/config/admin/templates/component-package.js +9 -10
  221. package/tasks/config/admin/templates/css-package.js +18 -20
  222. package/tasks/config/admin/templates/less-package.js +11 -13
  223. package/tasks/config/defaults.js +116 -116
  224. package/tasks/config/docs.js +23 -23
  225. package/tasks/config/npm/gulpfile.js +8 -9
  226. package/tasks/config/project/config.js +127 -134
  227. package/tasks/config/project/install.js +715 -713
  228. package/tasks/config/project/release.js +32 -38
  229. package/tasks/config/tasks.js +163 -164
  230. package/tasks/config/user.js +23 -29
  231. package/tasks/docs/build.js +97 -95
  232. package/tasks/docs/metadata.js +90 -96
  233. package/tasks/docs/serve.js +80 -81
  234. package/tasks/install.js +370 -378
  235. package/tasks/rtl/build.js +2 -2
  236. package/tasks/rtl/watch.js +2 -2
  237. package/tasks/version.js +4 -4
  238. package/tasks/watch.js +28 -30
  239. package/test/meteor/assets.js +10 -13
  240. package/test/meteor/fonts.js +12 -13
  241. package/test/modules/accordion.spec.js +6 -8
  242. package/test/modules/checkbox.spec.js +5 -7
  243. package/test/modules/dropdown.spec.js +5 -7
  244. package/test/modules/modal.spec.js +6 -8
  245. package/test/modules/module.spec.js +158 -178
  246. package/test/modules/popup.spec.js +5 -7
  247. package/test/modules/search.spec.js +5 -7
  248. package/test/modules/shape.spec.js +5 -7
  249. package/test/modules/sidebar.spec.js +5 -7
  250. package/test/modules/tab.spec.js +6 -8
  251. package/test/modules/transition.spec.js +5 -7
  252. package/test/modules/video.spec.js +5 -7
@@ -8,481 +8,466 @@
8
8
  *
9
9
  */
10
10
 
11
- ;(function ($, window, document, undefined) {
12
-
13
- function isFunction(obj) {
14
- return typeof obj === "function" && typeof obj.nodeType !== "number";
15
- }
16
-
17
- $.site = $.fn.site = function(parameters) {
18
- var
19
- time = new Date().getTime(),
20
- performance = [],
21
-
22
- query = arguments[0],
23
- methodInvoked = (typeof query == 'string'),
24
- queryArguments = [].slice.call(arguments, 1),
25
-
26
- settings = ( $.isPlainObject(parameters) )
27
- ? $.extend(true, {}, $.site.settings, parameters)
28
- : $.extend({}, $.site.settings),
29
-
30
- namespace = settings.namespace,
31
- error = settings.error,
32
-
33
- moduleNamespace = 'module-' + namespace,
34
-
35
- $document = $(document),
36
- $module = $document,
37
- element = this,
38
- instance = $module.data(moduleNamespace),
39
-
40
- module,
41
- returnedValue
42
- ;
43
- module = {
44
-
45
- initialize: function() {
46
- module.instantiate();
47
- },
48
-
49
- instantiate: function() {
50
- module.verbose('Storing instance of site', module);
51
- instance = module;
52
- $module
53
- .data(moduleNamespace, module)
54
- ;
55
- },
56
-
57
- normalize: function() {
58
- module.fix.console();
59
- module.fix.requestAnimationFrame();
60
- },
61
-
62
- fix: {
63
- console: function() {
64
- module.debug('Normalizing window.console');
65
- if (console === undefined || console.log === undefined) {
66
- module.verbose('Console not available, normalizing events');
67
- module.disable.console();
68
- }
69
- if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
70
- module.verbose('Console group not available, normalizing events');
71
- window.console.group = function() {};
72
- window.console.groupEnd = function() {};
73
- window.console.groupCollapsed = function() {};
74
- }
75
- if (typeof console.markTimeline == 'undefined') {
76
- module.verbose('Mark timeline not available, normalizing events');
77
- window.console.markTimeline = function() {};
78
- }
79
- },
80
- consoleClear: function() {
81
- module.debug('Disabling programmatic console clearing');
82
- window.console.clear = function() {};
83
- },
84
- requestAnimationFrame: function() {
85
- module.debug('Normalizing requestAnimationFrame');
86
- if(window.requestAnimationFrame === undefined) {
87
- module.debug('RequestAnimationFrame not available, normalizing event');
88
- window.requestAnimationFrame = window.requestAnimationFrame
89
- || window.mozRequestAnimationFrame
90
- || window.webkitRequestAnimationFrame
91
- || window.msRequestAnimationFrame
92
- || function(callback) { setTimeout(callback, 0); }
93
- ;
94
- }
95
- }
96
- },
97
-
98
- moduleExists: function(name) {
99
- return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);
100
- },
11
+ (function ($, window, document, undefined) {
12
+ function isFunction(obj) {
13
+ return typeof obj === 'function' && typeof obj.nodeType !== 'number';
14
+ }
101
15
 
102
- enabled: {
103
- modules: function(modules) {
104
- var
105
- enabledModules = []
106
- ;
107
- modules = modules || settings.modules;
108
- $.each(modules, function(index, name) {
109
- if(module.moduleExists(name)) {
110
- enabledModules.push(name);
111
- }
112
- });
113
- return enabledModules;
114
- }
115
- },
116
-
117
- disabled: {
118
- modules: function(modules) {
16
+ $.site = $.fn.site = function (parameters) {
119
17
  var
120
- disabledModules = []
121
- ;
122
- modules = modules || settings.modules;
123
- $.each(modules, function(index, name) {
124
- if(!module.moduleExists(name)) {
125
- disabledModules.push(name);
126
- }
127
- });
128
- return disabledModules;
129
- }
130
- },
131
-
132
- change: {
133
- setting: function(setting, value, modules, modifyExisting) {
134
- modules = (typeof modules === 'string')
135
- ? (modules === 'all')
136
- ? settings.modules
137
- : [modules]
138
- : modules || settings.modules
139
- ;
140
- modifyExisting = (modifyExisting !== undefined)
141
- ? modifyExisting
142
- : true
18
+ time = new Date().getTime(),
19
+ performance = [],
20
+
21
+ query = arguments[0],
22
+ methodInvoked = (typeof query == 'string'),
23
+ queryArguments = [].slice.call(arguments, 1),
24
+
25
+ settings = ($.isPlainObject(parameters))
26
+ ? $.extend(true, {}, $.site.settings, parameters)
27
+ : $.extend({}, $.site.settings),
28
+
29
+ namespace = settings.namespace,
30
+ error = settings.error,
31
+
32
+ moduleNamespace = 'module-' + namespace,
33
+
34
+ $document = $(document),
35
+ $module = $document,
36
+ element = this,
37
+ instance = $module.data(moduleNamespace),
38
+
39
+ module,
40
+ returnedValue
143
41
  ;
144
- $.each(modules, function(index, name) {
145
- var
146
- namespace = (module.moduleExists(name))
147
- ? $.fn[name].settings.namespace || false
148
- : true,
149
- $existingModules
150
- ;
151
- if(module.moduleExists(name)) {
152
- module.verbose('Changing default setting', setting, value, name);
153
- $.fn[name].settings[setting] = value;
154
- if(modifyExisting && namespace) {
155
- $existingModules = $(':data(module-' + namespace + ')');
156
- if($existingModules.length > 0) {
157
- module.verbose('Modifying existing settings', $existingModules);
158
- $existingModules[name]('setting', setting, value);
159
- }
42
+ module = {
43
+
44
+ initialize: function () {
45
+ module.instantiate();
46
+ },
47
+
48
+ instantiate: function () {
49
+ module.verbose('Storing instance of site', module);
50
+ instance = module;
51
+ $module
52
+ .data(moduleNamespace, module)
53
+ ;
54
+ },
55
+
56
+ normalize: function () {
57
+ module.fix.console();
58
+ module.fix.requestAnimationFrame();
59
+ },
60
+
61
+ fix: {
62
+ console: function () {
63
+ module.debug('Normalizing window.console');
64
+ if (console === undefined || console.log === undefined) {
65
+ module.verbose('Console not available, normalizing events');
66
+ module.disable.console();
67
+ }
68
+ if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
69
+ module.verbose('Console group not available, normalizing events');
70
+ window.console.group = function () {};
71
+ window.console.groupEnd = function () {};
72
+ window.console.groupCollapsed = function () {};
73
+ }
74
+ if (typeof console.markTimeline == 'undefined') {
75
+ module.verbose('Mark timeline not available, normalizing events');
76
+ window.console.markTimeline = function () {};
77
+ }
78
+ },
79
+ consoleClear: function () {
80
+ module.debug('Disabling programmatic console clearing');
81
+ window.console.clear = function () {};
82
+ },
83
+ requestAnimationFrame: function () {
84
+ module.debug('Normalizing requestAnimationFrame');
85
+ if (window.requestAnimationFrame === undefined) {
86
+ module.debug('RequestAnimationFrame not available, normalizing event');
87
+ window.requestAnimationFrame = window.requestAnimationFrame
88
+ || window.mozRequestAnimationFrame
89
+ || window.webkitRequestAnimationFrame
90
+ || window.msRequestAnimationFrame
91
+ || function (callback) {
92
+ setTimeout(callback, 0);
93
+ };
94
+ }
95
+ },
96
+ },
97
+
98
+ moduleExists: function (name) {
99
+ return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);
100
+ },
101
+
102
+ enabled: {
103
+ modules: function (modules) {
104
+ var
105
+ enabledModules = []
106
+ ;
107
+ modules = modules || settings.modules;
108
+ $.each(modules, function (index, name) {
109
+ if (module.moduleExists(name)) {
110
+ enabledModules.push(name);
111
+ }
112
+ });
113
+
114
+ return enabledModules;
115
+ },
116
+ },
117
+
118
+ disabled: {
119
+ modules: function (modules) {
120
+ var
121
+ disabledModules = []
122
+ ;
123
+ modules = modules || settings.modules;
124
+ $.each(modules, function (index, name) {
125
+ if (!module.moduleExists(name)) {
126
+ disabledModules.push(name);
127
+ }
128
+ });
129
+
130
+ return disabledModules;
131
+ },
132
+ },
133
+
134
+ change: {
135
+ setting: function (setting, value, modules, modifyExisting) {
136
+ modules = (typeof modules === 'string')
137
+ ? (modules === 'all')
138
+ ? settings.modules
139
+ : [modules]
140
+ : modules || settings.modules;
141
+ modifyExisting = (modifyExisting !== undefined)
142
+ ? modifyExisting
143
+ : true;
144
+ $.each(modules, function (index, name) {
145
+ var
146
+ namespace = (module.moduleExists(name))
147
+ ? $.fn[name].settings.namespace || false
148
+ : true,
149
+ $existingModules
150
+ ;
151
+ if (module.moduleExists(name)) {
152
+ module.verbose('Changing default setting', setting, value, name);
153
+ $.fn[name].settings[setting] = value;
154
+ if (modifyExisting && namespace) {
155
+ $existingModules = $(':data(module-' + namespace + ')');
156
+ if ($existingModules.length > 0) {
157
+ module.verbose('Modifying existing settings', $existingModules);
158
+ $existingModules[name]('setting', setting, value);
159
+ }
160
+ }
161
+ }
162
+ });
163
+ },
164
+ settings: function (newSettings, modules, modifyExisting) {
165
+ modules = (typeof modules === 'string')
166
+ ? [modules]
167
+ : modules || settings.modules;
168
+ modifyExisting = (modifyExisting !== undefined)
169
+ ? modifyExisting
170
+ : true;
171
+ $.each(modules, function (index, name) {
172
+ var
173
+ $existingModules
174
+ ;
175
+ if (module.moduleExists(name)) {
176
+ module.verbose('Changing default setting', newSettings, name);
177
+ $.extend(true, $.fn[name].settings, newSettings);
178
+ if (modifyExisting && namespace) {
179
+ $existingModules = $(':data(module-' + namespace + ')');
180
+ if ($existingModules.length > 0) {
181
+ module.verbose('Modifying existing settings', $existingModules);
182
+ $existingModules[name]('setting', newSettings);
183
+ }
184
+ }
185
+ }
186
+ });
187
+ },
188
+ },
189
+
190
+ enable: {
191
+ console: function () {
192
+ module.console(true);
193
+ },
194
+ debug: function (modules, modifyExisting) {
195
+ modules = modules || settings.modules;
196
+ module.debug('Enabling debug for modules', modules);
197
+ module.change.setting('debug', true, modules, modifyExisting);
198
+ },
199
+ verbose: function (modules, modifyExisting) {
200
+ modules = modules || settings.modules;
201
+ module.debug('Enabling verbose debug for modules', modules);
202
+ module.change.setting('verbose', true, modules, modifyExisting);
203
+ },
204
+ },
205
+ disable: {
206
+ console: function () {
207
+ module.console(false);
208
+ },
209
+ debug: function (modules, modifyExisting) {
210
+ modules = modules || settings.modules;
211
+ module.debug('Disabling debug for modules', modules);
212
+ module.change.setting('debug', false, modules, modifyExisting);
213
+ },
214
+ verbose: function (modules, modifyExisting) {
215
+ modules = modules || settings.modules;
216
+ module.debug('Disabling verbose debug for modules', modules);
217
+ module.change.setting('verbose', false, modules, modifyExisting);
218
+ },
219
+ },
220
+
221
+ console: function (enable) {
222
+ if (enable) {
223
+ if (instance.cache.console === undefined) {
224
+ module.error(error.console);
225
+
226
+ return;
227
+ }
228
+ module.debug('Restoring console function');
229
+ window.console = instance.cache.console;
230
+ } else {
231
+ module.debug('Disabling console function');
232
+ instance.cache.console = window.console;
233
+ window.console = {
234
+ clear: function () {},
235
+ error: function () {},
236
+ group: function () {},
237
+ groupCollapsed: function () {},
238
+ groupEnd: function () {},
239
+ info: function () {},
240
+ log: function () {},
241
+ markTimeline: function () {},
242
+ warn: function () {},
243
+ };
244
+ }
245
+ },
246
+
247
+ destroy: function () {
248
+ module.verbose('Destroying previous site for', $module);
249
+ $module
250
+ .removeData(moduleNamespace)
251
+ ;
252
+ },
253
+
254
+ cache: {},
255
+
256
+ setting: function (name, value) {
257
+ if ($.isPlainObject(name)) {
258
+ $.extend(true, settings, name);
259
+ } else if (value !== undefined) {
260
+ settings[name] = value;
261
+ } else {
262
+ return settings[name];
263
+ }
264
+ },
265
+ internal: function (name, value) {
266
+ if ($.isPlainObject(name)) {
267
+ $.extend(true, module, name);
268
+ } else if (value !== undefined) {
269
+ module[name] = value;
270
+ } else {
271
+ return module[name];
272
+ }
273
+ },
274
+ debug: function () {
275
+ if (settings.debug) {
276
+ if (settings.performance) {
277
+ module.performance.log(arguments);
278
+ } else {
279
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
280
+ module.debug.apply(console, arguments);
281
+ }
282
+ }
283
+ },
284
+ verbose: function () {
285
+ if (settings.verbose && settings.debug) {
286
+ if (settings.performance) {
287
+ module.performance.log(arguments);
288
+ } else {
289
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
290
+ module.verbose.apply(console, arguments);
291
+ }
292
+ }
293
+ },
294
+ error: function () {
295
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
296
+ module.error.apply(console, arguments);
297
+ },
298
+ performance: {
299
+ log: function (message) {
300
+ var
301
+ currentTime,
302
+ executionTime,
303
+ previousTime
304
+ ;
305
+ if (settings.performance) {
306
+ currentTime = new Date().getTime();
307
+ previousTime = time || currentTime;
308
+ executionTime = currentTime - previousTime;
309
+ time = currentTime;
310
+ performance.push({
311
+ Element: element,
312
+ Name: message[0],
313
+ Arguments: [].slice.call(message, 1) || '',
314
+ 'Execution Time': executionTime,
315
+ });
316
+ }
317
+ clearTimeout(module.performance.timer);
318
+ module.performance.timer = setTimeout(module.performance.display, 500);
319
+ },
320
+ display: function () {
321
+ var
322
+ title = settings.name + ':',
323
+ totalTime = 0
324
+ ;
325
+ time = false;
326
+ clearTimeout(module.performance.timer);
327
+ $.each(performance, function (index, data) {
328
+ totalTime += data['Execution Time'];
329
+ });
330
+ title += ' ' + totalTime + 'ms';
331
+ if ((console.group !== undefined || console.table !== undefined) && performance.length > 0) {
332
+ console.groupCollapsed(title);
333
+ if (console.table) {
334
+ console.table(performance);
335
+ } else {
336
+ $.each(performance, function (index, data) {
337
+ console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
338
+ });
339
+ }
340
+ console.groupEnd();
341
+ }
342
+ performance = [];
343
+ },
344
+ },
345
+ invoke: function (query, passedArguments, context) {
346
+ var
347
+ object = instance,
348
+ maxDepth,
349
+ found,
350
+ response
351
+ ;
352
+ passedArguments = passedArguments || queryArguments;
353
+ context = context || element;
354
+ if (typeof query == 'string' && object !== undefined) {
355
+ query = query.split(/[\. ]/);
356
+ maxDepth = query.length - 1;
357
+ $.each(query, function (depth, value) {
358
+ var camelCaseValue = (depth != maxDepth)
359
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
360
+ : query
361
+ ;
362
+ if ($.isPlainObject(object[camelCaseValue]) && (depth != maxDepth)) {
363
+ object = object[camelCaseValue];
364
+ } else if (object[camelCaseValue] !== undefined) {
365
+ found = object[camelCaseValue];
366
+
367
+ return false;
368
+ } else if ($.isPlainObject(object[value]) && (depth != maxDepth)) {
369
+ object = object[value];
370
+ } else if (object[value] !== undefined) {
371
+ found = object[value];
372
+
373
+ return false;
374
+ } else {
375
+ module.error(error.method, query);
376
+
377
+ return false;
378
+ }
379
+ });
380
+ }
381
+ if (isFunction(found)) {
382
+ response = found.apply(context, passedArguments);
383
+ } else if (found !== undefined) {
384
+ response = found;
385
+ }
386
+ if (Array.isArray(returnedValue)) {
387
+ returnedValue.push(response);
388
+ } else if (returnedValue !== undefined) {
389
+ returnedValue = [returnedValue, response];
390
+ } else if (response !== undefined) {
391
+ returnedValue = response;
392
+ }
393
+
394
+ return found;
395
+ },
396
+ };
397
+
398
+ if (methodInvoked) {
399
+ if (instance === undefined) {
400
+ module.initialize();
160
401
  }
161
- }
162
- });
163
- },
164
- settings: function(newSettings, modules, modifyExisting) {
165
- modules = (typeof modules === 'string')
166
- ? [modules]
167
- : modules || settings.modules
168
- ;
169
- modifyExisting = (modifyExisting !== undefined)
170
- ? modifyExisting
171
- : true
172
- ;
173
- $.each(modules, function(index, name) {
174
- var
175
- $existingModules
176
- ;
177
- if(module.moduleExists(name)) {
178
- module.verbose('Changing default setting', newSettings, name);
179
- $.extend(true, $.fn[name].settings, newSettings);
180
- if(modifyExisting && namespace) {
181
- $existingModules = $(':data(module-' + namespace + ')');
182
- if($existingModules.length > 0) {
183
- module.verbose('Modifying existing settings', $existingModules);
184
- $existingModules[name]('setting', newSettings);
185
- }
402
+ module.invoke(query);
403
+ } else {
404
+ if (instance !== undefined) {
405
+ module.destroy();
186
406
  }
187
- }
188
- });
189
- }
190
- },
191
-
192
- enable: {
193
- console: function() {
194
- module.console(true);
195
- },
196
- debug: function(modules, modifyExisting) {
197
- modules = modules || settings.modules;
198
- module.debug('Enabling debug for modules', modules);
199
- module.change.setting('debug', true, modules, modifyExisting);
200
- },
201
- verbose: function(modules, modifyExisting) {
202
- modules = modules || settings.modules;
203
- module.debug('Enabling verbose debug for modules', modules);
204
- module.change.setting('verbose', true, modules, modifyExisting);
205
- }
206
- },
207
- disable: {
208
- console: function() {
209
- module.console(false);
210
- },
211
- debug: function(modules, modifyExisting) {
212
- modules = modules || settings.modules;
213
- module.debug('Disabling debug for modules', modules);
214
- module.change.setting('debug', false, modules, modifyExisting);
215
- },
216
- verbose: function(modules, modifyExisting) {
217
- modules = modules || settings.modules;
218
- module.debug('Disabling verbose debug for modules', modules);
219
- module.change.setting('verbose', false, modules, modifyExisting);
220
- }
221
- },
222
-
223
- console: function(enable) {
224
- if(enable) {
225
- if(instance.cache.console === undefined) {
226
- module.error(error.console);
227
- return;
228
- }
229
- module.debug('Restoring console function');
230
- window.console = instance.cache.console;
231
- }
232
- else {
233
- module.debug('Disabling console function');
234
- instance.cache.console = window.console;
235
- window.console = {
236
- clear : function(){},
237
- error : function(){},
238
- group : function(){},
239
- groupCollapsed : function(){},
240
- groupEnd : function(){},
241
- info : function(){},
242
- log : function(){},
243
- markTimeline : function(){},
244
- warn : function(){}
245
- };
246
- }
247
- },
248
-
249
- destroy: function() {
250
- module.verbose('Destroying previous site for', $module);
251
- $module
252
- .removeData(moduleNamespace)
253
- ;
254
- },
255
-
256
- cache: {},
257
-
258
- setting: function(name, value) {
259
- if( $.isPlainObject(name) ) {
260
- $.extend(true, settings, name);
261
- }
262
- else if(value !== undefined) {
263
- settings[name] = value;
264
- }
265
- else {
266
- return settings[name];
267
- }
268
- },
269
- internal: function(name, value) {
270
- if( $.isPlainObject(name) ) {
271
- $.extend(true, module, name);
272
- }
273
- else if(value !== undefined) {
274
- module[name] = value;
275
- }
276
- else {
277
- return module[name];
278
- }
279
- },
280
- debug: function() {
281
- if(settings.debug) {
282
- if(settings.performance) {
283
- module.performance.log(arguments);
407
+ module.initialize();
284
408
  }
285
- else {
286
- module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
287
- module.debug.apply(console, arguments);
288
- }
289
- }
290
- },
291
- verbose: function() {
292
- if(settings.verbose && settings.debug) {
293
- if(settings.performance) {
294
- module.performance.log(arguments);
295
- }
296
- else {
297
- module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
298
- module.verbose.apply(console, arguments);
299
- }
300
- }
301
- },
302
- error: function() {
303
- module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
304
- module.error.apply(console, arguments);
305
- },
306
- performance: {
307
- log: function(message) {
308
- var
309
- currentTime,
310
- executionTime,
311
- previousTime
312
- ;
313
- if(settings.performance) {
314
- currentTime = new Date().getTime();
315
- previousTime = time || currentTime;
316
- executionTime = currentTime - previousTime;
317
- time = currentTime;
318
- performance.push({
319
- 'Element' : element,
320
- 'Name' : message[0],
321
- 'Arguments' : [].slice.call(message, 1) || '',
322
- 'Execution Time' : executionTime
323
- });
324
- }
325
- clearTimeout(module.performance.timer);
326
- module.performance.timer = setTimeout(module.performance.display, 500);
327
- },
328
- display: function() {
329
- var
330
- title = settings.name + ':',
331
- totalTime = 0
332
- ;
333
- time = false;
334
- clearTimeout(module.performance.timer);
335
- $.each(performance, function(index, data) {
336
- totalTime += data['Execution Time'];
337
- });
338
- title += ' ' + totalTime + 'ms';
339
- if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
340
- console.groupCollapsed(title);
341
- if(console.table) {
342
- console.table(performance);
343
- }
344
- else {
345
- $.each(performance, function(index, data) {
346
- console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
347
- });
348
- }
349
- console.groupEnd();
350
- }
351
- performance = [];
352
- }
353
- },
354
- invoke: function(query, passedArguments, context) {
355
- var
356
- object = instance,
357
- maxDepth,
358
- found,
359
- response
360
- ;
361
- passedArguments = passedArguments || queryArguments;
362
- context = context || element;
363
- if(typeof query == 'string' && object !== undefined) {
364
- query = query.split(/[\. ]/);
365
- maxDepth = query.length - 1;
366
- $.each(query, function(depth, value) {
367
- var camelCaseValue = (depth != maxDepth)
368
- ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
369
- : query
370
- ;
371
- if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
372
- object = object[camelCaseValue];
373
- }
374
- else if( object[camelCaseValue] !== undefined ) {
375
- found = object[camelCaseValue];
376
- return false;
377
- }
378
- else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
379
- object = object[value];
380
- }
381
- else if( object[value] !== undefined ) {
382
- found = object[value];
383
- return false;
384
- }
385
- else {
386
- module.error(error.method, query);
387
- return false;
388
- }
389
- });
390
- }
391
- if ( isFunction( found ) ) {
392
- response = found.apply(context, passedArguments);
393
- }
394
- else if(found !== undefined) {
395
- response = found;
396
- }
397
- if(Array.isArray(returnedValue)) {
398
- returnedValue.push(response);
399
- }
400
- else if(returnedValue !== undefined) {
401
- returnedValue = [returnedValue, response];
402
- }
403
- else if(response !== undefined) {
404
- returnedValue = response;
405
- }
406
- return found;
407
- }
408
- };
409
409
 
410
- if(methodInvoked) {
411
- if(instance === undefined) {
412
- module.initialize();
413
- }
414
- module.invoke(query);
415
- }
416
- else {
417
- if(instance !== undefined) {
418
- module.destroy();
419
- }
420
- module.initialize();
421
- }
422
- return (returnedValue !== undefined)
423
- ? returnedValue
424
- : this
425
- ;
426
- };
427
-
428
- $.site.settings = {
429
-
430
- name : 'Site',
431
- namespace : 'site',
432
-
433
- error : {
434
- console : 'Console cannot be restored, most likely it was overwritten outside of module',
435
- method : 'The method you called is not defined.'
436
- },
437
-
438
- debug : false,
439
- verbose : false,
440
- performance : true,
441
-
442
- modules: [
443
- 'accordion',
444
- 'api',
445
- 'calendar',
446
- 'checkbox',
447
- 'dimmer',
448
- 'dropdown',
449
- 'embed',
450
- 'form',
451
- 'modal',
452
- 'nag',
453
- 'popup',
454
- 'slider',
455
- 'rating',
456
- 'shape',
457
- 'sidebar',
458
- 'state',
459
- 'sticky',
460
- 'tab',
461
- 'toast',
462
- 'transition',
463
- 'visibility',
464
- 'visit'
465
- ],
466
-
467
- siteNamespace : 'site',
468
- namespaceStub : {
469
- cache : {},
470
- config : {},
471
- sections : {},
472
- section : {},
473
- utilities : {}
474
- }
475
-
476
- };
477
-
478
- // allows for selection of elements with data attributes
479
- $.extend($.expr.pseudos, {
480
- data: $.expr.createPseudo(function(dataName) {
481
- return function(elem) {
482
- return !!$.data(elem, dataName);
483
- };
484
- })
485
- });
486
-
487
-
488
- })( jQuery, window, document );
410
+ return (returnedValue !== undefined)
411
+ ? returnedValue
412
+ : this;
413
+ };
414
+
415
+ $.site.settings = {
416
+
417
+ name: 'Site',
418
+ namespace: 'site',
419
+
420
+ error: {
421
+ console: 'Console cannot be restored, most likely it was overwritten outside of module',
422
+ method: 'The method you called is not defined.',
423
+ },
424
+
425
+ debug: false,
426
+ verbose: false,
427
+ performance: true,
428
+
429
+ modules: [
430
+ 'accordion',
431
+ 'api',
432
+ 'calendar',
433
+ 'checkbox',
434
+ 'dimmer',
435
+ 'dropdown',
436
+ 'embed',
437
+ 'form',
438
+ 'modal',
439
+ 'nag',
440
+ 'popup',
441
+ 'slider',
442
+ 'rating',
443
+ 'shape',
444
+ 'sidebar',
445
+ 'state',
446
+ 'sticky',
447
+ 'tab',
448
+ 'toast',
449
+ 'transition',
450
+ 'visibility',
451
+ 'visit',
452
+ ],
453
+
454
+ siteNamespace: 'site',
455
+ namespaceStub: {
456
+ cache: {},
457
+ config: {},
458
+ sections: {},
459
+ section: {},
460
+ utilities: {},
461
+ },
462
+
463
+ };
464
+
465
+ // allows for selection of elements with data attributes
466
+ $.extend($.expr.pseudos, {
467
+ data: $.expr.createPseudo(function (dataName) {
468
+ return function (elem) {
469
+ return !!$.data(elem, dataName);
470
+ };
471
+ }),
472
+ });
473
+ })(jQuery, window, document);