fomantic-ui 2.10.0-beta.7 → 2.10.0-beta.8

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 (227) hide show
  1. package/.eslintrc.js +0 -10
  2. package/README.md +4 -5
  3. package/changelog-setup.js +64 -70
  4. package/dist/components/accordion.css +1 -1
  5. package/dist/components/accordion.js +94 -131
  6. package/dist/components/accordion.min.css +1 -1
  7. package/dist/components/accordion.min.js +2 -2
  8. package/dist/components/ad.css +1 -1
  9. package/dist/components/ad.min.css +1 -1
  10. package/dist/components/api.js +152 -205
  11. package/dist/components/api.min.js +2 -2
  12. package/dist/components/breadcrumb.css +1 -1
  13. package/dist/components/breadcrumb.min.css +1 -1
  14. package/dist/components/button.css +1 -1
  15. package/dist/components/button.min.css +1 -1
  16. package/dist/components/calendar.css +1 -1
  17. package/dist/components/calendar.js +305 -341
  18. package/dist/components/calendar.min.css +1 -1
  19. package/dist/components/calendar.min.js +2 -2
  20. package/dist/components/card.css +1 -1
  21. package/dist/components/card.min.css +1 -1
  22. package/dist/components/checkbox.css +1 -1
  23. package/dist/components/checkbox.js +76 -116
  24. package/dist/components/checkbox.min.css +1 -1
  25. package/dist/components/checkbox.min.js +2 -2
  26. package/dist/components/comment.css +1 -1
  27. package/dist/components/comment.min.css +1 -1
  28. package/dist/components/container.css +1 -1
  29. package/dist/components/container.min.css +1 -1
  30. package/dist/components/dimmer.css +1 -1
  31. package/dist/components/dimmer.js +58 -91
  32. package/dist/components/dimmer.min.css +1 -1
  33. package/dist/components/dimmer.min.js +2 -2
  34. package/dist/components/divider.css +1 -1
  35. package/dist/components/divider.min.css +1 -1
  36. package/dist/components/dropdown.css +1 -1
  37. package/dist/components/dropdown.js +651 -941
  38. package/dist/components/dropdown.min.css +1 -1
  39. package/dist/components/dropdown.min.js +2 -2
  40. package/dist/components/embed.css +1 -1
  41. package/dist/components/embed.js +70 -108
  42. package/dist/components/embed.min.css +1 -1
  43. package/dist/components/embed.min.js +2 -2
  44. package/dist/components/emoji.css +1 -1
  45. package/dist/components/emoji.min.css +1 -1
  46. package/dist/components/feed.css +1 -1
  47. package/dist/components/feed.min.css +1 -1
  48. package/dist/components/flag.css +1 -1
  49. package/dist/components/flag.min.css +1 -1
  50. package/dist/components/flyout.css +1 -1
  51. package/dist/components/flyout.js +182 -256
  52. package/dist/components/flyout.min.css +1 -1
  53. package/dist/components/flyout.min.js +2 -2
  54. package/dist/components/form.css +1 -1
  55. package/dist/components/form.js +325 -429
  56. package/dist/components/form.min.css +1 -1
  57. package/dist/components/form.min.js +2 -2
  58. package/dist/components/grid.css +1 -1
  59. package/dist/components/grid.min.css +1 -1
  60. package/dist/components/header.css +1 -1
  61. package/dist/components/header.min.css +1 -1
  62. package/dist/components/icon.css +1 -1
  63. package/dist/components/icon.min.css +1 -1
  64. package/dist/components/image.css +1 -1
  65. package/dist/components/image.min.css +1 -1
  66. package/dist/components/input.css +1 -1
  67. package/dist/components/input.min.css +1 -1
  68. package/dist/components/item.css +1 -1
  69. package/dist/components/item.min.css +1 -1
  70. package/dist/components/label.css +1 -1
  71. package/dist/components/label.min.css +1 -1
  72. package/dist/components/list.css +1 -1
  73. package/dist/components/list.min.css +1 -1
  74. package/dist/components/loader.css +1 -1
  75. package/dist/components/loader.min.css +1 -1
  76. package/dist/components/menu.css +1 -1
  77. package/dist/components/menu.min.css +1 -1
  78. package/dist/components/message.css +1 -1
  79. package/dist/components/message.min.css +1 -1
  80. package/dist/components/modal.css +1 -1
  81. package/dist/components/modal.js +211 -295
  82. package/dist/components/modal.min.css +1 -1
  83. package/dist/components/modal.min.js +2 -2
  84. package/dist/components/nag.css +1 -1
  85. package/dist/components/nag.js +67 -97
  86. package/dist/components/nag.min.css +1 -1
  87. package/dist/components/nag.min.js +2 -2
  88. package/dist/components/placeholder.css +1 -1
  89. package/dist/components/placeholder.min.css +1 -1
  90. package/dist/components/popup.css +1 -1
  91. package/dist/components/popup.js +175 -235
  92. package/dist/components/popup.min.css +1 -1
  93. package/dist/components/popup.min.js +2 -2
  94. package/dist/components/progress.css +1 -1
  95. package/dist/components/progress.js +103 -138
  96. package/dist/components/progress.min.css +1 -1
  97. package/dist/components/progress.min.js +2 -2
  98. package/dist/components/rail.css +1 -1
  99. package/dist/components/rail.min.css +1 -1
  100. package/dist/components/rating.css +1 -1
  101. package/dist/components/rating.js +79 -120
  102. package/dist/components/rating.min.css +1 -1
  103. package/dist/components/rating.min.js +2 -2
  104. package/dist/components/reset.css +1 -1
  105. package/dist/components/reset.min.css +1 -1
  106. package/dist/components/reveal.css +1 -1
  107. package/dist/components/reveal.min.css +1 -1
  108. package/dist/components/search.css +1 -1
  109. package/dist/components/search.js +239 -333
  110. package/dist/components/search.min.css +1 -1
  111. package/dist/components/search.min.js +2 -2
  112. package/dist/components/segment.css +1 -1
  113. package/dist/components/segment.min.css +1 -1
  114. package/dist/components/shape.css +1 -1
  115. package/dist/components/shape.js +157 -223
  116. package/dist/components/shape.min.css +1 -1
  117. package/dist/components/shape.min.js +2 -2
  118. package/dist/components/sidebar.css +1 -1
  119. package/dist/components/sidebar.js +122 -163
  120. package/dist/components/sidebar.min.css +1 -1
  121. package/dist/components/sidebar.min.js +2 -2
  122. package/dist/components/site.css +1 -1
  123. package/dist/components/site.js +38 -57
  124. package/dist/components/site.min.css +1 -1
  125. package/dist/components/site.min.js +2 -2
  126. package/dist/components/slider.css +1 -1
  127. package/dist/components/slider.js +242 -325
  128. package/dist/components/slider.min.css +1 -1
  129. package/dist/components/slider.min.js +2 -2
  130. package/dist/components/state.js +68 -98
  131. package/dist/components/state.min.js +2 -2
  132. package/dist/components/statistic.css +1 -1
  133. package/dist/components/statistic.min.css +1 -1
  134. package/dist/components/step.css +1 -1
  135. package/dist/components/step.min.css +1 -1
  136. package/dist/components/sticky.css +1 -1
  137. package/dist/components/sticky.js +116 -159
  138. package/dist/components/sticky.min.css +1 -1
  139. package/dist/components/sticky.min.js +2 -2
  140. package/dist/components/tab.css +1 -1
  141. package/dist/components/tab.js +168 -233
  142. package/dist/components/tab.min.css +1 -1
  143. package/dist/components/tab.min.js +2 -2
  144. package/dist/components/table.css +1 -1
  145. package/dist/components/table.min.css +1 -1
  146. package/dist/components/text.css +1 -1
  147. package/dist/components/text.min.css +1 -1
  148. package/dist/components/toast.css +1 -1
  149. package/dist/components/toast.js +89 -114
  150. package/dist/components/toast.min.css +1 -1
  151. package/dist/components/toast.min.js +2 -2
  152. package/dist/components/transition.css +1 -1
  153. package/dist/components/transition.js +86 -141
  154. package/dist/components/transition.min.css +1 -1
  155. package/dist/components/transition.min.js +2 -2
  156. package/dist/components/visibility.js +134 -210
  157. package/dist/components/visibility.min.js +2 -2
  158. package/dist/semantic.css +53 -53
  159. package/dist/semantic.js +4006 -5558
  160. package/dist/semantic.min.css +1 -1
  161. package/dist/semantic.min.js +2 -2
  162. package/examples/assets/show-examples.js +2 -4
  163. package/gulpfile.js +5 -7
  164. package/package.json +1 -1
  165. package/scripts/nightly-version.js +7 -10
  166. package/src/definitions/behaviors/api.js +151 -204
  167. package/src/definitions/behaviors/form.js +324 -428
  168. package/src/definitions/behaviors/state.js +67 -97
  169. package/src/definitions/behaviors/visibility.js +133 -209
  170. package/src/definitions/globals/site.js +37 -56
  171. package/src/definitions/modules/accordion.js +93 -130
  172. package/src/definitions/modules/calendar.js +304 -340
  173. package/src/definitions/modules/checkbox.js +75 -115
  174. package/src/definitions/modules/dimmer.js +57 -90
  175. package/src/definitions/modules/dropdown.js +650 -940
  176. package/src/definitions/modules/embed.js +69 -107
  177. package/src/definitions/modules/flyout.js +181 -255
  178. package/src/definitions/modules/modal.js +210 -294
  179. package/src/definitions/modules/nag.js +66 -96
  180. package/src/definitions/modules/popup.js +174 -234
  181. package/src/definitions/modules/progress.js +102 -137
  182. package/src/definitions/modules/rating.js +78 -119
  183. package/src/definitions/modules/search.js +238 -332
  184. package/src/definitions/modules/shape.js +156 -222
  185. package/src/definitions/modules/sidebar.js +121 -162
  186. package/src/definitions/modules/slider.js +241 -324
  187. package/src/definitions/modules/sticky.js +115 -158
  188. package/src/definitions/modules/tab.js +167 -232
  189. package/src/definitions/modules/toast.js +88 -113
  190. package/src/definitions/modules/transition.js +85 -140
  191. package/tasks/admin/components/create.js +88 -108
  192. package/tasks/admin/components/init.js +26 -32
  193. package/tasks/admin/components/update.js +46 -53
  194. package/tasks/admin/distributions/create.js +71 -101
  195. package/tasks/admin/distributions/init.js +27 -33
  196. package/tasks/admin/distributions/update.js +45 -52
  197. package/tasks/admin/register.js +11 -15
  198. package/tasks/build/assets.js +14 -18
  199. package/tasks/build/css.js +54 -63
  200. package/tasks/build/javascript.js +45 -53
  201. package/tasks/build.js +4 -6
  202. package/tasks/check-install.js +5 -7
  203. package/tasks/clean.js +2 -4
  204. package/tasks/collections/admin.js +13 -15
  205. package/tasks/collections/build.js +6 -8
  206. package/tasks/collections/docs.js +2 -4
  207. package/tasks/collections/install.js +2 -4
  208. package/tasks/collections/rtl.js +2 -4
  209. package/tasks/collections/various.js +2 -4
  210. package/tasks/config/admin/github.js +7 -9
  211. package/tasks/config/admin/templates/css-package.js +1 -3
  212. package/tasks/config/admin/templates/less-package.js +1 -3
  213. package/tasks/config/npm/gulpfile.js +4 -6
  214. package/tasks/config/project/config.js +22 -30
  215. package/tasks/config/project/install.js +56 -70
  216. package/tasks/config/project/release.js +6 -8
  217. package/tasks/config/tasks.js +8 -12
  218. package/tasks/config/user.js +13 -17
  219. package/tasks/docs/build.js +26 -31
  220. package/tasks/docs/metadata.js +24 -30
  221. package/tasks/docs/serve.js +20 -26
  222. package/tasks/install.js +71 -98
  223. package/tasks/rtl/build.js +2 -4
  224. package/tasks/rtl/watch.js +2 -4
  225. package/tasks/watch.js +9 -11
  226. package/test/meteor/fonts.js +1 -2
  227. package/test/modules/module.spec.js +16 -18
