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

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 (362) hide show
  1. package/.eslintrc.js +6 -33
  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 +11 -8
  9. package/changelog-setup.js +88 -72
  10. package/changelog-template.hbs +256 -251
  11. package/dist/components/accordion.css +1 -1
  12. package/dist/components/accordion.js +116 -164
  13. package/dist/components/accordion.min.css +1 -1
  14. package/dist/components/accordion.min.js +2 -2
  15. package/dist/components/ad.css +1 -1
  16. package/dist/components/ad.min.css +1 -1
  17. package/dist/components/api.js +190 -303
  18. package/dist/components/api.min.js +2 -2
  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 +397 -482
  25. package/dist/components/calendar.min.css +2 -2
  26. package/dist/components/calendar.min.js +2 -2
  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 +105 -166
  31. package/dist/components/checkbox.min.css +1 -1
  32. package/dist/components/checkbox.min.js +2 -2
  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 +75 -121
  39. package/dist/components/dimmer.min.css +2 -2
  40. package/dist/components/dimmer.min.js +2 -2
  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 +775 -1161
  45. package/dist/components/dropdown.min.css +2 -2
  46. package/dist/components/dropdown.min.js +2 -2
  47. package/dist/components/embed.css +1 -1
  48. package/dist/components/embed.js +95 -146
  49. package/dist/components/embed.min.css +1 -1
  50. package/dist/components/embed.min.js +2 -2
  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 +242 -336
  59. package/dist/components/flyout.min.css +1 -1
  60. package/dist/components/flyout.min.js +2 -2
  61. package/dist/components/form.css +3 -5
  62. package/dist/components/form.js +425 -554
  63. package/dist/components/form.min.css +2 -2
  64. package/dist/components/form.min.js +2 -2
  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 +274 -369
  89. package/dist/components/modal.min.css +2 -2
  90. package/dist/components/modal.min.js +2 -2
  91. package/dist/components/nag.css +1 -1
  92. package/dist/components/nag.js +109 -153
  93. package/dist/components/nag.min.css +1 -1
  94. package/dist/components/nag.min.js +2 -2
  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 +210 -303
  99. package/dist/components/popup.min.css +2 -2
  100. package/dist/components/popup.min.js +2 -2
  101. package/dist/components/progress.css +4 -13
  102. package/dist/components/progress.js +128 -185
  103. package/dist/components/progress.min.css +2 -2
  104. package/dist/components/progress.min.js +2 -2
  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 +92 -145
  109. package/dist/components/rating.min.css +1 -1
  110. package/dist/components/rating.min.js +2 -2
  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 +311 -425
  117. package/dist/components/search.min.css +2 -2
  118. package/dist/components/search.min.js +2 -2
  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 +173 -249
  123. package/dist/components/shape.min.css +1 -1
  124. package/dist/components/shape.min.js +2 -2
  125. package/dist/components/sidebar.css +1 -1
  126. package/dist/components/sidebar.js +138 -199
  127. package/dist/components/sidebar.min.css +1 -1
  128. package/dist/components/sidebar.min.js +2 -2
  129. package/dist/components/site.css +1 -1
  130. package/dist/components/site.js +59 -99
  131. package/dist/components/site.min.css +1 -1
  132. package/dist/components/site.min.js +2 -2
  133. package/dist/components/slider.css +1 -1
  134. package/dist/components/slider.js +267 -364
  135. package/dist/components/slider.min.css +1 -1
  136. package/dist/components/slider.min.js +2 -2
  137. package/dist/components/state.js +88 -132
  138. package/dist/components/state.min.js +2 -2
  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 +163 -228
  145. package/dist/components/sticky.min.css +1 -1
  146. package/dist/components/sticky.min.js +2 -2
  147. package/dist/components/tab.css +1 -1
  148. package/dist/components/tab.js +192 -287
  149. package/dist/components/tab.min.css +1 -1
  150. package/dist/components/tab.min.js +2 -2
  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 +118 -155
  157. package/dist/components/toast.min.css +1 -1
  158. package/dist/components/toast.min.js +2 -2
  159. package/dist/components/transition.css +1 -1
  160. package/dist/components/transition.js +114 -193
  161. package/dist/components/transition.min.css +1 -1
  162. package/dist/components/transition.min.js +2 -2
  163. package/dist/components/visibility.js +175 -271
  164. package/dist/components/visibility.min.js +2 -2
  165. package/dist/semantic.css +4479 -8221
  166. package/dist/semantic.js +5023 -7182
  167. package/dist/semantic.min.css +2 -2
  168. package/dist/semantic.min.js +2 -2
  169. package/examples/assets/show-examples.js +2 -4
  170. package/examples/attached.html +1 -1
  171. package/examples/components/menu.html +1 -1
  172. package/gulpfile.js +5 -7
  173. package/package.json +4 -5
  174. package/scripts/nightly-version.js +11 -14
  175. package/src/definitions/behaviors/api.js +189 -302
  176. package/src/definitions/behaviors/form.js +426 -555
  177. package/src/definitions/behaviors/state.js +87 -131
  178. package/src/definitions/behaviors/visibility.js +174 -270
  179. package/src/definitions/collections/breadcrumb.less +0 -1
  180. package/src/definitions/collections/form.less +3 -9
  181. package/src/definitions/collections/grid.less +1 -2
  182. package/src/definitions/collections/menu.less +106 -117
  183. package/src/definitions/collections/message.less +1 -2
  184. package/src/definitions/collections/table.less +7 -8
  185. package/src/definitions/elements/button.less +4 -6
  186. package/src/definitions/elements/container.less +0 -1
  187. package/src/definitions/elements/divider.less +1 -2
  188. package/src/definitions/elements/emoji.less +1 -1
  189. package/src/definitions/elements/flag.less +1 -1
  190. package/src/definitions/elements/header.less +4 -5
  191. package/src/definitions/elements/icon.less +10 -37
  192. package/src/definitions/elements/image.less +0 -1
  193. package/src/definitions/elements/input.less +4 -7
  194. package/src/definitions/elements/label.less +5 -14
  195. package/src/definitions/elements/list.less +2 -3
  196. package/src/definitions/elements/loader.less +10 -11
  197. package/src/definitions/elements/placeholder.less +1 -2
  198. package/src/definitions/elements/rail.less +0 -1
  199. package/src/definitions/elements/reveal.less +1 -5
  200. package/src/definitions/elements/segment.less +5 -6
  201. package/src/definitions/elements/step.less +3 -4
  202. package/src/definitions/elements/text.less +0 -1
  203. package/src/definitions/globals/reset.less +0 -1
  204. package/src/definitions/globals/site.js +58 -98
  205. package/src/definitions/globals/site.less +0 -1
  206. package/src/definitions/modules/accordion.js +115 -163
  207. package/src/definitions/modules/accordion.less +0 -1
  208. package/src/definitions/modules/calendar.js +396 -481
  209. package/src/definitions/modules/calendar.less +2 -3
  210. package/src/definitions/modules/checkbox.js +104 -165
  211. package/src/definitions/modules/checkbox.less +0 -1
  212. package/src/definitions/modules/dimmer.js +74 -120
  213. package/src/definitions/modules/dimmer.less +1 -2
  214. package/src/definitions/modules/dropdown.js +774 -1160
  215. package/src/definitions/modules/dropdown.less +27 -38
  216. package/src/definitions/modules/embed.js +94 -145
  217. package/src/definitions/modules/embed.less +0 -1
  218. package/src/definitions/modules/flyout.js +241 -335
  219. package/src/definitions/modules/flyout.less +0 -1
  220. package/src/definitions/modules/modal.js +273 -368
  221. package/src/definitions/modules/modal.less +3 -4
  222. package/src/definitions/modules/nag.js +108 -152
  223. package/src/definitions/modules/nag.less +0 -1
  224. package/src/definitions/modules/popup.js +209 -302
  225. package/src/definitions/modules/popup.less +18 -73
  226. package/src/definitions/modules/progress.js +127 -184
  227. package/src/definitions/modules/progress.less +3 -13
  228. package/src/definitions/modules/rating.js +93 -146
  229. package/src/definitions/modules/rating.less +0 -1
  230. package/src/definitions/modules/search.js +312 -426
  231. package/src/definitions/modules/search.less +2 -4
  232. package/src/definitions/modules/shape.js +172 -248
  233. package/src/definitions/modules/shape.less +0 -1
  234. package/src/definitions/modules/sidebar.js +137 -198
  235. package/src/definitions/modules/sidebar.less +0 -1
  236. package/src/definitions/modules/slider.js +266 -363
  237. package/src/definitions/modules/slider.less +0 -1
  238. package/src/definitions/modules/sticky.js +162 -227
  239. package/src/definitions/modules/sticky.less +0 -1
  240. package/src/definitions/modules/tab.js +191 -286
  241. package/src/definitions/modules/tab.less +0 -1
  242. package/src/definitions/modules/toast.js +117 -154
  243. package/src/definitions/modules/toast.less +0 -1
  244. package/src/definitions/modules/transition.js +113 -192
  245. package/src/definitions/modules/transition.less +1 -2
  246. package/src/definitions/views/ad.less +0 -1
  247. package/src/definitions/views/card.less +0 -1
  248. package/src/definitions/views/comment.less +0 -1
  249. package/src/definitions/views/feed.less +0 -1
  250. package/src/definitions/views/item.less +0 -1
  251. package/src/definitions/views/statistic.less +0 -1
  252. package/src/semantic.less +1 -1
  253. package/src/themes/amazon/elements/button.overrides +1 -1
  254. package/src/themes/amazon/elements/button.variables +5 -6
  255. package/src/themes/amazon/globals/site.variables +2 -3
  256. package/src/themes/bookish/elements/header.variables +2 -2
  257. package/src/themes/bootstrap3/elements/button.variables +4 -5
  258. package/src/themes/chubby/collections/menu.variables +1 -1
  259. package/src/themes/chubby/elements/button.overrides +4 -4
  260. package/src/themes/chubby/modules/accordion.overrides +1 -1
  261. package/src/themes/chubby/views/comment.overrides +2 -2
  262. package/src/themes/chubby/views/comment.variables +2 -2
  263. package/src/themes/classic/collections/table.variables +2 -2
  264. package/src/themes/classic/elements/button.variables +11 -11
  265. package/src/themes/classic/modules/progress.variables +2 -2
  266. package/src/themes/classic/views/card.variables +2 -2
  267. package/src/themes/default/collections/form.variables +2 -3
  268. package/src/themes/default/collections/menu.variables +28 -28
  269. package/src/themes/default/collections/message.variables +1 -1
  270. package/src/themes/default/collections/table.variables +4 -4
  271. package/src/themes/default/elements/button.variables +9 -10
  272. package/src/themes/default/elements/divider.variables +1 -1
  273. package/src/themes/default/elements/icon.variables +2 -2
  274. package/src/themes/default/elements/image.variables +1 -1
  275. package/src/themes/default/elements/input.variables +2 -2
  276. package/src/themes/default/elements/label.variables +4 -4
  277. package/src/themes/default/elements/list.variables +1 -1
  278. package/src/themes/default/elements/placeholder.variables +6 -6
  279. package/src/themes/default/elements/segment.variables +8 -8
  280. package/src/themes/default/globals/reset.overrides +45 -201
  281. package/src/themes/default/globals/site.variables +50 -50
  282. package/src/themes/default/globals/variation.variables +3 -2
  283. package/src/themes/default/modules/accordion.variables +0 -1
  284. package/src/themes/default/modules/checkbox.variables +1 -1
  285. package/src/themes/default/modules/dimmer.variables +12 -12
  286. package/src/themes/default/modules/dropdown.variables +17 -16
  287. package/src/themes/default/modules/embed.variables +2 -2
  288. package/src/themes/default/modules/flyout.variables +3 -3
  289. package/src/themes/default/modules/modal.variables +14 -14
  290. package/src/themes/default/modules/nag.variables +1 -1
  291. package/src/themes/default/modules/rating.variables +1 -1
  292. package/src/themes/default/modules/search.variables +1 -1
  293. package/src/themes/default/modules/shape.variables +1 -1
  294. package/src/themes/default/modules/sidebar.variables +2 -2
  295. package/src/themes/default/modules/toast.variables +4 -4
  296. package/src/themes/default/views/card.variables +6 -7
  297. package/src/themes/default/views/feed.variables +4 -4
  298. package/src/themes/default/views/item.variables +2 -3
  299. package/src/themes/flat/collections/form.variables +1 -1
  300. package/src/themes/flat/globals/site.variables +9 -9
  301. package/src/themes/github/collections/form.overrides +3 -3
  302. package/src/themes/github/collections/form.variables +3 -3
  303. package/src/themes/github/collections/menu.overrides +1 -1
  304. package/src/themes/github/collections/menu.variables +10 -10
  305. package/src/themes/github/collections/message.variables +6 -6
  306. package/src/themes/github/elements/button.variables +17 -17
  307. package/src/themes/github/elements/input.variables +3 -3
  308. package/src/themes/github/elements/segment.variables +2 -2
  309. package/src/themes/github/elements/step.overrides +4 -4
  310. package/src/themes/github/elements/step.variables +3 -3
  311. package/src/themes/github/globals/site.variables +2 -2
  312. package/src/themes/github/modules/dropdown.variables +1 -3
  313. package/src/themes/gmail/collections/message.variables +2 -2
  314. package/src/themes/material/collections/menu.variables +1 -1
  315. package/src/themes/material/elements/button.overrides +4 -4
  316. package/src/themes/material/elements/button.variables +5 -5
  317. package/src/themes/material/modules/dropdown.variables +1 -1
  318. package/src/themes/material/modules/modal.variables +1 -1
  319. package/src/themes/raised/elements/button.variables +1 -1
  320. package/src/themes/round/elements/button.variables +12 -12
  321. package/src/themes/striped/modules/progress.overrides +3 -3
  322. package/src/themes/timeline/views/feed.variables +2 -2
  323. package/src/themes/twitter/elements/button.overrides +1 -1
  324. package/src/themes/twitter/elements/button.variables +4 -5
  325. package/tasks/admin/components/create.js +87 -110
  326. package/tasks/admin/components/init.js +26 -33
  327. package/tasks/admin/components/update.js +46 -54
  328. package/tasks/admin/distributions/create.js +74 -125
  329. package/tasks/admin/distributions/init.js +27 -34
  330. package/tasks/admin/distributions/update.js +45 -53
  331. package/tasks/admin/register.js +11 -15
  332. package/tasks/build/assets.js +14 -18
  333. package/tasks/build/css.js +59 -68
  334. package/tasks/build/javascript.js +46 -54
  335. package/tasks/build.js +4 -6
  336. package/tasks/check-install.js +5 -7
  337. package/tasks/clean.js +2 -4
  338. package/tasks/collections/admin.js +13 -15
  339. package/tasks/collections/build.js +6 -8
  340. package/tasks/collections/docs.js +2 -4
  341. package/tasks/collections/install.js +2 -4
  342. package/tasks/collections/rtl.js +2 -4
  343. package/tasks/collections/various.js +2 -4
  344. package/tasks/config/admin/github.js +8 -10
  345. package/tasks/config/admin/templates/css-package.js +1 -3
  346. package/tasks/config/admin/templates/less-package.js +1 -3
  347. package/tasks/config/npm/gulpfile.js +4 -6
  348. package/tasks/config/project/config.js +26 -34
  349. package/tasks/config/project/install.js +58 -72
  350. package/tasks/config/project/release.js +7 -15
  351. package/tasks/config/tasks.js +23 -24
  352. package/tasks/config/user.js +9 -16
  353. package/tasks/docs/build.js +26 -31
  354. package/tasks/docs/metadata.js +35 -43
  355. package/tasks/docs/serve.js +20 -26
  356. package/tasks/install.js +77 -102
  357. package/tasks/rtl/build.js +2 -4
  358. package/tasks/rtl/watch.js +2 -4
  359. package/tasks/watch.js +9 -11
  360. package/test/meteor/assets.js +4 -4
  361. package/test/meteor/fonts.js +11 -13
  362. package/test/modules/module.spec.js +25 -27
