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

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 (345) hide show
  1. package/.eslintrc.js +6 -23
  2. package/.github/workflows/ci.yml +9 -9
  3. package/.github/workflows/depsreview.yml +1 -1
  4. package/.github/workflows/nightly.yml +7 -5
  5. package/.github/workflows/release.yml +2 -2
  6. package/.stylelintrc.js +1 -15
  7. package/CHANGELOG.md +5289 -2325
  8. package/README.md +8 -4
  9. package/changelog-setup.js +32 -10
  10. package/changelog-template.hbs +256 -251
  11. package/dist/components/accordion.css +1 -1
  12. package/dist/components/accordion.js +62 -73
  13. package/dist/components/accordion.min.css +1 -1
  14. package/dist/components/accordion.min.js +3 -3
  15. package/dist/components/ad.css +1 -1
  16. package/dist/components/ad.min.css +1 -1
  17. package/dist/components/api.js +101 -161
  18. package/dist/components/api.min.js +3 -3
  19. package/dist/components/breadcrumb.css +1 -1
  20. package/dist/components/breadcrumb.min.css +1 -1
  21. package/dist/components/button.css +5 -6
  22. package/dist/components/button.min.css +2 -2
  23. package/dist/components/calendar.css +3 -3
  24. package/dist/components/calendar.js +283 -332
  25. package/dist/components/calendar.min.css +2 -2
  26. package/dist/components/calendar.min.js +3 -3
  27. package/dist/components/card.css +1 -1
  28. package/dist/components/card.min.css +1 -1
  29. package/dist/components/checkbox.css +1 -1
  30. package/dist/components/checkbox.js +58 -79
  31. package/dist/components/checkbox.min.css +1 -1
  32. package/dist/components/checkbox.min.js +3 -3
  33. package/dist/components/comment.css +1 -1
  34. package/dist/components/comment.min.css +1 -1
  35. package/dist/components/container.css +1 -1
  36. package/dist/components/container.min.css +1 -1
  37. package/dist/components/dimmer.css +2 -2
  38. package/dist/components/dimmer.js +39 -52
  39. package/dist/components/dimmer.min.css +2 -2
  40. package/dist/components/dimmer.min.js +3 -3
  41. package/dist/components/divider.css +1 -1
  42. package/dist/components/divider.min.css +1 -1
  43. package/dist/components/dropdown.css +21 -35
  44. package/dist/components/dropdown.js +435 -531
  45. package/dist/components/dropdown.min.css +2 -2
  46. package/dist/components/dropdown.min.js +3 -3
  47. package/dist/components/embed.css +1 -1
  48. package/dist/components/embed.js +55 -68
  49. package/dist/components/embed.min.css +1 -1
  50. package/dist/components/embed.min.js +3 -3
  51. package/dist/components/emoji.css +3809 -7617
  52. package/dist/components/emoji.min.css +2 -2
  53. package/dist/components/feed.css +1 -1
  54. package/dist/components/feed.min.css +1 -1
  55. package/dist/components/flag.css +1 -1
  56. package/dist/components/flag.min.css +1 -1
  57. package/dist/components/flyout.css +1 -1
  58. package/dist/components/flyout.js +149 -168
  59. package/dist/components/flyout.min.css +1 -1
  60. package/dist/components/flyout.min.js +3 -3
  61. package/dist/components/form.css +3 -5
  62. package/dist/components/form.js +249 -269
  63. package/dist/components/form.min.css +2 -2
  64. package/dist/components/form.min.js +3 -3
  65. package/dist/components/grid.css +2 -2
  66. package/dist/components/grid.min.css +2 -2
  67. package/dist/components/header.css +6 -6
  68. package/dist/components/header.min.css +2 -2
  69. package/dist/components/icon.css +10 -37
  70. package/dist/components/icon.min.css +2 -2
  71. package/dist/components/image.css +1 -1
  72. package/dist/components/image.min.css +1 -1
  73. package/dist/components/input.css +284 -12
  74. package/dist/components/input.min.css +2 -2
  75. package/dist/components/item.css +1 -1
  76. package/dist/components/item.min.css +1 -1
  77. package/dist/components/label.css +6 -14
  78. package/dist/components/label.min.css +2 -2
  79. package/dist/components/list.css +3 -3
  80. package/dist/components/list.min.css +2 -2
  81. package/dist/components/loader.css +53 -53
  82. package/dist/components/loader.min.css +2 -2
  83. package/dist/components/menu.css +45 -60
  84. package/dist/components/menu.min.css +2 -2
  85. package/dist/components/message.css +2 -2
  86. package/dist/components/message.min.css +2 -2
  87. package/dist/components/modal.css +5 -5
  88. package/dist/components/modal.js +161 -170
  89. package/dist/components/modal.min.css +2 -2
  90. package/dist/components/modal.min.js +3 -3
  91. package/dist/components/nag.css +1 -1
  92. package/dist/components/nag.js +74 -88
  93. package/dist/components/nag.min.css +1 -1
  94. package/dist/components/nag.min.js +3 -3
  95. package/dist/components/placeholder.css +2 -2
  96. package/dist/components/placeholder.min.css +2 -2
  97. package/dist/components/popup.css +19 -73
  98. package/dist/components/popup.js +105 -138
  99. package/dist/components/popup.min.css +2 -2
  100. package/dist/components/popup.min.js +3 -3
  101. package/dist/components/progress.css +4 -13
  102. package/dist/components/progress.js +75 -97
  103. package/dist/components/progress.min.css +2 -2
  104. package/dist/components/progress.min.js +3 -3
  105. package/dist/components/rail.css +1 -1
  106. package/dist/components/rail.min.css +1 -1
  107. package/dist/components/rating.css +1 -1
  108. package/dist/components/rating.js +49 -61
  109. package/dist/components/rating.min.css +1 -1
  110. package/dist/components/rating.min.js +3 -3
  111. package/dist/components/reset.css +48 -208
  112. package/dist/components/reset.min.css +2 -2
  113. package/dist/components/reveal.css +2 -5
  114. package/dist/components/reveal.min.css +2 -2
  115. package/dist/components/search.css +2 -3
  116. package/dist/components/search.js +178 -198
  117. package/dist/components/search.min.css +2 -2
  118. package/dist/components/search.min.js +3 -3
  119. package/dist/components/segment.css +6 -6
  120. package/dist/components/segment.min.css +2 -2
  121. package/dist/components/shape.css +1 -1
  122. package/dist/components/shape.js +59 -69
  123. package/dist/components/shape.min.css +1 -1
  124. package/dist/components/shape.min.js +3 -3
  125. package/dist/components/sidebar.css +1 -1
  126. package/dist/components/sidebar.js +81 -101
  127. package/dist/components/sidebar.min.css +1 -1
  128. package/dist/components/sidebar.min.js +3 -3
  129. package/dist/components/site.css +1 -1
  130. package/dist/components/site.js +37 -58
  131. package/dist/components/site.min.css +1 -1
  132. package/dist/components/site.min.js +3 -3
  133. package/dist/components/slider.css +1 -1
  134. package/dist/components/slider.js +169 -183
  135. package/dist/components/slider.min.css +1 -1
  136. package/dist/components/slider.min.js +3 -3
  137. package/dist/components/state.js +45 -59
  138. package/dist/components/state.min.js +3 -3
  139. package/dist/components/statistic.css +1 -1
  140. package/dist/components/statistic.min.css +1 -1
  141. package/dist/components/step.css +4 -4
  142. package/dist/components/step.min.css +2 -2
  143. package/dist/components/sticky.css +1 -1
  144. package/dist/components/sticky.js +95 -117
  145. package/dist/components/sticky.min.css +1 -1
  146. package/dist/components/sticky.min.js +3 -3
  147. package/dist/components/tab.css +1 -1
  148. package/dist/components/tab.js +83 -115
  149. package/dist/components/tab.min.css +1 -1
  150. package/dist/components/tab.min.js +3 -3
  151. package/dist/components/table.css +8 -8
  152. package/dist/components/table.min.css +2 -2
  153. package/dist/components/text.css +1 -1
  154. package/dist/components/text.min.css +1 -1
  155. package/dist/components/toast.css +1 -1
  156. package/dist/components/toast.js +64 -74
  157. package/dist/components/toast.min.css +1 -1
  158. package/dist/components/toast.min.js +3 -3
  159. package/dist/components/transition.css +1 -1
  160. package/dist/components/transition.js +61 -85
  161. package/dist/components/transition.min.css +1 -1
  162. package/dist/components/transition.min.js +3 -3
  163. package/dist/components/visibility.js +120 -140
  164. package/dist/components/visibility.min.js +3 -3
  165. package/dist/semantic.css +4480 -8222
  166. package/dist/semantic.js +2886 -3485
  167. package/dist/semantic.min.css +3 -3
  168. package/dist/semantic.min.js +3 -3
  169. package/examples/attached.html +1 -1
  170. package/examples/components/menu.html +1 -1
  171. package/package.json +8 -5
  172. package/scripts/nightly-version.js +4 -4
  173. package/src/definitions/behaviors/api.js +100 -160
  174. package/src/definitions/behaviors/form.js +248 -268
  175. package/src/definitions/behaviors/state.js +44 -58
  176. package/src/definitions/behaviors/visibility.js +119 -139
  177. package/src/definitions/collections/breadcrumb.less +0 -1
  178. package/src/definitions/collections/form.less +3 -9
  179. package/src/definitions/collections/grid.less +1 -2
  180. package/src/definitions/collections/menu.less +106 -117
  181. package/src/definitions/collections/message.less +1 -2
  182. package/src/definitions/collections/table.less +7 -8
  183. package/src/definitions/elements/button.less +4 -6
  184. package/src/definitions/elements/container.less +0 -1
  185. package/src/definitions/elements/divider.less +1 -2
  186. package/src/definitions/elements/emoji.less +1 -1
  187. package/src/definitions/elements/flag.less +1 -1
  188. package/src/definitions/elements/header.less +4 -5
  189. package/src/definitions/elements/icon.less +10 -37
  190. package/src/definitions/elements/image.less +0 -1
  191. package/src/definitions/elements/input.less +4 -7
  192. package/src/definitions/elements/label.less +5 -14
  193. package/src/definitions/elements/list.less +2 -3
  194. package/src/definitions/elements/loader.less +10 -11
  195. package/src/definitions/elements/placeholder.less +1 -2
  196. package/src/definitions/elements/rail.less +0 -1
  197. package/src/definitions/elements/reveal.less +1 -5
  198. package/src/definitions/elements/segment.less +5 -6
  199. package/src/definitions/elements/step.less +3 -4
  200. package/src/definitions/elements/text.less +0 -1
  201. package/src/definitions/globals/reset.less +0 -1
  202. package/src/definitions/globals/site.js +36 -57
  203. package/src/definitions/globals/site.less +0 -1
  204. package/src/definitions/modules/accordion.js +61 -72
  205. package/src/definitions/modules/accordion.less +0 -1
  206. package/src/definitions/modules/calendar.js +282 -331
  207. package/src/definitions/modules/calendar.less +2 -3
  208. package/src/definitions/modules/checkbox.js +57 -78
  209. package/src/definitions/modules/checkbox.less +0 -1
  210. package/src/definitions/modules/dimmer.js +38 -51
  211. package/src/definitions/modules/dimmer.less +1 -2
  212. package/src/definitions/modules/dropdown.js +434 -530
  213. package/src/definitions/modules/dropdown.less +27 -38
  214. package/src/definitions/modules/embed.js +54 -67
  215. package/src/definitions/modules/embed.less +0 -1
  216. package/src/definitions/modules/flyout.js +148 -167
  217. package/src/definitions/modules/flyout.less +0 -1
  218. package/src/definitions/modules/modal.js +160 -169
  219. package/src/definitions/modules/modal.less +3 -4
  220. package/src/definitions/modules/nag.js +73 -87
  221. package/src/definitions/modules/nag.less +0 -1
  222. package/src/definitions/modules/popup.js +104 -137
  223. package/src/definitions/modules/popup.less +18 -73
  224. package/src/definitions/modules/progress.js +74 -96
  225. package/src/definitions/modules/progress.less +3 -13
  226. package/src/definitions/modules/rating.js +48 -60
  227. package/src/definitions/modules/rating.less +0 -1
  228. package/src/definitions/modules/search.js +177 -197
  229. package/src/definitions/modules/search.less +2 -4
  230. package/src/definitions/modules/shape.js +58 -68
  231. package/src/definitions/modules/shape.less +0 -1
  232. package/src/definitions/modules/sidebar.js +80 -100
  233. package/src/definitions/modules/sidebar.less +0 -1
  234. package/src/definitions/modules/slider.js +168 -182
  235. package/src/definitions/modules/slider.less +0 -1
  236. package/src/definitions/modules/sticky.js +94 -116
  237. package/src/definitions/modules/sticky.less +0 -1
  238. package/src/definitions/modules/tab.js +82 -114
  239. package/src/definitions/modules/tab.less +0 -1
  240. package/src/definitions/modules/toast.js +63 -73
  241. package/src/definitions/modules/toast.less +0 -1
  242. package/src/definitions/modules/transition.js +60 -84
  243. package/src/definitions/modules/transition.less +1 -2
  244. package/src/definitions/views/ad.less +0 -1
  245. package/src/definitions/views/card.less +0 -1
  246. package/src/definitions/views/comment.less +0 -1
  247. package/src/definitions/views/feed.less +0 -1
  248. package/src/definitions/views/item.less +0 -1
  249. package/src/definitions/views/statistic.less +0 -1
  250. package/src/semantic.less +1 -1
  251. package/src/themes/amazon/elements/button.overrides +1 -1
  252. package/src/themes/amazon/elements/button.variables +5 -6
  253. package/src/themes/amazon/globals/site.variables +2 -3
  254. package/src/themes/bookish/elements/header.variables +2 -2
  255. package/src/themes/bootstrap3/elements/button.variables +4 -5
  256. package/src/themes/chubby/collections/menu.variables +1 -1
  257. package/src/themes/chubby/elements/button.overrides +4 -4
  258. package/src/themes/chubby/modules/accordion.overrides +1 -1
  259. package/src/themes/chubby/views/comment.overrides +2 -2
  260. package/src/themes/chubby/views/comment.variables +2 -2
  261. package/src/themes/classic/collections/table.variables +2 -2
  262. package/src/themes/classic/elements/button.variables +11 -11
  263. package/src/themes/classic/modules/progress.variables +2 -2
  264. package/src/themes/classic/views/card.variables +2 -2
  265. package/src/themes/default/collections/form.variables +2 -3
  266. package/src/themes/default/collections/menu.variables +28 -28
  267. package/src/themes/default/collections/message.variables +1 -1
  268. package/src/themes/default/collections/table.variables +4 -4
  269. package/src/themes/default/elements/button.variables +9 -10
  270. package/src/themes/default/elements/divider.variables +1 -1
  271. package/src/themes/default/elements/icon.variables +2 -2
  272. package/src/themes/default/elements/image.variables +1 -1
  273. package/src/themes/default/elements/input.variables +2 -2
  274. package/src/themes/default/elements/label.variables +4 -4
  275. package/src/themes/default/elements/list.variables +1 -1
  276. package/src/themes/default/elements/placeholder.variables +6 -6
  277. package/src/themes/default/elements/segment.variables +8 -8
  278. package/src/themes/default/globals/reset.overrides +45 -201
  279. package/src/themes/default/globals/site.variables +50 -50
  280. package/src/themes/default/globals/variation.variables +3 -2
  281. package/src/themes/default/modules/accordion.variables +0 -1
  282. package/src/themes/default/modules/checkbox.variables +1 -1
  283. package/src/themes/default/modules/dimmer.variables +12 -12
  284. package/src/themes/default/modules/dropdown.variables +17 -16
  285. package/src/themes/default/modules/embed.variables +2 -2
  286. package/src/themes/default/modules/flyout.variables +3 -3
  287. package/src/themes/default/modules/modal.variables +14 -14
  288. package/src/themes/default/modules/nag.variables +1 -1
  289. package/src/themes/default/modules/rating.variables +1 -1
  290. package/src/themes/default/modules/search.variables +1 -1
  291. package/src/themes/default/modules/shape.variables +1 -1
  292. package/src/themes/default/modules/sidebar.variables +2 -2
  293. package/src/themes/default/modules/toast.variables +4 -4
  294. package/src/themes/default/views/card.variables +6 -7
  295. package/src/themes/default/views/feed.variables +4 -4
  296. package/src/themes/default/views/item.variables +2 -3
  297. package/src/themes/flat/collections/form.variables +1 -1
  298. package/src/themes/flat/globals/site.variables +9 -9
  299. package/src/themes/github/collections/form.overrides +3 -3
  300. package/src/themes/github/collections/form.variables +3 -3
  301. package/src/themes/github/collections/menu.overrides +1 -1
  302. package/src/themes/github/collections/menu.variables +10 -10
  303. package/src/themes/github/collections/message.variables +6 -6
  304. package/src/themes/github/elements/button.variables +17 -17
  305. package/src/themes/github/elements/input.variables +3 -3
  306. package/src/themes/github/elements/segment.variables +2 -2
  307. package/src/themes/github/elements/step.overrides +4 -4
  308. package/src/themes/github/elements/step.variables +3 -3
  309. package/src/themes/github/globals/site.variables +2 -2
  310. package/src/themes/github/modules/dropdown.variables +1 -3
  311. package/src/themes/gmail/collections/message.variables +2 -2
  312. package/src/themes/material/collections/menu.variables +1 -1
  313. package/src/themes/material/elements/button.overrides +4 -4
  314. package/src/themes/material/elements/button.variables +5 -5
  315. package/src/themes/material/modules/dropdown.variables +1 -1
  316. package/src/themes/material/modules/modal.variables +1 -1
  317. package/src/themes/raised/elements/button.variables +1 -1
  318. package/src/themes/round/elements/button.variables +12 -12
  319. package/src/themes/striped/modules/progress.overrides +3 -3
  320. package/src/themes/timeline/views/feed.variables +2 -2
  321. package/src/themes/twitter/elements/button.overrides +1 -1
  322. package/src/themes/twitter/elements/button.variables +4 -5
  323. package/tasks/admin/components/create.js +12 -15
  324. package/tasks/admin/components/init.js +11 -12
  325. package/tasks/admin/components/update.js +19 -20
  326. package/tasks/admin/distributions/create.js +30 -51
  327. package/tasks/admin/distributions/init.js +11 -12
  328. package/tasks/admin/distributions/update.js +18 -19
  329. package/tasks/admin/register.js +7 -7
  330. package/tasks/build/assets.js +1 -1
  331. package/tasks/build/css.js +5 -5
  332. package/tasks/build/javascript.js +1 -1
  333. package/tasks/config/admin/github.js +1 -1
  334. package/tasks/config/admin/templates/css-package.js +1 -1
  335. package/tasks/config/admin/templates/less-package.js +1 -1
  336. package/tasks/config/project/config.js +10 -10
  337. package/tasks/config/project/install.js +12 -12
  338. package/tasks/config/project/release.js +6 -12
  339. package/tasks/config/tasks.js +15 -11
  340. package/tasks/config/user.js +1 -4
  341. package/tasks/docs/metadata.js +18 -20
  342. package/tasks/install.js +14 -12
  343. package/test/meteor/assets.js +4 -4
  344. package/test/meteor/fonts.js +10 -11
  345. package/test/modules/module.spec.js +18 -18
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.8+62e258f - Popup
2
+ * # Fomantic-UI 2.10.0-beta.81+4f706c2 - Popup
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -19,25 +19,25 @@
19
19
  ? window