@@ -20,82 +20,78 @@
20
20
  : globalThis;
21
21
 
22
22
  $.fn.modal = function (parameters) {
23
- var
24
- $allModules = $(this),
25
- $window = $(window),
26
- $document = $(document),
27
- $body = $('body'),
28
-
29
- time = Date.now(),
30
- performance = [],
31
-
32
- query = arguments[0],
33
- methodInvoked = typeof query === 'string',
34
- queryArguments = [].slice.call(arguments, 1),
35
- contextCheck = function (context, win) {
36
- var $context;
37
- if ([window, document].indexOf(context) >= 0) {
38
- $context = $body;
39
- } else {
40
- $context = $(win.document).find(context);
41
- if ($context.length === 0) {
42
- $context = win.frameElement ? contextCheck(context, win.parent) : $body;
43
- }
23
+ let $allModules = $(this);
24
+ let $window = $(window);
25
+ let $document = $(document);
26
+ let $body = $('body');
27
+
28
+ let time = Date.now();
29
+ let performance = [];
30
+
31
+ let query = arguments[0];
32
+ let methodInvoked = typeof query === 'string';
33
+ let queryArguments = [].slice.call(arguments, 1);
34
+ let contextCheck = function (context, win) {
35
+ let $context;
36
+ if ([window, document].indexOf(context) >= 0) {
37
+ $context = $body;
38
+ } else {
39
+ $context = $(win.document).find(context);
40
+ if ($context.length === 0) {
41
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
44
42
  }
43
+ }
45
44
 
46
- return $context;
47
- },
48
- returnedValue
49
- ;
45
+ return $context;
46
+ };
47
+ let returnedValue;
50
48
 
51
49
  $allModules.each(function () {
52
- var
53
- settings = $.isPlainObject(parameters)
54
- ? $.extend(true, {}, $.fn.modal.settings, parameters)
55
- : $.extend({}, $.fn.modal.settings),
56
-
57
- selector = settings.selector,
58
- className = settings.className,
59
- namespace = settings.namespace,
60
- fields = settings.fields,
61
- error = settings.error,
62
-
63
- eventNamespace = '.' + namespace,
64
- moduleNamespace = 'module-' + namespace,
65
-
66
- $module = $(this),
67
- $context = contextCheck(settings.context, window),
68
- isBody = $context[0] === $body[0],
69
- $closeIcon = $module.find(selector.closeIcon),
70
- $inputs,
71
-
72
- $allModals,
73
- $otherModals,
74
- $focusedElement,
75
- $dimmable,
76
- $dimmer,
77
-
78
- isModalComponent = $module.hasClass('modal'),
79
-
80
- element = this,
81
- instance = isModalComponent ? $module.data(moduleNamespace) : undefined,
82
-
83
- ignoreRepeatedEvents = false,
84
-
85
- initialMouseDownInModal,
86
- initialMouseDownInScrollbar,
87
- initialBodyMargin = '',
88
- tempBodyMargin = '',
89
- keepScrollingClass = false,
90
- hadScrollbar = false,
91
- windowRefocused = false,
92
-
93
- elementEventNamespace,
94
- id,
95
- observer,
96
- observeAttributes = false,
97
- module
98
- ;
50
+ let settings = $.isPlainObject(parameters)
51
+ ? $.extend(true, {}, $.fn.modal.settings, parameters)
52
+ : $.extend({}, $.fn.modal.settings);
53
+
54
+ let selector = settings.selector;
55
+ let className = settings.className;
56
+ let namespace = settings.namespace;
57
+ let fields = settings.fields;
58
+ let error = settings.error;
59
+
60
+ let eventNamespace = '.' + namespace;
61
+ let moduleNamespace = 'module-' + namespace;
62
+
63
+ let $module = $(this);
64
+ let $context = contextCheck(settings.context, window);
65
+ let isBody = $context[0] === $body[0];
66
+ let $closeIcon = $module.find(selector.closeIcon);
67
+ let $inputs;
68
+
69
+ let $allModals;
70
+ let $otherModals;
71
+ let $focusedElement;
72
+ let $dimmable;
73
+ let $dimmer;
74
+
75
+ let isModalComponent = $module.hasClass('modal');
76
+
77
+ let element = this;
78
+ let instance = isModalComponent ? $module.data(moduleNamespace) : undefined;
79
+
80
+ let ignoreRepeatedEvents = false;
81
+
82
+ let initialMouseDownInModal;
83
+ let initialMouseDownInScrollbar;
84
+ let initialBodyMargin = '';
85
+ let tempBodyMargin = '';
86
+ let keepScrollingClass = false;
87
+ let hadScrollbar = false;
88
+ let windowRefocused = false;
89
+
90
+ let elementEventNamespace;
91
+ let id;
92
+ let observer;
93
+ let observeAttributes = false;
94
+ let module;
99
95
  module = {
100
96
 
101
97
  initialize: function () {
@@ -117,30 +113,28 @@
117
113
  $module.find(selector.content).html(module.helpers.escape(settings.content, settings)).addClass(settings.classContent);
118
114
  }
119
115
  if (module.has.configActions()) {
120
- var $actions = $module.find(selector.actions).addClass(settings.classActions);
116
+ let $actions = $module.find(selector.actions).addClass(settings.classActions);
121
117
  if ($actions.length === 0) {
122
118
  $actions = $('<div/>', { class: className.actions + ' ' + (settings.classActions || '') }).appendTo($module);
123
119
  } else {
124
120
  $actions.empty();
125
121
  }
126
122
  settings.actions.forEach(function (el) {
127
- var
128
- icon = el[fields.icon]
129
- ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
130
- : '',
131
- text = module.helpers.escape(el[fields.text] || '', settings),
132
- cls = module.helpers.escape(el[fields.class] || ''),
133
- click = el[fields.click] && isFunction(el[fields.click])
134
- ? el[fields.click]
135
- : function () {}
136
- ;
123
+ let icon = el[fields.icon]
124
+ ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
125
+ : '';
126
+ let text = module.helpers.escape(el[fields.text] || '', settings);
127
+ let cls = module.helpers.escape(el[fields.class] || '');
128
+ let click = el[fields.click] && isFunction(el[fields.click])
129
+ ? el[fields.click]
130
+ : function () {};
137
131
  $actions.append($('<button/>', {
138
132
  html: icon + text,
139
133
  'aria-label': (el[fields.text] || el[fields.icon] || '').replace(/<[^>]+(>|$)/g, ''),
140
134
  class: className.button + ' ' + cls,
141
135
  on: {
142
136
  click: function () {
143
- var button = $(this);
137
+ let button = $(this);
144
138
  if (button.is(selector.approve) || button.is(selector.deny) || click.call(element, $module) === false) {
145
139
  return;
146
140
  }
@@ -174,8 +168,7 @@
174
168
  module.verbose('Storing instance of modal');
175
169
  instance = module;
176
170
  $module
177
- .data(moduleNamespace, instance)
178
- ;
171
+ .data(moduleNamespace, instance);
179
172
  },
180
173
 
181
174
  create: {
@@ -191,12 +184,12 @@
191
184
  $module.append($closeIcon);
192
185
  }
193
186
  if (settings.title !== '') {
194
- var titleId = '_' + module.get.id() + 'title';
187
+ let titleId = '_' + module.get.id() + 'title';
195
188
  $module.attr('aria-labelledby', titleId);
196
189
  $('<div/>', { class: className.title, id: titleId }).appendTo($module);
197
190
  }
198
191
  if (settings.content !== '') {
199
- var descId = '_' + module.get.id() + 'desc';
192
+ let descId = '_' + module.get.id() + 'desc';
200
193
  $module.attr('aria-describedby', descId);
201
194
  $('<div/>', { class: className.content, id: descId }).appendTo($module);
202
195
  }
@@ -207,13 +200,11 @@
207
200
  element = $module[0];
208
201
  },
209
202
  dimmer: function () {
210
- var
211
- defaultSettings = {
212
- debug: settings.debug,
213
- dimmerName: 'modals',
214
- },
215
- dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)
216
- ;
203
+ let defaultSettings = {
204
+ debug: settings.debug,
205
+ dimmerName: 'modals',
206
+ };
207
+ let dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings);
217
208
  if ($.fn.dimmer === undefined) {
218
209
  module.error(error.dimmer);
219
210
 
@@ -249,8 +240,7 @@
249
240
  module.verbose('Destroying previous modal');
250
241
  $module
251
242
  .removeData(moduleNamespace)
252
- .off(eventNamespace)
253
- ;
243
+ .off(eventNamespace);
254
244
  $window.off(elementEventNamespace);
255
245
  $context.off(elementEventNamespace);
256
246
  $dimmer.off(elementEventNamespace);
@@ -264,19 +254,18 @@
264
254
  observeChanges: function () {
265
255
  if ('MutationObserver' in window) {
266
256
  observer = new MutationObserver(function (mutations) {
267
- var collectNodes = function (parent) {
268
- var nodes = [];
269
- for (var c = 0, cl = parent.length; c < cl; c++) {
270
- Array.prototype.push.apply(nodes, collectNodes(parent[c].childNodes));
271
- nodes.push(parent[c]);
272
- }
257
+ let collectNodes = function (parent) {
258
+ let nodes = [];
259
+ for (let c = 0, cl = parent.length; c < cl; c++) {
260
+ Array.prototype.push.apply(nodes, collectNodes(parent[c].childNodes));
261
+ nodes.push(parent[c]);
262
+ }
273
263
 
274
- return nodes;
275
- },
276
- shouldRefresh = false,
277
- shouldRefreshInputs = false,
278
- ignoreAutofocus = true
279
- ;
264
+ return nodes;
265
+ };
266
+ let shouldRefresh = false;
267
+ let shouldRefreshInputs = false;
268
+ let ignoreAutofocus = true;
280
269
  mutations.every(function (mutation) {
281
270
  if (mutation.type === 'attributes') {
282
271
  if (observeAttributes && (mutation.attributeName === 'disabled' || $(mutation.target).find(':input').addBack(':input').filter(':visible').length > 0)) {
@@ -286,8 +275,8 @@
286
275
  shouldRefresh = true;
287
276
  // mutationobserver only provides the parent nodes,
288
277
  // so let's collect all childs as well to find nested inputs
289
- var $addedInputs = $(collectNodes(mutation.addedNodes)).filter('a[href], [tabindex], :input:enabled').filter(':visible'),
290
- $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
278
+ let $addedInputs = $(collectNodes(mutation.addedNodes)).filter('a[href], [tabindex], :input:enabled').filter(':visible');
279
+ let $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
291
280
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
292
281
  shouldRefreshInputs = true;
293
282
  if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
@@ -335,8 +324,7 @@
335
324
  refreshInputs: function (ignoreAutofocus) {
336
325
  if ($inputs) {
337
326
  $inputs
338
- .off('keydown' + elementEventNamespace)
339
- ;
327
+ .off('keydown' + elementEventNamespace);
340
328
  }
341
329
  $inputs = $module.find('a[href], [tabindex], :input:enabled').filter(':visible').filter(function () {
342
330
  return $(this).closest('.disabled').length === 0;
@@ -348,20 +336,16 @@
348
336
  $module.removeAttr('tabindex');
349
337
  }
350
338
  $inputs.first()
351
- .on('keydown' + elementEventNamespace, module.event.inputKeyDown.first)
352
- ;
339
+ .on('keydown' + elementEventNamespace, module.event.inputKeyDown.first);
353
340
  $inputs.last()
354
- .on('keydown' + elementEventNamespace, module.event.inputKeyDown.last)
355
- ;
341
+ .on('keydown' + elementEventNamespace, module.event.inputKeyDown.last);
356
342
  if (!ignoreAutofocus && settings.autofocus && $inputs.filter(':focus').length === 0) {
357
343
  module.set.autofocus();
358
344
  }
359
345
  },
360
346
 
361
347
  attachEvents: function (selector, event) {
362
- var
363
- $toggle = $(selector)
364
- ;
348
+ let $toggle = $(selector);
365
349
  event = isFunction(module[event])
366
350
  ? module[event]
367
351
  : module.toggle;
@@ -369,8 +353,7 @@
369
353
  module.debug('Attaching modal events to element', selector, event);
370
354
  $toggle
371
355
  .off(eventNamespace)
372
- .on('click' + eventNamespace, event)
373
- ;
356
+ .on('click' + eventNamespace, event);
374
357
  } else {
375
358
  module.error(error.notFound, selector);
376
359
  }
@@ -382,18 +365,14 @@
382
365
  $module
383
366
  .on('click' + eventNamespace, selector.close, module.event.close)
384
367
  .on('click' + eventNamespace, selector.approve, module.event.approve)
385
- .on('click' + eventNamespace, selector.deny, module.event.deny)
386
- ;
368
+ .on('click' + eventNamespace, selector.deny, module.event.deny);
387
369
  $closeIcon
388
- .on('keyup' + elementEventNamespace, module.event.closeKeyUp)
389
- ;
370
+ .on('keyup' + elementEventNamespace, module.event.closeKeyUp);
390
371
  $window
391
372
  .on('resize' + elementEventNamespace, module.event.resize)
392
- .on('focus' + elementEventNamespace, module.event.focus)
393
- ;
373
+ .on('focus' + elementEventNamespace, module.event.focus);
394
374
  $context
395
- .on('click' + elementEventNamespace, module.event.click)
396
- ;
375
+ .on('click' + elementEventNamespace, module.event.click);
397
376
  },
398
377
  scrollLock: function () {
399
378
  // touch events default to passive, due to changes in chrome to optimize mobile perf
@@ -451,27 +430,21 @@
451
430
  module.hide();
452
431
  },
453
432
  closeKeyUp: function (event) {
454
- var
455
- keyCode = event.which
456
- ;
433
+ let keyCode = event.which;
457
434
  if ((keyCode === settings.keys.enter || keyCode === settings.keys.space) && $module.hasClass(className.front)) {
458
435
  module.hide();
459
436
  }
460
437
  },
461
438
  inputKeyDown: {
462
439
  first: function (event) {
463
- var
464
- keyCode = event.which
465
- ;
440
+ let keyCode = event.which;
466
441
  if (keyCode === settings.keys.tab && event.shiftKey) {
467
442
  $inputs.last().trigger('focus');
468
443
  event.preventDefault();
469
444
  }
470
445
  },
471
446
  last: function (event) {
472
- var
473
- keyCode = event.which
474
- ;
447
+ let keyCode = event.which;
475
448
  if (keyCode === settings.keys.tab && !event.shiftKey) {
476
449
  $inputs.first().trigger('focus');
477
450
  event.preventDefault();
@@ -479,10 +452,8 @@
479
452
  },
480
453
  },
481
454
  mousedown: function (event) {
482
- var
483
- $target = $(event.target),
484
- isRtl = module.is.rtl()
485
- ;
455
+ let $target = $(event.target);
456
+ let isRtl = module.is.rtl();
486
457
  initialMouseDownInModal = $target.closest(selector.modal).length > 0;
487
458
  if (initialMouseDownInModal) {
488
459
  module.verbose('Mouse down event registered inside the modal');
@@ -508,11 +479,9 @@
508
479
 
509
480
  return;
510
481
  }
511
- var
512
- $target = $(event.target),
513
- isInModal = $target.closest(selector.modal).length > 0,
514
- isInDOM = $.contains(document.documentElement, event.target)
515
- ;
482
+ let $target = $(event.target);
483
+ let isInModal = $target.closest(selector.modal).length > 0;
484
+ let isInDOM = $.contains(document.documentElement, event.target);
516
485
  if (!isInModal && isInDOM && module.is.active() && $module.hasClass(className.front)) {
517
486
  module.debug('Dimmer clicked, hiding all modals');
518
487
  if (settings.allowMultiple) {
@@ -532,9 +501,7 @@
532
501
  }, delay);
533
502
  },
534
503
  keyboard: function (event) {
535
- var
536
- keyCode = event.which
537
- ;
504
+ let keyCode = event.which;
538
505
  if (keyCode === settings.keys.escape) {
539
506
  if (settings.closable) {
540
507
  module.debug('Escape key pressed hiding modal');
@@ -654,8 +621,7 @@
654
621
  requestAnimationFrame(module.set.observeAttributes);
655
622
  callback();
656
623
  },
657
- })
658
- ;
624
+ });
659
625
  } else {
660
626
  module.error(error.noTransition);
661
627
  }
@@ -666,9 +632,7 @@
666
632
  },
667
633
 
668
634
  hideModal: function (callback, keepDimmed, hideOthersToo) {
669
- var
670
- $previousModal = $otherModals.filter('.' + className.active).last()
671
- ;
635
+ let $previousModal = $otherModals.filter('.' + className.active).last();
672
636
  callback = isFunction(callback)
673
637
  ? callback
674
638
  : function () {};
@@ -719,8 +683,7 @@
719
683
  module.restore.focus();
720
684
  callback();
721
685
  },
722
- })
723
- ;
686
+ });
724
687
  } else {
725
688
  module.error(error.noTransition);
726
689
  }
@@ -758,15 +721,13 @@
758
721
  },
759
722
 
760
723
  hideAll: function (callback) {
761
- var
762
- $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating)
763
- ;
724
+ let $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating);
764
725
  callback = isFunction(callback)
765
726
  ? callback
766
727
  : function () {};
767
728
  if ($visibleModals.length > 0) {
768
729
  module.debug('Hiding all visible modals');
769
- var hideOk = true;
730
+ let hideOk = true;
770
731
  // check in reverse order trying to hide most top displayed modal first
771
732
  $($visibleModals.get().reverse()).each(function (index, element) {
772
733
  if (hideOk) {
@@ -782,17 +743,14 @@
782
743
  },
783
744
 
784
745
  hideOthers: function (callback) {
785
- var
786
- $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating)
787
- ;
746
+ let $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating);
788
747
  callback = isFunction(callback)
789
748
  ? callback
790
749
  : function () {};
791
750
  if ($visibleModals.length > 0) {
792
751
  module.debug('Hiding other modals', $otherModals);
793
752
  $visibleModals
794
- .modal('hide modal', callback, true)
795
- ;
753
+ .modal('hide modal', callback, true);
796
754
  }
797
755
  },
798
756
 
@@ -809,27 +767,22 @@
809
767
  keyboardShortcuts: function () {
810
768
  module.verbose('Adding keyboard shortcuts');
811
769
  $document
812
- .on('keydown' + eventNamespace, module.event.keyboard)
813
- ;
770
+ .on('keydown' + eventNamespace, module.event.keyboard);
814
771
  },
815
772
  },
816
773
 
817
774
  save: {
818
775
  focus: function () {
819
- var
820
- $activeElement = $(document.activeElement),
821
- inCurrentModal = $activeElement.closest($module).length > 0
822
- ;
776
+ let $activeElement = $(document.activeElement);
777
+ let inCurrentModal = $activeElement.closest($module).length > 0;
823
778
  if (!inCurrentModal) {
824
779
  $focusedElement = $(document.activeElement).trigger('blur');
825
780
  }
826
781
  },
827
782
  bodyMargin: function () {
828
783
  initialBodyMargin = $context.css((isBody ? 'margin-' : 'padding-') + (module.can.leftBodyScrollbar() ? 'left' : 'right'));
829
- var
830
- bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10),
831
- bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth
832
- ;
784
+ let bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10);
785
+ let bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth;
833
786
  tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
834
787
  },
835
788
  },
@@ -841,13 +794,11 @@
841
794
  }
842
795
  },
843
796
  bodyMargin: function () {
844
- var position = module.can.leftBodyScrollbar() ? 'left' : 'right';
797
+ let position = module.can.leftBodyScrollbar() ? 'left' : 'right';
845
798
  $context.css((isBody ? 'margin-' : 'padding-') + position, initialBodyMargin);
846
799
  $context.find(selector.bodyFixed.replace('right', position)).each(function () {
847
- var
848
- el = $(this),
849
- attribute = el.css('position') === 'fixed' ? 'padding-' + position : position
850
- ;
800
+ let el = $(this);
801
+ let attribute = el.css('position') === 'fixed' ? 'padding-' + position : position;
851
802
  el.css(attribute, '');
852
803
  });
853
804
  },
@@ -863,15 +814,12 @@
863
814
  clickaway: function () {
864
815
  if (!settings.detachable) {
865
816
  $module
866
- .off('mousedown' + elementEventNamespace)
867
- ;
817
+ .off('mousedown' + elementEventNamespace);
868
818
  }
869
819
  $dimmer
870
- .off('mousedown' + elementEventNamespace)
871
- ;
820
+ .off('mousedown' + elementEventNamespace);
872
821
  $dimmer
873
- .off('mouseup' + elementEventNamespace)
874
- ;
822
+ .off('mouseup' + elementEventNamespace);
875
823
  },
876
824
  dimmerStyles: function () {
877
825
  $dimmer.removeClass(className.inverted);
@@ -886,15 +834,13 @@
886
834
  screenHeight: function () {
887
835
  module.debug('Removing page height');
888
836
  $context
889
- .css('height', '')
890
- ;
837
+ .css('height', '');
891
838
  module.remove.bodyStyle();
892
839
  },
893
840
  keyboardShortcuts: function () {
894
841
  module.verbose('Removing keyboard shortcuts');
895
842
  $document
896
- .off('keydown' + eventNamespace)
897
- ;
843
+ .off('keydown' + eventNamespace);
898
844
  },
899
845
  scrolling: function () {
900
846
  if (!keepScrollingClass) {
@@ -906,11 +852,9 @@
906
852
 
907
853
  cacheSizes: function () {
908
854
  $module.addClass(className.loading);
909
- var
910
- scrollHeight = $module.prop('scrollHeight'),
911
- modalWidth = $module.outerWidth(),
912
- modalHeight = $module.outerHeight()
913
- ;
855
+ let scrollHeight = $module.prop('scrollHeight');
856
+ let modalWidth = $module.outerWidth();
857
+ let modalHeight = $module.outerHeight();
914
858
  if (module.cache.pageHeight === undefined || modalHeight !== 0) {
915
859
  $.extend(module.cache, {
916
860
  pageHeight: $document.outerHeight(),
@@ -963,15 +907,13 @@
963
907
  return settings.useFlex;
964
908
  },
965
909
  fit: function () {
966
- var
967
- contextHeight = module.cache.contextHeight,
968
- verticalCenter = module.cache.contextHeight / 2,
969
- topOffset = module.cache.topOffset,
970
- scrollHeight = module.cache.scrollHeight,
971
- height = module.cache.height,
972
- paddingHeight = settings.padding,
973
- startPosition = verticalCenter + topOffset
974
- ;
910
+ let contextHeight = module.cache.contextHeight;
911
+ let verticalCenter = module.cache.contextHeight / 2;
912
+ let topOffset = module.cache.topOffset;
913
+ let scrollHeight = module.cache.scrollHeight;
914
+ let height = module.cache.height;
915
+ let paddingHeight = settings.padding;
916
+ let startPosition = verticalCenter + topOffset;
975
917
 
976
918
  return scrollHeight > height
977
919
  ? startPosition + scrollHeight + paddingHeight < contextHeight
@@ -1027,43 +969,36 @@
1027
969
  observeAttributes = state !== false;
1028
970
  },
1029
971
  autofocus: function () {
1030
- var
1031
- $autofocus = $inputs.filter('[autofocus]'),
1032
- $rawInputs = $inputs.filter(':input'),
1033
- $input = ($autofocus.length > 0
1034
- ? $autofocus
1035
- : ($rawInputs.length > 0
1036
- ? $rawInputs
1037
- : $module)
1038
- ).first()
1039
- ;
972
+ let $autofocus = $inputs.filter('[autofocus]');
973
+ let $rawInputs = $inputs.filter(':input');
974
+ let $input = ($autofocus.length > 0
975
+ ? $autofocus
976
+ : ($rawInputs.length > 0
977
+ ? $rawInputs
978
+ : $module)
979
+ ).first();
1040
980
  $input.trigger('focus');
1041
981
  },
1042
982
  bodyMargin: function () {
1043
- var position = module.can.leftBodyScrollbar() ? 'left' : 'right';
983
+ let position = module.can.leftBodyScrollbar() ? 'left' : 'right';
1044
984
  if (settings.detachable || module.can.fit()) {
1045
985
  $context.css((isBody ? 'margin-' : 'padding-') + position, tempBodyMargin + 'px');
1046
986
  }
1047
987
  $context.find(selector.bodyFixed.replace('right', position)).each(function () {
1048
- var
1049
- el = $(this),
1050
- attribute = el.css('position') === 'fixed' ? 'padding-' + position : position
1051
- ;
988
+ let el = $(this);
989
+ let attribute = el.css('position') === 'fixed' ? 'padding-' + position : position;
1052
990
  el.css(attribute, 'calc(' + el.css(attribute) + ' + ' + tempBodyMargin + 'px)');
1053
991
  });
1054
992
  },
1055
993
  clickaway: function () {
1056
994
  if (!settings.detachable) {
1057
995
  $module
1058
- .on('mousedown' + elementEventNamespace, module.event.mousedown)
1059
- ;
996
+ .on('mousedown' + elementEventNamespace, module.event.mousedown);
1060
997
  }
1061
998
  $dimmer
1062
- .on('mousedown' + elementEventNamespace, module.event.mousedown)
1063
- ;
999
+ .on('mousedown' + elementEventNamespace, module.event.mousedown);
1064
1000
  $dimmer
1065
- .on('mouseup' + elementEventNamespace, module.event.mouseup)
1066
- ;
1001
+ .on('mouseup' + elementEventNamespace, module.event.mouseup);
1067
1002
  },
1068
1003
  dimmerSettings: function () {
1069
1004
  if ($.fn.dimmer === undefined) {
@@ -1071,19 +1006,17 @@
1071
1006
 
1072
1007
  return;
1073
1008
  }
1074
- var
1075
- defaultSettings = {
1076
- debug: settings.debug,
1077
- dimmerName: 'modals',
1078
- closable: 'auto',
1079
- useFlex: module.can.useFlex(),
1080
- duration: {
1081
- show: settings.transition.showDuration || settings.duration,
1082
- hide: settings.transition.hideDuration || settings.duration,
1083
- },
1009
+ let defaultSettings = {
1010
+ debug: settings.debug,
1011
+ dimmerName: 'modals',
1012
+ closable: 'auto',
1013
+ useFlex: module.can.useFlex(),
1014
+ duration: {
1015
+ show: settings.transition.showDuration || settings.duration,
1016
+ hide: settings.transition.hideDuration || settings.duration,
1084
1017
  },
1085
- dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)
1086
- ;
1018
+ };
1019
+ let dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings);
1087
1020
  if (settings.inverted) {
1088
1021
  dimmerSettings.variation = dimmerSettings.variation !== undefined
1089
1022
  ? dimmerSettings.variation + ' inverted'
@@ -1105,7 +1038,7 @@
1105
1038
  },
1106
1039
  modalOffset: function () {
1107
1040
  if (!settings.detachable) {
1108
- var canFit = module.can.fit();
1041
+ let canFit = module.can.fit();
1109
1042
  $module
1110
1043
  .css({
1111
1044
  top: !$module.hasClass('aligned') && canFit
@@ -1114,8 +1047,7 @@
1114
1047
  ? $document.scrollTop() + settings.padding
1115
1048
  : $document.scrollTop() + (module.cache.contextHeight - module.cache.height - settings.padding)),
1116
1049
  marginLeft: -(module.cache.width / 2),
1117
- })
1118
- ;
1050
+ });
1119
1051
  } else {
1120
1052
  $module
1121
1053
  .css({
@@ -1123,8 +1055,7 @@
1123
1055
  ? -(module.cache.height / 2)
1124
1056
  : settings.padding / 2,
1125
1057
  marginLeft: -(module.cache.width / 2),
1126
- })
1127
- ;
1058
+ });
1128
1059
  }
1129
1060
  module.verbose('Setting modal offset for legacy mode');
1130
1061
  },
@@ -1134,8 +1065,7 @@
1134
1065
  } else if (!$module.hasClass('bottom')) {
1135
1066
  module.debug('Modal is taller than page content, resizing page height');
1136
1067
  $context
1137
- .css('height', module.cache.height + (settings.padding * 2) + 'px')
1138
- ;
1068
+ .css('height', module.cache.height + (settings.padding * 2) + 'px');
1139
1069
  }
1140
1070
  },
1141
1071
  active: function () {
@@ -1220,11 +1150,9 @@
1220
1150
  },
1221
1151
  performance: {
1222
1152
  log: function (message) {
1223
- var
1224
- currentTime,
1225
- executionTime,
1226
- previousTime
1227
- ;
1153
+ let currentTime;
1154
+ let executionTime;
1155
+ let previousTime;
1228
1156
  if (settings.performance) {
1229
1157
  currentTime = Date.now();
1230
1158
  previousTime = time || currentTime;
@@ -1243,10 +1171,8 @@
1243
1171
  }, 500);
1244
1172
  },
1245
1173
  display: function () {
1246
- var
1247
- title = settings.name + ':',
1248
- totalTime = 0
1249
- ;
1174
+ let title = settings.name + ':';
1175
+ let totalTime = 0;
1250
1176
  time = false;
1251
1177
  clearTimeout(module.performance.timer);
1252
1178
  $.each(performance, function (index, data) {
@@ -1268,19 +1194,17 @@
1268
1194
  },
1269
1195
  },
1270
1196
  invoke: function (query, passedArguments, context) {
1271
- var
1272
- object = instance,
1273
- maxDepth,
1274
- found,
1275
- response
1276
- ;
1197
+ let object = instance;
1198
+ let maxDepth;
1199
+ let found;
1200
+ let response;
1277
1201
  passedArguments = passedArguments || queryArguments;
1278
1202
  context = context || element;
1279
1203
  if (typeof query === 'string' && object !== undefined) {
1280
1204
  query = query.split(/[ .]/);
1281
1205
  maxDepth = query.length - 1;
1282
1206
  $.each(query, function (depth, value) {
1283
- var camelCaseValue = depth !== maxDepth
1207
+ let camelCaseValue = depth !== maxDepth
1284
1208
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1285
1209
  : query;
1286
1210
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
@@ -1495,7 +1419,7 @@
1495
1419
 
1496
1420
  $.fn.modal.settings.templates = {
1497
1421
  getArguments: function (args) {
1498
- var queryArguments = [].slice.call(args);
1422
+ let queryArguments = [].slice.call(args);
1499
1423
  if ($.isPlainObject(queryArguments[0])) {
1500
1424
  return $.extend({
1501
1425
  handler: function () {},
@@ -1514,11 +1438,9 @@
1514
1438
  };
1515
1439
  },
1516
1440
  alert: function () {
1517
- var
1518
- settings = this.get.settings(),
1519
- args = settings.templates.getArguments(arguments),
1520
- approveFn = args.handler
1521
- ;
1441
+ let settings = this.get.settings();
1442
+ let args = settings.templates.getArguments(arguments);
1443
+ let approveFn = args.handler;
1522
1444
 
1523
1445
  return {
1524
1446
  title: args.title,
@@ -1532,16 +1454,14 @@
1532
1454
  };
1533
1455
  },
1534
1456
  confirm: function () {
1535
- var
1536
- settings = this.get.settings(),
1537
- args = settings.templates.getArguments(arguments),
1538
- approveFn = function () {
1539
- args.handler(true);
1540
- },
1541
- denyFn = function () {
1542
- args.handler(false);
1543
- }
1544
- ;
1457
+ let settings = this.get.settings();
1458
+ let args = settings.templates.getArguments(arguments);
1459
+ let approveFn = function () {
1460
+ args.handler(true);
1461
+ };
1462
+ let denyFn = function () {
1463
+ args.handler(false);
1464
+ };
1545
1465
 
1546
1466
  return {
1547
1467
  title: args.title,
@@ -1560,22 +1480,18 @@
1560
1480
  };
1561
1481
  },
1562
1482
  prompt: function () {
1563
- var
1564
- $this = this,
1565
- settings = this.get.settings(),
1566
- args = settings.templates.getArguments(arguments),
1567
- input = $($.parseHTML(args.content)).filter('.ui.input'),
1568
- approveFn = function () {
1569
- var
1570
- settings = $this.get.settings(),
1571
- inputField = $this.get.element().find(settings.selector.prompt)[0]
1572
- ;
1573
- args.handler($(inputField).val());
1574
- },
1575
- denyFn = function () {
1576
- args.handler(null);
1577
- }
1578
- ;
1483
+ let $this = this;
1484
+ let settings = this.get.settings();
1485
+ let args = settings.templates.getArguments(arguments);
1486
+ let input = $($.parseHTML(args.content)).filter('.ui.input');
1487
+ let approveFn = function () {
1488
+ let settings = $this.get.settings();
1489
+ let inputField = $this.get.element().find(settings.selector.prompt)[0];
1490
+ args.handler($(inputField).val());
1491
+ };
1492
+ let denyFn = function () {
1493
+ args.handler(null);
1494
+ };
1579
1495
  if (input.length === 0) {
1580
1496
  args.content += '<p><div class="' + this.helpers.escape(settings.className.prompt) + '"><input placeholder="' + this.helpers.escape(args.placeholder || '') + '" type="text" value="' + this.helpers.escape(args.defaultValue || '') + '"></div></p>';
1581
1497
  }