@@ -528,5 +528,4 @@
528
528
  });
529
529
  }
530
530
 
531
- // stylelint-disable no-invalid-position-at-import-rule
532
531
  @import (multiple, optional) "../../overrides.less";
@@ -19,62 +19,57 @@
19
19
  ? window
20
20
  : globalThis;
21
21
 
22
- $.fn.sticky = function (parameters) {
23
- var
24
- $allModules = $(this),
25
- $document = $(document),
26
-
27
- time = Date.now(),
28
- performance = [],
29
-
30
- query = arguments[0],
31
- methodInvoked = typeof query === 'string',
32
- queryArguments = [].slice.call(arguments, 1),
33
- contextCheck = function (context, win) {
34
- var $context;
35
- if ([window, document].indexOf(context) >= 0) {
36
- $context = $(context);
37
- } else {
38
- $context = $(win.document).find(context);
39
- if ($context.length === 0) {
40
- $context = win.frameElement ? contextCheck(context, win.parent) : window;
41
- }
22
+ $.fn.sticky = function (...args) {
23
+ const $allModules = $(this);
24
+ const $document = $(document);
25
+
26
+ let time = Date.now();
27
+ let performance = [];
28
+
29
+ const parameters = args[0];
30
+ const methodInvoked = typeof parameters === 'string';
31
+ const queryArguments = args.slice(1);
32
+ const contextCheck = function (context, win) {
33
+ let $context;
34
+ if ([window, document].includes(context)) {
35
+ $context = $(context);
36
+ } else {
37
+ $context = $(win.document).find(context);
38
+ if ($context.length === 0) {
39
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
42
40
  }
41
+ }
43
42
 
44
- return $context;
45
- },
46
- returnedValue
47
- ;
43
+ return $context;
44
+ };
45
+ let returnedValue;
48
46
 
49
47
  $allModules.each(function () {
50
- var
51
- settings = $.isPlainObject(parameters)
52
- ? $.extend(true, {}, $.fn.sticky.settings, parameters)
53
- : $.extend({}, $.fn.sticky.settings),
48
+ const settings = $.isPlainObject(parameters)
49
+ ? $.extend(true, {}, $.fn.sticky.settings, parameters)
50
+ : $.extend({}, $.fn.sticky.settings);
54
51
 
55
- className = settings.className,
56
- namespace = settings.namespace,
57
- error = settings.error,
52
+ const className = settings.className;
53
+ const namespace = settings.namespace;
54
+ const error = settings.error;
58
55
 
59
- eventNamespace = '.' + namespace,
60
- moduleNamespace = 'module-' + namespace,
56
+ const eventNamespace = '.' + namespace;
57
+ const moduleNamespace = 'module-' + namespace;
61
58
 
62
- $module = $(this),
63
- $window = $(window),
64
- $scroll = contextCheck(settings.scrollContext, window),
65
- $container,
66
- $context,
59
+ const $module = $(this);
60
+ const $window = $(window);
61
+ const $scroll = contextCheck(settings.scrollContext, window);
62
+ let $container;
63
+ let $context;
67
64
 
68
- instance = $module.data(moduleNamespace),
65
+ let instance = $module.data(moduleNamespace);
69
66
 
70
- element = this,
67
+ const element = this;
71
68
 
72
- documentObserver,
73
- observer,
74
- module
75
- ;
69
+ let documentObserver;
70
+ let observer;
76
71
 
77
- module = {
72
+ const module = {
78
73
 
79
74
  initialize: function () {
80
75
  module.determineContainer();
@@ -95,8 +90,7 @@
95
90
  module.verbose('Storing instance of module', module);
96
91
  instance = module;
97
92
  $module
98
- .data(moduleNamespace, module)
99
- ;
93
+ .data(moduleNamespace, module);
100
94
  },
101
95
 
102
96
  destroy: function () {
@@ -110,32 +104,28 @@
110
104
  }
111
105
  $window
112
106
  .off('load' + eventNamespace, module.event.load)
113
- .off('resize' + eventNamespace, module.event.resize)
114
- ;
107
+ .off('resize' + eventNamespace, module.event.resize);
115
108
  $scroll
116
- .off('scrollchange' + eventNamespace, module.event.scrollchange)
117
- ;
109
+ .off('scrollchange' + eventNamespace, module.event.scrollchange);
118
110
  $module.removeData(moduleNamespace);
119
111
  },
120
112
 
121
113
  observeChanges: function () {
122
- if ('MutationObserver' in window) {
123
- documentObserver = new MutationObserver(module.event.documentChanged);
124
- observer = new MutationObserver(module.event.changed);
125
- documentObserver.observe(document, {
126
- childList: true,
127
- subtree: true,
128
- });
129
- observer.observe(element, {
130
- childList: true,
131
- subtree: true,
132
- });
133
- observer.observe($context[0], {
134
- childList: true,
135
- subtree: true,
136
- });
137
- module.debug('Setting up mutation observer', observer);
138
- }
114
+ documentObserver = new MutationObserver(module.event.documentChanged);
115
+ observer = new MutationObserver(module.event.changed);
116
+ documentObserver.observe(document, {
117
+ childList: true,
118
+ subtree: true,
119
+ });
120
+ observer.observe(element, {
121
+ childList: true,
122
+ subtree: true,
123
+ });
124
+ observer.observe($context[0], {
125
+ childList: true,
126
+ subtree: true,
127
+ });
128
+ module.debug('Setting up mutation observer', observer);
139
129
  },
140
130
 
141
131
  determineContainer: function () {
@@ -163,14 +153,12 @@
163
153
  events: function () {
164
154
  $window
165
155
  .on('load' + eventNamespace, module.event.load)
166
- .on('resize' + eventNamespace, module.event.resize)
167
- ;
156
+ .on('resize' + eventNamespace, module.event.resize);
168
157
  // pub/sub pattern
169
158
  $scroll
170
159
  .off('scroll' + eventNamespace)
171
160
  .on('scroll' + eventNamespace, module.event.scroll)
172
- .on('scrollchange' + eventNamespace, module.event.scrollchange)
173
- ;
161
+ .on('scrollchange' + eventNamespace, module.event.scrollchange);
174
162
  },
175
163
  },
176
164
 
@@ -183,16 +171,14 @@
183
171
  }, 100);
184
172
  },
185
173
  documentChanged: function (mutations) {
186
- [].forEach.call(mutations, function (mutation) {
187
- if (mutation.removedNodes) {
188
- [].forEach.call(mutation.removedNodes, function (node) {
189
- if (node === element || $(node).find(element).length > 0) {
190
- module.debug('Element removed from DOM, tearing down events');
191
- module.destroy();
192
- }
193
- });
174
+ for (const mutation of mutations) {
175
+ for (const node of mutation.removedNodes) {
176
+ if (node === element || $(node).find(element).length > 0) {
177
+ module.debug('Element removed from DOM, tearing down events');
178
+ module.destroy();
179
+ }
194
180
  }
195
- });
181
+ }
196
182
  },
197
183
  load: function () {
198
184
  module.verbose('Page contents finished loading');
@@ -228,9 +214,7 @@
228
214
 
229
215
  supports: {
230
216
  sticky: function () {
231
- var
232
- $element = $('<div/>')
233
- ;
217
+ const $element = $('<div/>');
234
218
  $element.addClass(className.supported);
235
219
 
236
220
  return $element.css('position').match('sticky');
@@ -245,24 +229,22 @@
245
229
  module.elementScroll = scroll;
246
230
  },
247
231
  positions: function () {
248
- var
249
- scrollContext = {
250
- height: $scroll.height(),
251
- },
252
- element = {
253
- margin: {
254
- top: parseInt($module.css('margin-top'), 10),
255
- bottom: parseInt($module.css('margin-bottom'), 10),
256
- },
257
- offset: $module.offset(),
258
- width: $module.outerWidth(),
259
- height: $module.outerHeight(),
232
+ const scrollContext = {
233
+ height: $scroll.height(),
234
+ };
235
+ const element = {
236
+ margin: {
237
+ top: Number.parseInt($module.css('margin-top'), 10),
238
+ bottom: Number.parseInt($module.css('margin-bottom'), 10),
260
239
  },
261
- context = {
262
- offset: $context.offset(),
263
- height: $context.outerHeight(),
264
- }
265
- ;
240
+ offset: $module.offset(),
241
+ width: $module.outerWidth(),
242
+ height: $module.outerHeight(),
243
+ };
244
+ const context = {
245
+ offset: $context.offset(),
246
+ height: $context.outerHeight(),
247
+ };
266
248
  if (!module.is.standardScroll()) {
267
249
  module.debug('Non-standard scroll. Removing scroll offset from element offset');
268
250
 
@@ -302,20 +284,15 @@
302
284
  },
303
285
 
304
286
  get: {
305
- direction: function (scroll) {
306
- var
307
- direction = 'down'
308
- ;
309
- scroll = scroll || $scroll.scrollTop();
287
+ direction: function (scroll = $scroll.scrollTop()) {
288
+ let direction = 'down';
310
289
  if (module.lastScroll && module.lastScroll > scroll) {
311
290
  direction = 'up';
312
291
  }
313
292
 
314
293
  return direction;
315
294
  },
316
- scrollChange: function (scroll) {
317
- scroll = scroll || $scroll.scrollTop();
318
-
295
+ scrollChange: function (scroll = $scroll.scrollTop()) {
319
296
  return module.lastScroll
320
297
  ? scroll - module.lastScroll
321
298
  : 0;
@@ -326,20 +303,17 @@
326
303
  }
327
304
 
328
305
  return module.is.top()
329
- ? Math.abs(parseInt($module.css('top'), 10)) || 0
330
- : Math.abs(parseInt($module.css('bottom'), 10)) || 0;
306
+ ? Math.abs(Number.parseInt($module.css('top'), 10)) || 0
307
+ : Math.abs(Number.parseInt($module.css('bottom'), 10)) || 0;
331
308
  },
332
309
 
333
- elementScroll: function (scroll) {
334
- scroll = scroll || $scroll.scrollTop();
335
- var
336
- element = module.cache.element,
337
- scrollContext = module.cache.scrollContext,
338
- delta = module.get.scrollChange(scroll),
339
- maxScroll = element.height - scrollContext.height + settings.offset,
340
- elementScroll = module.get.currentElementScroll(),
341
- possibleScroll = elementScroll + delta
342
- ;
310
+ elementScroll: function (scroll = $scroll.scrollTop()) {
311
+ const element = module.cache.element;
312
+ const scrollContext = module.cache.scrollContext;
313
+ const delta = module.get.scrollChange(scroll);
314
+ const maxScroll = element.height - scrollContext.height + settings.offset;
315
+ let elementScroll = module.get.currentElementScroll();
316
+ const possibleScroll = elementScroll + delta;
343
317
  if (module.cache.fits || possibleScroll < 0) {
344
318
  elementScroll = 0;
345
319
  } else if (possibleScroll > maxScroll) {
@@ -361,8 +335,7 @@
361
335
  },
362
336
  minimumSize: function () {
363
337
  $container
364
- .css('min-height', '')
365
- ;
338
+ .css('min-height', '');
366
339
  },
367
340
  offset: function () {
368
341
  $module.css('margin-top', '');
@@ -373,17 +346,14 @@
373
346
  offset: function () {
374
347
  module.verbose('Setting offset on element', settings.offset);
375
348
  $module
376
- .css('margin-top', settings.offset)
377
- ;
349
+ .css('margin-top', settings.offset);
378
350
  },
379
351
  containerSize: function () {
380
- var
381
- tagName = $container[0].tagName
382
- ;
352
+ const tagName = $container[0].tagName;
383
353
  if (tagName === 'HTML' || tagName === 'body') {
384
354
  module.determineContainer();
385
355
  } else {
386
- var tallestHeight = Math.max(module.cache.context.height, module.cache.element.height);
356
+ const tallestHeight = Math.max(module.cache.context.height, module.cache.element.height);
387
357
  if (tallestHeight - $container.outerHeight() > settings.jitter) {
388
358
  module.debug('Context is taller than container. Specifying exact height for container', module.cache.context.height);
389
359
  $container.css({
@@ -403,12 +373,9 @@
403
373
  }
404
374
  },
405
375
  minimumSize: function () {
406
- var
407
- element = module.cache.element
408
- ;
376
+ const element = module.cache.element;
409
377
  $container
410
- .css('min-height', element.height)
411
- ;
378
+ .css('min-height', element.height);
412
379
  },
413
380
  scroll: function (scroll) {
414
381
  module.debug('Setting scroll on element', scroll);
@@ -418,14 +385,12 @@
418
385
  if (module.is.top()) {
419
386
  $module
420
387
  .css('bottom', '')
421
- .css('top', -scroll + 'px')
422
- ;
388
+ .css('top', -scroll + 'px');
423
389
  }
424
390
  if (module.is.bottom()) {
425
391
  $module
426
392
  .css('top', '')
427
- .css('bottom', scroll + 'px')
428
- ;
393
+ .css('bottom', scroll + 'px');
429
394
  }
430
395
  },
431
396
  size: function () {
@@ -460,30 +425,27 @@
460
425
  },
461
426
  },
462
427
 
463
- stick: function (scrollPosition) {
464
- var
465
- cachedPosition = scrollPosition || $scroll.scrollTop(),
466
- cache = module.cache,
467
- fits = cache.fits,
468
- sameHeight = cache.sameHeight,
469
- element = cache.element,
470
- scrollContext = cache.scrollContext,
471
- context = cache.context,
472
- offset = module.is.bottom() && settings.pushing
473
- ? settings.bottomOffset
474
- : settings.offset,
475
- scroll = {
476
- top: cachedPosition + offset,
477
- bottom: cachedPosition + offset + scrollContext.height,
478
- },
479
- elementScroll = fits
480
- ? 0
481
- : module.get.elementScroll(scroll.top),
482
-
483
- // shorthand
484
- doesntFit = !fits,
485
- elementVisible = element.height !== 0
486
- ;
428
+ stick: function (scrollPosition = $scroll.scrollTop()) {
429
+ const cache = module.cache;
430
+ const fits = cache.fits;
431
+ const sameHeight = cache.sameHeight;
432
+ const element = cache.element;
433
+ const scrollContext = cache.scrollContext;
434
+ const context = cache.context;
435
+ const offset = module.is.bottom() && settings.pushing
436
+ ? settings.bottomOffset
437
+ : settings.offset;
438
+ const scroll = {
439
+ top: scrollPosition + offset,
440
+ bottom: scrollPosition + offset + scrollContext.height,
441
+ };
442
+ const elementScroll = fits
443
+ ? 0
444
+ : module.get.elementScroll(scroll.top);
445
+
446
+ // shorthand
447
+ const doesntFit = !fits;
448
+ const elementVisible = element.height !== 0;
487
449
  if (elementVisible && !sameHeight) {
488
450
  if (module.is.initialPosition()) {
489
451
  if (scroll.top >= context.bottom) {
@@ -528,18 +490,14 @@
528
490
  if (scroll.top <= element.top) {
529
491
  module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button');
530
492
  module.setInitialPosition();
531
- } else {
532
- if (settings.pushing) {
533
- if (module.is.bound() && scroll.bottom <= context.bottom) {
534
- module.debug('Fixing bottom attached element to bottom of browser.');
535
- module.fixBottom();
536
- }
537
- } else {
538
- if (module.is.bound() && (scroll.top <= context.bottom - element.height)) {
539
- module.debug('Fixing bottom attached element to top of browser.');
540
- module.fixTop();
541
- }
493
+ } else if (settings.pushing) {
494
+ if (module.is.bound() && scroll.bottom <= context.bottom) {
495
+ module.debug('Fixing bottom attached element to bottom of browser.');
496
+ module.fixBottom();
542
497
  }
498
+ } else if (module.is.bound() && (scroll.top <= context.bottom - element.height)) {
499
+ module.debug('Fixing bottom attached element to top of browser.');
500
+ module.fixTop();
543
501
  }
544
502
  }
545
503
  }
@@ -560,8 +518,7 @@
560
518
  .removeClass(className.fixed)
561
519
  .removeClass(className.bottom)
562
520
  .addClass(className.bound)
563
- .addClass(className.top)
564
- ;
521
+ .addClass(className.top);
565
522
  settings.onTop.call(element);
566
523
  settings.onUnstick.call(element);
567
524
  },
@@ -579,8 +536,7 @@
579
536
  .removeClass(className.fixed)
580
537
  .removeClass(className.top)
581
538
  .addClass(className.bound)
582
- .addClass(className.bottom)
583
- ;
539
+ .addClass(className.bottom);
584
540
  settings.onBottom.call(element);
585
541
  settings.onUnstick.call(element);
586
542
  },
@@ -607,8 +563,7 @@
607
563
  .removeClass(className.bound)
608
564
  .removeClass(className.bottom)
609
565
  .addClass(className.fixed)
610
- .addClass(className.top)
611
- ;
566
+ .addClass(className.top);
612
567
  settings.onStick.call(element);
613
568
  },
614
569
 
@@ -628,8 +583,7 @@
628
583
  .removeClass(className.bound)
629
584
  .removeClass(className.top)
630
585
  .addClass(className.fixed)
631
- .addClass(className.bottom)
632
- ;
586
+ .addClass(className.bottom);
633
587
  settings.onStick.call(element);
634
588
  },
635
589
 
@@ -640,8 +594,7 @@
640
594
  $module
641
595
  .removeClass(className.bound)
642
596
  .removeClass(className.top)
643
- .removeClass(className.bottom)
644
- ;
597
+ .removeClass(className.bottom);
645
598
  }
646
599
  },
647
600
 
@@ -653,8 +606,7 @@
653
606
  $module
654
607
  .removeClass(className.fixed)
655
608
  .removeClass(className.top)
656
- .removeClass(className.bottom)
657
- ;
609
+ .removeClass(className.bottom);
658
610
  settings.onUnstick.call(element);
659
611
  }
660
612
  },
@@ -673,13 +625,11 @@
673
625
  .css({
674
626
  width: '',
675
627
  height: '',
676
- })
677
- ;
628
+ });
678
629
  $container
679
630
  .css({
680
631
  height: '',
681
- })
682
- ;
632
+ });
683
633
  },
684
634
 
685
635
  setting: function (name, value) {
@@ -700,39 +650,37 @@
700
650
  return module[name];
701
651
  }
702
652
  },
703
- debug: function () {
653
+ debug: function (...args) {
704
654
  if (!settings.silent && settings.debug) {
705
655
  if (settings.performance) {
706
- module.performance.log(arguments);
656
+ module.performance.log(args);
707
657
  } else {
708
658
  module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
709
- module.debug.apply(console, arguments);
659
+ module.debug.apply(console, args);
710
660
  }
711
661
  }
712
662
  },
713
- verbose: function () {
663
+ verbose: function (...args) {
714
664
  if (!settings.silent && settings.verbose && settings.debug) {
715
665
  if (settings.performance) {
716
- module.performance.log(arguments);
666
+ module.performance.log(args);
717
667
  } else {
718
668
  module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
719
- module.verbose.apply(console, arguments);
669
+ module.verbose.apply(console, args);
720
670
  }
721
671
  }
722
672
  },
723
- error: function () {
673
+ error: function (...args) {
724
674
  if (!settings.silent) {
725
675
  module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
726
- module.error.apply(console, arguments);
676
+ module.error.apply(console, args);
727
677
  }
728
678
  },
729
679
  performance: {
730
680
  log: function (message) {
731
- var
732
- currentTime,
733
- executionTime,
734
- previousTime
735
- ;
681
+ let currentTime;
682
+ let executionTime;
683
+ let previousTime;
736
684
  if (settings.performance) {
737
685
  currentTime = Date.now();
738
686
  previousTime = time || currentTime;
@@ -740,7 +688,7 @@
740
688
  time = currentTime;
741
689
  performance.push({
742
690
  Name: message[0],
743
- Arguments: [].slice.call(message, 1) || '',
691
+ Arguments: message.slice(1),
744
692
  Element: element,
745
693
  'Execution Time': executionTime,
746
694
  });
@@ -751,10 +699,8 @@
751
699
  }, 0);
752
700
  },
753
701
  display: function () {
754
- var
755
- title = settings.name + ':',
756
- totalTime = 0
757
- ;
702
+ let title = settings.name + ':';
703
+ let totalTime = 0;
758
704
  time = false;
759
705
  clearTimeout(module.performance.timer);
760
706
  $.each(performance, function (index, data) {
@@ -763,35 +709,24 @@
763
709
  title += ' ' + totalTime + 'ms';
764
710
  if (performance.length > 0) {
765
711
  console.groupCollapsed(title);
766
- if (console.table) {
767
- console.table(performance);
768
- } else {
769
- $.each(performance, function (index, data) {
770
- console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
771
- });
772
- }
712
+ console.table(performance);
773
713
  console.groupEnd();
774
714
  }
775
715
  performance = [];
776
716
  },
777
717
  },
778
- invoke: function (query, passedArguments, context) {
779
- var
780
- object = instance,
781
- maxDepth,
782
- found,
783
- response
784
- ;
785
- passedArguments = passedArguments || queryArguments;
786
- context = context || element;
718
+ invoke: function (query, passedArguments = queryArguments, context = element) {
719
+ let object = instance;
720
+ let maxDepth;
721
+ let found;
722
+ let response;
787
723
  if (typeof query === 'string' && object !== undefined) {
788
724
  query = query.split(/[ .]/);
789
725
  maxDepth = query.length - 1;
790
726
  $.each(query, function (depth, value) {
791
- var camelCaseValue = depth !== maxDepth
727
+ const camelCaseValue = depth !== maxDepth
792
728
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
793
- : query
794
- ;
729
+ : query;
795
730
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
796
731
  object = object[camelCaseValue];
797
732
  } else if (object[camelCaseValue] !== undefined) {
@@ -832,7 +767,7 @@
832
767
  if (instance === undefined) {
833
768
  module.initialize();
834
769
  }
835
- module.invoke(query);
770
+ module.invoke(parameters);
836
771
  } else {
837
772
  if (instance !== undefined) {
838
773
  instance.invoke('destroy');
@@ -65,5 +65,4 @@
65
65
  position: sticky;
66
66
  }
67
67
 
68
- // stylelint-disable no-invalid-position-at-import-rule
69
68
  @import (multiple, optional) "../../overrides.less";