20
20
  : globalThis;
21
21
 
22
- $.fn.popup = function (parameters) {
23
- let $allModules = $(this);
24
- let $document = $(document);
25
- let $window = $(window);
26
- let $body = $('body');
22
+ $.fn.popup = function (...args) {
23
+ const $allModules = $(this);
24
+ const $document = $(document);
25
+ const $window = $(window);
26
+ const $body = $('body');
27
27
 
28
- let clickEvent = 'ontouchstart' in document.documentElement
28
+ const clickEvent = 'ontouchstart' in document.documentElement
29
29
  ? 'touchstart'
30
30
  : 'click';
31
31
 
32
32
  let time = Date.now();
33
33
  let performance = [];
34
34
 
35
- let query = arguments[0];
36
- let methodInvoked = typeof query === 'string';
37
- let queryArguments = [].slice.call(arguments, 1);
38
- let contextCheck = function (context, win) {
35
+ const parameters = args[0];
36
+ const methodInvoked = typeof parameters === 'string';
37
+ const queryArguments = args.slice(1);
38
+ const contextCheck = function (context, win) {
39
39
  let $context;
40
- if ([window, document].indexOf(context) >= 0) {
40
+ if ([window, document].includes(context)) {
41
41
  $context = $(context);
42
42
  } else {
43
43
  $context = $(win.document).find(context);
@@ -51,24 +51,24 @@
51
51
 
52
52
  let returnedValue;
53
53
  $allModules.each(function () {
54
- let settings = $.isPlainObject(parameters)
54
+ const settings = $.isPlainObject(parameters)
55
55
  ? $.extend(true, {}, $.fn.popup.settings, parameters)
56
56
  : $.extend({}, $.fn.popup.settings);
57
57
 
58
- let selector = settings.selector;
59
- let className = settings.className;
60
- let error = settings.error;
61
- let metadata = settings.metadata;
62
- let namespace = settings.namespace;
58
+ const selector = settings.selector;
59
+ const className = settings.className;
60
+ const error = settings.error;
61
+ const metadata = settings.metadata;
62
+ const namespace = settings.namespace;
63
63
 
64
- let eventNamespace = '.' + settings.namespace;
65
- let moduleNamespace = 'module-' + namespace;
64
+ const eventNamespace = '.' + settings.namespace;
65
+ const moduleNamespace = 'module-' + namespace;
66
66
 
67
- let $module = $(this);
68
- let $context = contextCheck(settings.context, window);
69
- let $scrollContext = contextCheck(settings.scrollContext, window);
70
- let $boundary = contextCheck(settings.boundary, window);
71
- let $target = settings.target ? contextCheck(settings.target, window) : $module;
67
+ const $module = $(this);
68
+ const $context = contextCheck(settings.context, window);
69
+ const $scrollContext = contextCheck(settings.scrollContext, window);
70
+ const $boundary = contextCheck(settings.boundary, window);
71
+ const $target = settings.target ? contextCheck(settings.target, window) : $module;
72
72
 
73
73
  let $popup;
74
74
  let $offsetParent;
@@ -77,15 +77,14 @@
77
77
  let triedPositions = false;
78
78
  let openedWithTouch = false;
79
79
 
80
- let element = this;
80
+ const element = this;
81
81
  let instance = $module.data(moduleNamespace);
82
82
 
83
83
  let documentObserver;
84
84
  let elementNamespace;
85
85
  let id;
86
- let module;
87
86
 
88
- module = {
87
+ const module = {
89
88
 
90
89
  // binds events
91
90
  initialize: function () {
@@ -109,24 +108,20 @@
109
108
  },
110
109
 
111
110
  observeChanges: function () {
112
- if ('MutationObserver' in window) {
113
- documentObserver = new MutationObserver(module.event.documentChanged);
114
- documentObserver.observe(document, {
115
- childList: true,
116
- subtree: true,
117
- });
118
- module.debug('Setting up mutation observer', documentObserver);
119
- }
111
+ documentObserver = new MutationObserver(module.event.documentChanged);
112
+ documentObserver.observe(document, {
113
+ childList: true,
114
+ subtree: true,
115
+ });
116
+ module.debug('Setting up mutation observer', documentObserver);
120
117
  },
121
118
 
122
119
  refresh: function () {
123
120
  if (settings.popup) {
124
121
  $popup = $document.find(settings.popup).eq(0);
125
- } else {
126
- if (settings.inline) {
127
- $popup = $target.nextAll(selector.popup).eq(0);
128
- settings.popup = $popup;
129
- }
122
+ } else if (settings.inline) {
123
+ $popup = $target.nextAll(selector.popup).eq(0);
124
+ settings.popup = $popup;
130
125
  }
131
126
  if (settings.popup) {
132
127
  module.set.invisible();
@@ -180,7 +175,7 @@
180
175
 
181
176
  event: {
182
177
  start: function (event) {
183
- let delay = $.isPlainObject(settings.delay)
178
+ const delay = $.isPlainObject(settings.delay)
184
179
  ? settings.delay.show
185
180
  : settings.delay;
186
181
  clearTimeout(module.hideTimer);
@@ -191,7 +186,7 @@
191
186
  }
192
187
  },
193
188
  end: function () {
194
- let delay = $.isPlainObject(settings.delay)
189
+ const delay = $.isPlainObject(settings.delay)
195
190
  ? settings.delay.hide
196
191
  : settings.delay;
197
192
  clearTimeout(module.showTimer);
@@ -211,21 +206,19 @@
211
206
  }
212
207
  },
213
208
  documentChanged: function (mutations) {
214
- [].forEach.call(mutations, function (mutation) {
215
- if (mutation.removedNodes) {
216
- [].forEach.call(mutation.removedNodes, function (node) {
217
- if (node === element || $(node).find(element).length > 0) {
218
- module.debug('Element removed from DOM, tearing down events');
219
- module.destroy();
220
- }
221
- });
209
+ for (const mutation of mutations) {
210
+ for (const node of mutation.removedNodes) {
211
+ if (node === element || $(node).find(element).length > 0) {
212
+ module.debug('Element removed from DOM, tearing down events');
213
+ module.destroy();
214
+ }
222
215
  }
223
- });
216
+ }
224
217
  },
225
218
  hideGracefully: function (event) {
226
- let $target = $(event.target);
227
- let isInDOM = $.contains(document.documentElement, event.target);
228
- let inPopup = $target.closest(selector.popup).length > 0;
219
+ const $target = $(event.target);
220
+ const isInDOM = document.documentElement.contains(event.target);
221
+ const inPopup = $target.closest(selector.popup).length > 0;
229
222
  // don't close on clicks inside popup
230
223
  if (event && !inPopup && isInDOM) {
231
224
  module.debug('Click occurred outside popup hiding popup');
@@ -238,11 +231,11 @@
238
231
 
239
232
  // generates popup html from metadata
240
233
  create: function () {
241
- let targetSibling = $target.next(selector.popup);
242
- let contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false;
234
+ const targetSibling = $target.next(selector.popup);
235
+ const contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false;
243
236
  let html = module.get.html();
244
- let title = module.get.title();
245
- let content = module.get.content(contentFallback);
237
+ const title = module.get.title();
238
+ const content = module.get.content(contentFallback);
246
239
 
247
240
  if (html || content || title) {
248
241
  module.debug('Creating pop-up html');
@@ -311,8 +304,7 @@
311
304
  }
312
305
  },
313
306
 
314
- show: function (callback) {
315
- callback = callback || function () {};
307
+ show: function (callback = function () {}) {
316
308
  module.debug('Showing pop-up', settings.transition);
317
309
  if (module.is.hidden() && !(module.is.active() && module.is.dropdown())) {
318
310
  if (!module.exists()) {
@@ -336,8 +328,7 @@
336
328
  }
337
329
  },
338
330
 
339
- hide: function (callback) {
340
- callback = callback || function () {};
331
+ hide: function (callback = function () {}) {
341
332
  if (module.is.visible() || module.is.animating()) {
342
333
  if (settings.onHide.call($popup, element) === false) {
343
334
  module.debug('onHide callback returned false, cancelling popup animation');
@@ -485,22 +476,20 @@
485
476
  return $popup.offset();
486
477
  },
487
478
  calculations: function () {
488
- let $popupOffsetParent = module.get.offsetParent($popup);
489
- let targetElement = $target[0];
490
- let isWindowEl = $boundary[0] === window;
491
- let targetOffset = $target.offset();
492
- let parentOffset = settings.inline || (settings.popup && settings.movePopup)
479
+ const $popupOffsetParent = module.get.offsetParent($popup);
480
+ const targetElement = $target[0];
481
+ const isWindowEl = $boundary[0] === window;
482
+ const targetOffset = $target.offset();
483
+ const parentOffset = settings.inline || (settings.popup && settings.movePopup)
493
484
  ? $target.offsetParent().offset()
494
485
  : { top: 0, left: 0 };
495
- let screenPosition = isWindowEl
486
+ const screenPosition = isWindowEl
496
487
  ? { top: 0, left: 0 }
497
488
  : $boundary.offset();
498
- let calculations = {};
499
- let scroll = isWindowEl
489
+ const scroll = isWindowEl
500
490
  ? { top: $window.scrollTop(), left: $window.scrollLeft() }
501
491
  : { top: 0, left: 0 };
502
- let screen;
503
- calculations = {
492
+ const calculations = {
504
493
  // element which is launching popup
505
494
  target: {
506
495
  element: $target[0],
@@ -535,7 +524,7 @@
535
524
 
536
525
  // if popup offset context is different from target, then adjust calculations
537
526
  if ($popupOffsetParent[0] !== $offsetParent[0]) {
538
- let popupOffset = $popupOffsetParent.offset();
527
+ const popupOffset = $popupOffsetParent.offset();
539
528
  calculations.target.top -= popupOffset.top;
540
529
  calculations.target.left -= popupOffset.left;
541
530
  calculations.parent.width = $popupOffsetParent.outerWidth();
@@ -552,15 +541,15 @@
552
541
 
553
542
  // add in margins if inline
554
543
  calculations.target.margin.top = settings.inline
555
- ? parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)
544
+ ? Number.parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)
556
545
  : 0;
557
546
  calculations.target.margin.left = settings.inline
558
547
  ? (module.is.rtl()
559
- ? parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)
560
- : parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10))
548
+ ? Number.parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)
549
+ : Number.parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10))
561
550
  : 0;
562
551
  // calculate screen boundaries
563
- screen = calculations.screen;
552
+ const screen = calculations.screen;
564
553
  calculations.boundary = {
565
554
  top: screen.top + screen.scroll.top,
566
555
  bottom: screen.top + screen.scroll.top + screen.height,
@@ -596,15 +585,12 @@
596
585
 
597
586
  return false;
598
587
  },
599
- distanceFromBoundary: function (offset, calculations) {
588
+ distanceFromBoundary: function (offset, calculations = module.get.calculations()) {
600
589
  let distanceFromBoundary = {};
601
- let popup;
602
- let boundary;
603
- calculations = calculations || module.get.calculations();
604
590
 
605
591
  // shorthand
606
- popup = calculations.popup;
607
- boundary = calculations.boundary;
592
+ const popup = calculations.popup;
593
+ const boundary = calculations.boundary;
608
594
 
609
595
  if (offset) {
610
596
  distanceFromBoundary = {
@@ -619,7 +605,7 @@
619
605
  return distanceFromBoundary;
620
606
  },
621
607
  offsetParent: function ($element) {
622
- let element = $element !== undefined
608
+ const element = $element !== undefined
623
609
  ? $element[0]
624
610
  : $target[0];
625
611
  let parentNode = element.parentNode;
@@ -654,21 +640,21 @@
654
640
  };
655
641
  },
656
642
  nextPosition: function (position) {
657
- let positions = position.split(' ');
658
- let verticalPosition = positions[0];
659
- let horizontalPosition = positions[1];
660
- let opposite = {
643
+ const positions = position.split(' ');
644
+ const verticalPosition = positions[0];
645
+ const horizontalPosition = positions[1];
646
+ const opposite = {
661
647
  top: 'bottom',
662
648
  bottom: 'top',
663
649
  left: 'right',
664
650
  right: 'left',
665
651
  };
666
- let adjacent = {
652
+ const adjacent = {
667
653
  left: 'center',
668
654
  center: 'right',
669
655
  right: 'left',
670
656
  };
671
- let backup = {
657
+ const backup = {
672
658
  'top left': 'top center',
673
659
  'top center': 'top right',
674
660
  'top right': 'right center',
@@ -678,7 +664,7 @@
678
664
  'bottom left': 'left center',
679
665
  'left center': 'top left',
680
666
  };
681
- let adjacentsAvailable = verticalPosition === 'top' || verticalPosition === 'bottom';
667
+ const adjacentsAvailable = verticalPosition === 'top' || verticalPosition === 'bottom';
682
668
  let oppositeTried = false;
683
669
  let adjacentTried = false;
684
670
  let nextPosition = false;
@@ -712,7 +698,7 @@
712
698
  },
713
699
 
714
700
  set: {
715
- position: function (position, calculations) {
701
+ position: function (position = $module.data(metadata.position) || settings.position, calculations = module.get.calculations()) {
716
702
  // exit conditions
717
703
  if ($target.length === 0 || $popup.length === 0) {
718
704
  module.error(error.notFound);
@@ -721,23 +707,15 @@
721
707
  }
722
708
  let offset;
723
709
  let distanceAway;
724
- let target;
725
- let popup;
726
- let parent;
727
710
  let positioning;
728
- let popupOffset;
729
- let distanceFromBoundary;
730
-
731
- calculations = calculations || module.get.calculations();
732
- position = position || $module.data(metadata.position) || settings.position;
733
711
 
734
712
  offset = $module.data(metadata.offset) || settings.offset;
735
713
  distanceAway = settings.distanceAway;
736
714
 
737
715
  // shorthand
738
- target = calculations.target;
739
- popup = calculations.popup;
740
- parent = calculations.parent;
716
+ const target = calculations.target;
717
+ const popup = calculations.popup;
718
+ const parent = calculations.parent;
741
719
 
742
720
  if (module.should.centerArrow(calculations)) {
743
721
  module.verbose('Adjusting offset to center arrow on small target element');
@@ -868,6 +846,7 @@
868
846
 
869
847
  break;
870
848
  }
849
+ // no default
871
850
  }
872
851
  if (positioning === undefined) {
873
852
  module.error(error.invalidPosition, position);
@@ -882,10 +861,10 @@
882
861
  .addClass(position);
883
862
  module.set.invisible();
884
863
 
885
- popupOffset = module.get.popupOffset();
864
+ const popupOffset = module.get.popupOffset();
886
865
 
887
866
  // see if any boundaries are surpassed with this tentative position
888
- distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);
867
+ const distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);
889
868
 
890
869
  if (!settings.forcePosition && module.is.offstage(distanceFromBoundary, position)) {
891
870
  module.debug('Position is outside viewport', position);
@@ -921,8 +900,7 @@
921
900
  return true;
922
901
  },
923
902
 
924
- fluidWidth: function (calculations) {
925
- calculations = calculations || module.get.calculations();
903
+ fluidWidth: function (calculations = module.get.calculations()) {
926
904
  module.debug('Automatically setting element width to parent width', calculations.parent.width);
927
905
  $popup.css('width', calculations.container.width);
928
906
  },
@@ -935,8 +913,7 @@
935
913
  $popup.addClass(className.invisible);
936
914
  },
937
915
 
938
- variation: function (variation) {
939
- variation = variation || module.get.variation();
916
+ variation: function (variation = module.get.variation()) {
940
917
  if (variation && module.has.popup()) {
941
918
  module.verbose('Adding variation to popup', variation);
942
919
  $popup.addClass(variation);
@@ -955,8 +932,7 @@
955
932
  invisible: function () {
956
933
  $popup.removeClass(className.invisible);
957
934
  },
958
- variation: function (variation) {
959
- variation = variation || module.get.variation();
935
+ variation: function (variation = module.get.variation()) {
960
936
  if (variation) {
961
937
  module.verbose('Removing variation', variation);
962
938
  $popup.removeClass(variation);
@@ -1081,7 +1057,7 @@
1081
1057
  return settings.closable;
1082
1058
  },
1083
1059
  offstage: function (distanceFromBoundary, position) {
1084
- let offstage = [];
1060
+ const offstage = [];
1085
1061
  // return boundaries that have been surpassed
1086
1062
  $.each(distanceFromBoundary, function (direction, distance) {
1087
1063
  if (distance < -settings.jitter) {
@@ -1151,30 +1127,30 @@
1151
1127
  return module[name];
1152
1128
  }
1153
1129
  },
1154
- debug: function () {
1130
+ debug: function (...args) {
1155
1131
  if (!settings.silent && settings.debug) {
1156
1132
  if (settings.performance) {
1157
- module.performance.log(arguments);
1133
+ module.performance.log(args);
1158
1134
  } else {
1159
1135
  module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
1160
- module.debug.apply(console, arguments);
1136
+ module.debug.apply(console, args);
1161
1137
  }
1162
1138
  }
1163
1139
  },
1164
- verbose: function () {
1140
+ verbose: function (...args) {
1165
1141
  if (!settings.silent && settings.verbose && settings.debug) {
1166
1142
  if (settings.performance) {
1167
- module.performance.log(arguments);
1143
+ module.performance.log(args);
1168
1144
  } else {
1169
1145
  module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
1170
- module.verbose.apply(console, arguments);
1146
+ module.verbose.apply(console, args);
1171
1147
  }
1172
1148
  }
1173
1149
  },
1174
- error: function () {
1150
+ error: function (...args) {
1175
1151
  if (!settings.silent) {
1176
1152
  module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
1177
- module.error.apply(console, arguments);
1153
+ module.error.apply(console, args);
1178
1154
  }
1179
1155
  },
1180
1156
  performance: {
@@ -1189,7 +1165,7 @@
1189
1165
  time = currentTime;
1190
1166
  performance.push({
1191
1167
  Name: message[0],
1192
- Arguments: [].slice.call(message, 1) || '',
1168
+ Arguments: message.slice(1),
1193
1169
  Element: element,
1194
1170
  'Execution Time': executionTime,
1195
1171
  });
@@ -1210,30 +1186,22 @@
1210
1186
  title += ' ' + totalTime + 'ms';
1211
1187
  if (performance.length > 0) {
1212
1188
  console.groupCollapsed(title);
1213
- if (console.table) {
1214
- console.table(performance);
1215
- } else {
1216
- $.each(performance, function (index, data) {
1217
- console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
1218
- });
1219
- }
1189
+ console.table(performance);
1220
1190
  console.groupEnd();
1221
1191
  }
1222
1192
  performance = [];
1223
1193
  },
1224
1194
  },
1225
- invoke: function (query, passedArguments, context) {
1195
+ invoke: function (query, passedArguments = queryArguments, context = element) {
1226
1196
  let object = instance;
1227
1197
  let maxDepth;
1228
1198
  let found;
1229
1199
  let response;
1230
- passedArguments = passedArguments || queryArguments;
1231
- context = context || element;
1232
1200
  if (typeof query === 'string' && object !== undefined) {
1233
1201
  query = query.split(/[ .]/);
1234
1202
  maxDepth = query.length - 1;
1235
1203
  $.each(query, function (depth, value) {
1236
- let camelCaseValue = depth !== maxDepth
1204
+ const camelCaseValue = depth !== maxDepth
1237
1205
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1238
1206
  : query;
1239
1207
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
@@ -1276,7 +1244,7 @@
1276
1244
  if (instance === undefined) {
1277
1245
  module.initialize();
1278
1246
  }
1279
- module.invoke(query);
1247
+ module.invoke(parameters);
1280
1248
  } else {
1281
1249
  if (instance !== undefined) {
1282
1250
  instance.invoke('destroy');
@@ -1457,8 +1425,7 @@
1457
1425
 
1458
1426
  templates: {
1459
1427
  escape: function (string) {
1460
- const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
1461
- const escape = {
1428
+ const escapeMap = {
1462
1429
  '"': '&quot;',
1463
1430
  '&': '&amp;',
1464
1431
  "'": '&apos;',
@@ -1466,11 +1433,11 @@
1466
1433
  '>': '&gt;',
1467
1434
  };
1468
1435
 
1469
- return string.replace(badChars, (chr) => escape[chr]);
1436
+ return String(string).replace(/["&'<>]/g, (chr) => escapeMap[chr]);
1470
1437
  },
1471
1438
  popup: function (text) {
1472
1439
  let html = '';
1473
- let escape = $.fn.popup.settings.templates.escape;
1440
+ const escape = $.fn.popup.settings.templates.escape;
1474
1441
  if (text !== undefined) {
1475
1442
  if (text.title) {
1476
1443
  text.title = escape(text.title);