fomantic-ui 2.10.0-beta.6 → 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 +674 -977
  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 +80 -127
  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 +192 -274
  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 +221 -313
  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 +185 -254
  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 +89 -139
  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 +253 -352
  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 +99 -132
  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 +4100 -5721
  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 +673 -976
  176. package/src/definitions/modules/embed.js +79 -126
  177. package/src/definitions/modules/flyout.js +191 -273
  178. package/src/definitions/modules/modal.js +220 -312
  179. package/src/definitions/modules/nag.js +66 -96
  180. package/src/definitions/modules/popup.js +184 -253
  181. package/src/definitions/modules/progress.js +102 -137
  182. package/src/definitions/modules/rating.js +88 -138
  183. package/src/definitions/modules/search.js +252 -351
  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 +98 -131
  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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.6+42a411a - Flyout
2
+ * # Fomantic-UI 2.10.0-beta.8+62e258f - Flyout
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -20,82 +20,78 @@
20
20
  : globalThis;
21
21
 
22
22
  $.fn.flyout = function (parameters) {
23
- var
24
- $allModules = $(this),
25
- $window = $(window),
26
- $document = $(document),
27
- $html = $('html'),
28
- $head = $('head'),
29
- $body = $('body'),
30
-
31
- time = Date.now(),
32
- performance = [],
33
-
34
- query = arguments[0],
35
- methodInvoked = typeof query === 'string',
36
- queryArguments = [].slice.call(arguments, 1),
37
- contextCheck = function (context, win) {
38
- var $context;
39
- if ([window, document].indexOf(context) >= 0) {
40
- $context = $body;
41
- } else {
42
- $context = $(win.document).find(context);
43
- if ($context.length === 0) {
44
- $context = win.frameElement ? contextCheck(context, win.parent) : $body;
45
- }
23
+ let $allModules = $(this);
24
+ let $window = $(window);
25
+ let $document = $(document);
26
+ let $html = $('html');
27
+ let $head = $('head');
28
+ let $body = $('body');
29
+
30
+ let time = Date.now();
31
+ let performance = [];
32
+
33
+ let query = arguments[0];
34
+ let methodInvoked = typeof query === 'string';
35
+ let queryArguments = [].slice.call(arguments, 1);
36
+ let contextCheck = function (context, win) {
37
+ let $context;
38
+ if ([window, document].indexOf(context) >= 0) {
39
+ $context = $body;
40
+ } else {
41
+ $context = $(win.document).find(context);
42
+ if ($context.length === 0) {
43
+ $context = win.frameElement ? contextCheck(context, win.parent) : $body;
46
44
  }
45
+ }
47
46
 
48
- return $context;
49
- },
50
- returnedValue
51
- ;
47
+ return $context;
48
+ };
49
+ let returnedValue;
52
50
 
53
51
  $allModules.each(function () {
54
- var
55
- settings = $.isPlainObject(parameters)
56
- ? $.extend(true, {}, $.fn.flyout.settings, parameters)
57
- : $.extend({}, $.fn.flyout.settings),
58
-
59
- selector = settings.selector,
60
- className = settings.className,
61
- namespace = settings.namespace,
62
- fields = settings.fields,
63
- regExp = settings.regExp,
64
- error = settings.error,
65
-
66
- eventNamespace = '.' + namespace,
67
- moduleNamespace = 'module-' + namespace,
68
-
69
- $module = $(this),
70
- $context = contextCheck(settings.context, window),
71
- $closeIcon = $module.find(selector.close),
72
- $inputs,
73
- $focusedElement,
74
-
75
- $flyouts = $module.children(selector.flyout),
76
- $pusher = $context.children(selector.pusher),
77
- $style,
78
-
79
- isFlyoutComponent = $module.hasClass('flyout'),
80
-
81
- element = this,
82
- instance = isFlyoutComponent ? $module.data(moduleNamespace) : undefined,
83
-
84
- ignoreRepeatedEvents = false,
85
- isBody = $context[0] === $body[0],
86
- initialBodyMargin = '',
87
- tempBodyMargin = '',
88
- hadScrollbar = false,
89
- windowRefocused = false,
90
-
91
- elementNamespace,
92
- id,
93
- observer,
94
- observeAttributes = false,
95
- currentScroll,
96
-
97
- module
98
- ;
52
+ let settings = $.isPlainObject(parameters)
53
+ ? $.extend(true, {}, $.fn.flyout.settings, parameters)
54
+ : $.extend({}, $.fn.flyout.settings);
55
+
56
+ let selector = settings.selector;
57
+ let className = settings.className;
58
+ let namespace = settings.namespace;
59
+ let fields = settings.fields;
60
+ let regExp = settings.regExp;
61
+ let error = settings.error;
62
+
63
+ let eventNamespace = '.' + namespace;
64
+ let moduleNamespace = 'module-' + namespace;
65
+
66
+ let $module = $(this);
67
+ let $context = contextCheck(settings.context, window);
68
+ let $closeIcon = $module.find(selector.close);
69
+ let $inputs;
70
+ let $focusedElement;
71
+
72
+ let $flyouts = $module.children(selector.flyout);
73
+ let $pusher = $context.children(selector.pusher);
74
+ let $style;
75
+
76
+ let isFlyoutComponent = $module.hasClass('flyout');
77
+
78
+ let element = this;
79
+ let instance = isFlyoutComponent ? $module.data(moduleNamespace) : undefined;
80
+
81
+ let ignoreRepeatedEvents = false;
82
+ let isBody = $context[0] === $body[0];
83
+ let initialBodyMargin = '';
84
+ let tempBodyMargin = '';
85
+ let hadScrollbar = false;
86
+ let windowRefocused = false;
87
+
88
+ let elementNamespace;
89
+ let id;
90
+ let observer;
91
+ let observeAttributes = false;
92
+ let currentScroll;
93
+
94
+ let module;
99
95
 
100
96
  module = {
101
97
 
@@ -123,23 +119,21 @@
123
119
  $module.find(selector.content).html(module.helpers.escape(settings.content, settings)).addClass(settings.classContent);
124
120
  }
125
121
  if (module.has.configActions()) {
126
- var $actions = $module.find(selector.actions).addClass(settings.classActions);
122
+ let $actions = $module.find(selector.actions).addClass(settings.classActions);
127
123
  if ($actions.length === 0) {
128
124
  $actions = $('<div/>', { class: className.actions + ' ' + (settings.classActions || '') }).appendTo($module);
129
125
  } else {
130
126
  $actions.empty();
131
127
  }
132
128
  settings.actions.forEach(function (el) {
133
- var
134
- icon = el[fields.icon]
135
- ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
136
- : '',
137
- text = module.helpers.escape(el[fields.text] || '', settings),
138
- cls = module.helpers.escape(el[fields.class] || ''),
139
- click = el[fields.click] && isFunction(el[fields.click])
140
- ? el[fields.click]
141
- : function () {}
142
- ;
129
+ let icon = el[fields.icon]
130
+ ? '<i ' + (el[fields.text] ? 'aria-hidden="true"' : '') + ' class="' + module.helpers.escape(el[fields.icon]) + ' icon"></i>'
131
+ : '';
132
+ let text = module.helpers.escape(el[fields.text] || '', settings);
133
+ let cls = module.helpers.escape(el[fields.class] || '');
134
+ let click = el[fields.click] && isFunction(el[fields.click])
135
+ ? el[fields.click]
136
+ : function () {};
143
137
  $actions.append($('<button/>', {
144
138
  html: icon + text,
145
139
  'aria-label': (el[fields.text] || el[fields.icon] || '').replace(/<[^>]+(>|$)/g, ''),
@@ -184,8 +178,7 @@
184
178
  module.verbose('Storing instance of module', module);
185
179
  instance = module;
186
180
  $module
187
- .data(moduleNamespace, instance)
188
- ;
181
+ .data(moduleNamespace, instance);
189
182
  },
190
183
 
191
184
  create: {
@@ -202,12 +195,12 @@
202
195
  $module.append($closeIcon);
203
196
  }
204
197
  if (settings.title !== '') {
205
- var titleId = '_' + module.get.id() + 'title';
198
+ let titleId = '_' + module.get.id() + 'title';
206
199
  $module.attr('aria-labelledby', titleId);
207
200
  $('<div/>', { class: className.header, id: titleId }).appendTo($module);
208
201
  }
209
202
  if (settings.content !== '') {
210
- var descId = '_' + module.get.id() + 'desc';
203
+ let descId = '_' + module.get.id() + 'desc';
211
204
  $module.attr('aria-describedby', descId);
212
205
  $('<div/>', { class: className.content, id: descId }).appendTo($module);
213
206
  }
@@ -231,8 +224,7 @@
231
224
  module.verbose('Destroying previous module for', $module);
232
225
  $module
233
226
  .off(eventNamespace)
234
- .removeData(moduleNamespace)
235
- ;
227
+ .removeData(moduleNamespace);
236
228
  $closeIcon.off(elementNamespace);
237
229
  if ($inputs) {
238
230
  $inputs.off(elementNamespace);
@@ -245,9 +237,7 @@
245
237
 
246
238
  event: {
247
239
  keyboard: function (event) {
248
- var
249
- keyCode = event.which
250
- ;
240
+ let keyCode = event.which;
251
241
  if (keyCode === settings.keys.escape) {
252
242
  if (settings.closable) {
253
243
  module.debug('Escape key pressed hiding flyout');
@@ -272,10 +262,8 @@
272
262
  },
273
263
  clickaway: function (event) {
274
264
  if (settings.closable) {
275
- var
276
- clickedInPusher = $pusher.find(event.target).length > 0 || $pusher.is(event.target),
277
- clickedContext = $context.is(event.target)
278
- ;
265
+ let clickedInPusher = $pusher.find(event.target).length > 0 || $pusher.is(event.target);
266
+ let clickedContext = $context.is(event.target);
279
267
  if (clickedInPusher) {
280
268
  module.verbose('User clicked on dimmed page');
281
269
  module.hide();
@@ -290,27 +278,21 @@
290
278
  module.hide();
291
279
  },
292
280
  closeKeyUp: function (event) {
293
- var
294
- keyCode = event.which
295
- ;
281
+ let keyCode = event.which;
296
282
  if (keyCode === settings.keys.enter || keyCode === settings.keys.space) {
297
283
  module.hide();
298
284
  }
299
285
  },
300
286
  inputKeyDown: {
301
287
  first: function (event) {
302
- var
303
- keyCode = event.which
304
- ;
288
+ let keyCode = event.which;
305
289
  if (keyCode === settings.keys.tab && event.shiftKey) {
306
290
  $inputs.last().trigger('focus');
307
291
  event.preventDefault();
308
292
  }
309
293
  },
310
294
  last: function (event) {
311
- var
312
- keyCode = event.which
313
- ;
295
+ let keyCode = event.which;
314
296
  if (keyCode === settings.keys.tab && !event.shiftKey) {
315
297
  $inputs.first().trigger('focus');
316
298
  event.preventDefault();
@@ -367,24 +349,19 @@
367
349
  $module
368
350
  .on('click' + eventNamespace, selector.close, module.event.close)
369
351
  .on('click' + eventNamespace, selector.approve, module.event.approve)
370
- .on('click' + eventNamespace, selector.deny, module.event.deny)
371
- ;
352
+ .on('click' + eventNamespace, selector.deny, module.event.deny);
372
353
  $closeIcon
373
- .on('keyup' + elementNamespace, module.event.closeKeyUp)
374
- ;
354
+ .on('keyup' + elementNamespace, module.event.closeKeyUp);
375
355
  $window
376
- .on('focus' + elementNamespace, module.event.focus)
377
- ;
356
+ .on('focus' + elementNamespace, module.event.focus);
378
357
  $context
379
- .on('click' + elementNamespace, module.event.click)
380
- ;
358
+ .on('click' + elementNamespace, module.event.click);
381
359
  },
382
360
  clickaway: function () {
383
361
  module.verbose('Adding clickaway events to context', $context);
384
362
  $context
385
363
  .on('click' + elementNamespace, module.event.clickaway)
386
- .on('touchend' + elementNamespace, module.event.clickaway)
387
- ;
364
+ .on('touchend' + elementNamespace, module.event.clickaway);
388
365
  },
389
366
  scrollLock: function () {
390
367
  if (settings.scrollLock) {
@@ -398,11 +375,9 @@
398
375
  }
399
376
  module.verbose('Adding events to contain flyout scroll');
400
377
  $document
401
- .on('touchmove' + elementNamespace, module.event.touch)
402
- ;
378
+ .on('touchmove' + elementNamespace, module.event.touch);
403
379
  $module
404
- .on('scroll' + eventNamespace, module.event.containScroll)
405
- ;
380
+ .on('scroll' + eventNamespace, module.event.containScroll);
406
381
  },
407
382
  },
408
383
  unbind: {
@@ -423,19 +398,17 @@
423
398
 
424
399
  add: {
425
400
  inlineCSS: function () {
426
- var
427
- width = module.cache.width || $module.outerWidth(),
428
- height = module.cache.height || $module.outerHeight(),
429
- isRTL = module.is.rtl(),
430
- direction = module.get.direction(),
431
- distance = {
432
- left: width,
433
- right: -width,
434
- top: height,
435
- bottom: -height,
436
- },
437
- style
438
- ;
401
+ let width = module.cache.width || $module.outerWidth();
402
+ let height = module.cache.height || $module.outerHeight();
403
+ let isRTL = module.is.rtl();
404
+ let direction = module.get.direction();
405
+ let distance = {
406
+ left: width,
407
+ right: -width,
408
+ top: height,
409
+ bottom: -height,
410
+ };
411
+ let style;
439
412
 
440
413
  if (isRTL) {
441
414
  module.verbose('RTL detected, flipping widths');
@@ -462,32 +435,29 @@
462
435
 
463
436
  style += '</style>';
464
437
  $style = $(style)
465
- .appendTo($head)
466
- ;
438
+ .appendTo($head);
467
439
  module.debug('Adding sizing css to head', $style);
468
440
  },
469
441
  keyboardShortcuts: function () {
470
442
  module.verbose('Adding keyboard shortcuts');
471
443
  $document
472
- .on('keydown' + eventNamespace, module.event.keyboard)
473
- ;
444
+ .on('keydown' + eventNamespace, module.event.keyboard);
474
445
  },
475
446
  },
476
447
  observeChanges: function () {
477
448
  if ('MutationObserver' in window) {
478
449
  observer = new MutationObserver(function (mutations) {
479
- var collectNodes = function (parent) {
480
- var nodes = [];
481
- for (var c = 0, cl = parent.length; c < cl; c++) {
482
- Array.prototype.push.apply(nodes, collectNodes(parent[c].childNodes));
483
- nodes.push(parent[c]);
484
- }
450
+ let collectNodes = function (parent) {
451
+ let nodes = [];
452
+ for (let c = 0, cl = parent.length; c < cl; c++) {
453
+ Array.prototype.push.apply(nodes, collectNodes(parent[c].childNodes));
454
+ nodes.push(parent[c]);
455
+ }
485
456
 
486
- return nodes;
487
- },
488
- shouldRefreshInputs = false,
489
- ignoreAutofocus = true
490
- ;
457
+ return nodes;
458
+ };
459
+ let shouldRefreshInputs = false;
460
+ let ignoreAutofocus = true;
491
461
  mutations.every(function (mutation) {
492
462
  if (mutation.type === 'attributes') {
493
463
  if (observeAttributes && (mutation.attributeName === 'disabled' || $(mutation.target).find(':input').addBack(':input').filter(':visible').length > 0)) {
@@ -496,8 +466,8 @@
496
466
  } else {
497
467
  // mutationobserver only provides the parent nodes,
498
468
  // so let's collect all childs as well to find nested inputs
499
- var $addedInputs = $(collectNodes(mutation.addedNodes)).filter('a[href], [tabindex], :input:enabled').filter(':visible'),
500
- $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
469
+ let $addedInputs = $(collectNodes(mutation.addedNodes)).filter('a[href], [tabindex], :input:enabled').filter(':visible');
470
+ let $removedInputs = $(collectNodes(mutation.removedNodes)).filter('a[href], [tabindex], :input');
501
471
  if ($addedInputs.length > 0 || $removedInputs.length > 0) {
502
472
  shouldRefreshInputs = true;
503
473
  if ($addedInputs.filter(':input').length > 0 || $removedInputs.filter(':input').length > 0) {
@@ -538,8 +508,7 @@
538
508
  refreshInputs: function (ignoreAutofocus) {
539
509
  if ($inputs) {
540
510
  $inputs
541
- .off('keydown' + elementNamespace)
542
- ;
511
+ .off('keydown' + elementNamespace);
543
512
  }
544
513
  if (!settings.dimPage) {
545
514
  return;
@@ -554,11 +523,9 @@
554
523
  $module.removeAttr('tabindex');
555
524
  }
556
525
  $inputs.first()
557
- .on('keydown' + elementNamespace, module.event.inputKeyDown.first)
558
- ;
526
+ .on('keydown' + elementNamespace, module.event.inputKeyDown.first);
559
527
  $inputs.last()
560
- .on('keydown' + elementNamespace, module.event.inputKeyDown.last)
561
- ;
528
+ .on('keydown' + elementNamespace, module.event.inputKeyDown.last);
562
529
  if (!ignoreAutofocus && settings.autofocus && $inputs.filter(':focus').length === 0) {
563
530
  module.set.autofocus();
564
531
  }
@@ -580,8 +547,7 @@
580
547
  .children()
581
548
  .not(selector.omitted)
582
549
  .not($flyouts)
583
- .wrapAll($pusher)
584
- ;
550
+ .wrapAll($pusher);
585
551
  module.refresh();
586
552
  }
587
553
  if ($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {
@@ -599,12 +565,10 @@
599
565
  },
600
566
  heights: function () {
601
567
  module.debug('Setting up heights', $module);
602
- var
603
- $header = $module.children(selector.header),
604
- $content = $module.children(selector.content),
605
- $actions = $module.children(selector.actions),
606
- newContentHeight = ($context.height() || 0) - ($header.outerHeight() || 0) - ($actions.outerHeight() || 0)
607
- ;
568
+ let $header = $module.children(selector.header);
569
+ let $content = $module.children(selector.content);
570
+ let $actions = $module.children(selector.actions);
571
+ let newContentHeight = ($context.height() || 0) - ($header.outerHeight() || 0) - ($actions.outerHeight() || 0);
608
572
  if (newContentHeight > 0) {
609
573
  $content.css('min-height', String(newContentHeight) + 'px');
610
574
  }
@@ -612,17 +576,14 @@
612
576
  },
613
577
 
614
578
  attachEvents: function (selector, event) {
615
- var
616
- $toggle = $(selector)
617
- ;
579
+ let $toggle = $(selector);
618
580
  event = isFunction(module[event])
619
581
  ? module[event]
620
582
  : module.toggle;
621
583
  if ($toggle.length > 0) {
622
584
  module.debug('Attaching flyout events to element', selector, event);
623
585
  $toggle
624
- .on('click' + eventNamespace, event)
625
- ;
586
+ .on('click' + eventNamespace, event);
626
587
  } else {
627
588
  module.error(error.notFound, selector);
628
589
  }
@@ -701,11 +662,9 @@
701
662
  },
702
663
 
703
664
  hideOthers: function (callback) {
704
- var
705
- $otherFlyouts = $flyouts.not($module).filter('.' + className.visible),
706
- flyoutCount = $otherFlyouts.length,
707
- callbackCount = 0
708
- ;
665
+ let $otherFlyouts = $flyouts.not($module).filter('.' + className.visible);
666
+ let flyoutCount = $otherFlyouts.length;
667
+ let callbackCount = 0;
709
668
  callback = callback || function () {};
710
669
  $otherFlyouts
711
670
  .flyout('hide', function () {
@@ -713,8 +672,7 @@
713
672
  if (callbackCount === flyoutCount) {
714
673
  callback();
715
674
  }
716
- })
717
- ;
675
+ });
718
676
  },
719
677
 
720
678
  toggle: function () {
@@ -727,11 +685,9 @@
727
685
  },
728
686
 
729
687
  pushPage: function (callback) {
730
- var
731
- animate,
732
- dim,
733
- transitionEnd
734
- ;
688
+ let animate;
689
+ let dim;
690
+ let transitionEnd;
735
691
  callback = isFunction(callback)
736
692
  ? callback
737
693
  : function () {};
@@ -765,10 +721,8 @@
765
721
  },
766
722
 
767
723
  pullPage: function (callback) {
768
- var
769
- animate,
770
- transitionEnd
771
- ;
724
+ let animate;
725
+ let transitionEnd;
772
726
  callback = isFunction(callback)
773
727
  ? callback
774
728
  : function () {};
@@ -834,16 +788,14 @@
834
788
  observeAttributes = state !== false;
835
789
  },
836
790
  autofocus: function () {
837
- var
838
- $autofocus = $inputs.filter('[autofocus]'),
839
- $rawInputs = $inputs.filter(':input'),
840
- $input = ($autofocus.length > 0
841
- ? $autofocus
842
- : ($rawInputs.length > 0
843
- ? $rawInputs
844
- : $module)
845
- ).first()
846
- ;
791
+ let $autofocus = $inputs.filter('[autofocus]');
792
+ let $rawInputs = $inputs.filter(':input');
793
+ let $input = ($autofocus.length > 0
794
+ ? $autofocus
795
+ : ($rawInputs.length > 0
796
+ ? $rawInputs
797
+ : $module)
798
+ ).first();
847
799
  $input.trigger('focus');
848
800
  },
849
801
  dimmerStyles: function () {
@@ -854,13 +806,11 @@
854
806
  }
855
807
  },
856
808
  bodyMargin: function () {
857
- var position = module.can.leftBodyScrollbar() ? 'left' : 'right';
809
+ let position = module.can.leftBodyScrollbar() ? 'left' : 'right';
858
810
  $context.css((isBody ? 'margin-' : 'padding-') + position, tempBodyMargin + 'px');
859
811
  $context.find(selector.bodyFixed.replace('right', position)).each(function () {
860
- var
861
- el = $(this),
862
- attribute = el.css('position') === 'fixed' ? 'padding-' + position : position
863
- ;
812
+ let el = $(this);
813
+ let attribute = el.css('position') === 'fixed' ? 'padding-' + position : position;
864
814
  el.css(attribute, 'calc(' + el.css(attribute) + ' + ' + tempBodyMargin + 'px)');
865
815
  });
866
816
  },
@@ -910,8 +860,7 @@
910
860
  keyboardShortcuts: function () {
911
861
  module.verbose('Removing keyboard shortcuts');
912
862
  $document
913
- .off('keydown' + eventNamespace)
914
- ;
863
+ .off('keydown' + eventNamespace);
915
864
  },
916
865
 
917
866
  // context
@@ -981,20 +930,16 @@
981
930
 
982
931
  save: {
983
932
  focus: function () {
984
- var
985
- $activeElement = $(document.activeElement),
986
- inCurrentFlyout = $activeElement.closest($module).length > 0
987
- ;
933
+ let $activeElement = $(document.activeElement);
934
+ let inCurrentFlyout = $activeElement.closest($module).length > 0;
988
935
  if (!inCurrentFlyout) {
989
936
  $focusedElement = $(document.activeElement).trigger('blur');
990
937
  }
991
938
  },
992
939
  bodyMargin: function () {
993
940
  initialBodyMargin = $context.css((isBody ? 'margin-' : 'padding-') + (module.can.leftBodyScrollbar() ? 'left' : 'right'));
994
- var
995
- bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10),
996
- bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth
997
- ;
941
+ let bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, ''), 10);
942
+ let bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth;
998
943
  tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
999
944
  },
1000
945
  },
@@ -1018,10 +963,8 @@
1018
963
  return !(self === top);
1019
964
  },
1020
965
  mobile: function () {
1021
- var
1022
- userAgent = navigator.userAgent,
1023
- isMobile = userAgent.match(regExp.mobile)
1024
- ;
966
+ let userAgent = navigator.userAgent;
967
+ let isMobile = userAgent.match(regExp.mobile);
1025
968
  if (isMobile) {
1026
969
  module.verbose('Browser was found to be mobile', userAgent);
1027
970
 
@@ -1066,13 +1009,11 @@
1066
1009
  }
1067
1010
  },
1068
1011
  bodyMargin: function () {
1069
- var position = module.can.leftBodyScrollbar() ? 'left' : 'right';
1012
+ let position = module.can.leftBodyScrollbar() ? 'left' : 'right';
1070
1013
  $context.css((isBody ? 'margin-' : 'padding-') + position, initialBodyMargin);
1071
1014
  $context.find(selector.bodyFixed.replace('right', position)).each(function () {
1072
- var
1073
- el = $(this),
1074
- attribute = el.css('position') === 'fixed' ? 'padding-' + position : position
1075
- ;
1015
+ let el = $(this);
1016
+ let attribute = el.css('position') === 'fixed' ? 'padding-' + position : position;
1076
1017
  el.css(attribute, '');
1077
1018
  });
1078
1019
  },
@@ -1083,25 +1024,17 @@
1083
1024
  if (settings !== undefined && settings.preserveHTML) {
1084
1025
  return string;
1085
1026
  }
1086
- var
1087
- badChars = /["'<>]/g,
1088
- shouldEscape = /["&'<>]/,
1089
- escape = {
1090
- '<': '&lt;',
1091
- '>': '&gt;',
1092
- '"': '&quot;',
1093
- "'": '&apos;',
1094
- },
1095
- escapedChar = function (chr) {
1096
- return escape[chr];
1097
- }
1098
- ;
1099
- if (shouldEscape.test(string)) {
1100
- string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
1101
- string = string.replace(badChars, escapedChar);
1102
- }
1103
1027
 
1104
- return string;
1028
+ const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
1029
+ const escape = {
1030
+ '"': '&quot;',
1031
+ '&': '&amp;',
1032
+ "'": '&apos;',
1033
+ '<': '&lt;',
1034
+ '>': '&gt;',
1035
+ };
1036
+
1037
+ return string.replace(badChars, (chr) => escape[chr]);
1105
1038
  },
1106
1039
  },
1107
1040
 
@@ -1156,11 +1089,9 @@
1156
1089
  },
1157
1090
  performance: {
1158
1091
  log: function (message) {
1159
- var
1160
- currentTime,
1161
- executionTime,
1162
- previousTime
1163
- ;
1092
+ let currentTime;
1093
+ let executionTime;
1094
+ let previousTime;
1164
1095
  if (settings.performance) {
1165
1096
  currentTime = Date.now();
1166
1097
  previousTime = time || currentTime;
@@ -1179,10 +1110,8 @@
1179
1110
  }, 500);
1180
1111
  },
1181
1112
  display: function () {
1182
- var
1183
- title = settings.name + ':',
1184
- totalTime = 0
1185
- ;
1113
+ let title = settings.name + ':';
1114
+ let totalTime = 0;
1186
1115
  time = false;
1187
1116
  clearTimeout(module.performance.timer);
1188
1117
  $.each(performance, function (index, data) {
@@ -1204,22 +1133,19 @@
1204
1133
  },
1205
1134
  },
1206
1135
  invoke: function (query, passedArguments, context) {
1207
- var
1208
- object = instance,
1209
- maxDepth,
1210
- found,
1211
- response
1212
- ;
1136
+ let object = instance;
1137
+ let maxDepth;
1138
+ let found;
1139
+ let response;
1213
1140
  passedArguments = passedArguments || queryArguments;
1214
1141
  context = element || context;
1215
1142
  if (typeof query === 'string' && object !== undefined) {
1216
1143
  query = query.split(/[ .]/);
1217
1144
  maxDepth = query.length - 1;
1218
1145
  $.each(query, function (depth, value) {
1219
- var camelCaseValue = depth !== maxDepth
1146
+ let camelCaseValue = depth !== maxDepth
1220
1147
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1221
- : query
1222
- ;
1148
+ : query;
1223
1149
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
1224
1150
  object = object[camelCaseValue];
1225
1151
  } else if (object[camelCaseValue] !== undefined) {
@@ -1411,7 +1337,7 @@
1411
1337
 
1412
1338
  $.fn.flyout.settings.templates = {
1413
1339
  getArguments: function (args) {
1414
- var queryArguments = [].slice.call(args);
1340
+ let queryArguments = [].slice.call(args);
1415
1341
  if ($.isPlainObject(queryArguments[0])) {
1416
1342
  return $.extend({
1417
1343
  handler: function () {},
@@ -1430,10 +1356,8 @@
1430
1356
  };
1431
1357
  },
1432
1358
  alert: function () {
1433
- var
1434
- settings = this.get.settings(),
1435
- args = settings.templates.getArguments(arguments)
1436
- ;
1359
+ let settings = this.get.settings();
1360
+ let args = settings.templates.getArguments(arguments);
1437
1361
 
1438
1362
  return {
1439
1363
  title: args.title,
@@ -1446,10 +1370,8 @@
1446
1370
  };
1447
1371
  },
1448
1372
  confirm: function () {
1449
- var
1450
- settings = this.get.settings(),
1451
- args = settings.templates.getArguments(arguments)
1452
- ;
1373
+ let settings = this.get.settings();
1374
+ let args = settings.templates.getArguments(arguments);
1453
1375
 
1454
1376
  return {
1455
1377
  title: args.title,
@@ -1470,12 +1392,10 @@
1470
1392
  };
1471
1393
  },
1472
1394
  prompt: function () {
1473
- var
1474
- $this = this,
1475
- settings = this.get.settings(),
1476
- args = settings.templates.getArguments(arguments),
1477
- input = $($.parseHTML(args.content)).filter('.ui.input')
1478
- ;
1395
+ let $this = this;
1396
+ let settings = this.get.settings();
1397
+ let args = settings.templates.getArguments(arguments);
1398
+ let input = $($.parseHTML(args.content)).filter('.ui.input');
1479
1399
  if (input.length === 0) {
1480
1400
  args.content += '<p><div class="' + settings.className.prompt + '"><input placeholder="' + this.helpers.escape(args.placeholder || '') + '" type="text" value="' + this.helpers.escape(args.defaultValue || '') + '"></div></p>';
1481
1401
  }
@@ -1487,10 +1407,8 @@
1487
1407
  text: settings.text.ok,
1488
1408
  class: settings.className.ok,
1489
1409
  click: function () {
1490
- var
1491
- settings = $this.get.settings(),
1492
- inputField = $this.get.element().find(settings.selector.prompt)[0]
1493
- ;
1410
+ let settings = $this.get.settings();
1411
+ let inputField = $this.get.element().find(settings.selector.prompt)[0];
1494
1412
  args.handler($(inputField).val());
1495
1413
  },
1496
1414
  }, {