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
@@ -23,21 +23,21 @@
23
23
  ? window
24
24
  : globalThis;
25
25
 
26
- $.fn.tab = function (parameters) {
26
+ $.fn.tab = function (...args) {
27
27
  // use window context if none specified
28
- let $allModules = isFunction(this)
28
+ const $allModules = isFunction(this)
29
29
  ? $(window)
30
30
  : $(this);
31
- let $document = $(document);
31
+ const $document = $(document);
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);
@@ -52,36 +52,34 @@
52
52
  let returnedValue;
53
53
 
54
54
  $allModules.each(function () {
55
- let settings = $.isPlainObject(parameters)
55
+ const settings = $.isPlainObject(parameters)
56
56
  ? $.extend(true, {}, $.fn.tab.settings, parameters)
57
57
  : $.extend({}, $.fn.tab.settings);
58
58
 
59
- let className = settings.className;
60
- let metadata = settings.metadata;
61
- let selector = settings.selector;
62
- let error = settings.error;
63
- let regExp = settings.regExp;
59
+ const className = settings.className;
60
+ const metadata = settings.metadata;
61
+ const selector = settings.selector;
62
+ const error = settings.error;
64
63
 
65
- let eventNamespace = '.' + settings.namespace;
66
- let moduleNamespace = 'module-' + settings.namespace;
64
+ const eventNamespace = '.' + settings.namespace;
65
+ const moduleNamespace = 'module-' + settings.namespace;
67
66
 
68
- let $module = $(this);
67
+ const $module = $(this);
69
68
  let $context;
70
69
  let $tabs;
71
70
 
72
- let cache = {};
71
+ const cache = {};
73
72
  let firstLoad = true;
74
73
  let recursionDepth = 0;
75
- let element = this;
74
+ const element = this;
76
75
  let instance = $module.data(moduleNamespace);
77
76
 
78
77
  let activeTabPath;
79
78
  let parameterArray;
80
- let module;
81
79
 
82
80
  let historyEvent;
83
81
 
84
- module = {
82
+ const module = {
85
83
 
86
84
  initialize: function () {
87
85
  module.debug('Initializing tab menu item', $module);
@@ -106,7 +104,7 @@
106
104
  module.changeTab(activeTab);
107
105
  }
108
106
  if (activeTab !== null && settings.history && settings.historyType === 'state') {
109
- let autoUpdate = $.address.autoUpdate();
107
+ const autoUpdate = $.address.autoUpdate();
110
108
  $.address.autoUpdate(false);
111
109
  $.address.value(activeTab);
112
110
  $.address.autoUpdate(autoUpdate);
@@ -197,7 +195,7 @@
197
195
 
198
196
  event: {
199
197
  click: function (event) {
200
- let tabPath = $(this).data(metadata.tab);
198
+ const tabPath = $(this).data(metadata.tab);
201
199
  if (tabPath !== undefined) {
202
200
  if (settings.history) {
203
201
  module.verbose('Updating page state', event);
@@ -213,8 +211,8 @@
213
211
  },
214
212
  history: {
215
213
  change: function (event) {
216
- let tabPath = event.pathNames.join('/') || module.get.initialPath();
217
- let pageTitle = settings.templates.determineTitle(tabPath) || false;
214
+ const tabPath = event.pathNames.join('/') || module.get.initialPath();
215
+ const pageTitle = settings.templates.determineTitle(tabPath) || false;
218
216
  module.performance.display();
219
217
  module.debug('History change event', tabPath, event);
220
218
  historyEvent = event;
@@ -242,13 +240,11 @@
242
240
  ? cache[cacheKey]
243
241
  : false;
244
242
  },
245
- add: function (cacheKey, content) {
246
- cacheKey = cacheKey || activeTabPath;
243
+ add: function (cacheKey = activeTabPath, content = '') {
247
244
  module.debug('Adding cached content for', cacheKey);
248
245
  cache[cacheKey] = content;
249
246
  },
250
- remove: function (cacheKey) {
251
- cacheKey = cacheKey || activeTabPath;
247
+ remove: function (cacheKey = activeTabPath) {
252
248
  module.debug('Removing cached content for', cacheKey);
253
249
  delete cache[cacheKey];
254
250
  },
@@ -256,7 +252,7 @@
256
252
 
257
253
  set: {
258
254
  auto: function () {
259
- let url = typeof settings.path === 'string'
255
+ const url = typeof settings.path === 'string'
260
256
  ? settings.path.replace(/\/$/, '') + '/{$tab}'
261
257
  : '/{$tab}';
262
258
  module.verbose('Setting up automatic tab retrieval from server', url);
@@ -269,8 +265,8 @@
269
265
  }
270
266
  },
271
267
  loading: function (tabPath) {
272
- let $tab = module.get.tabElement(tabPath);
273
- let isLoading = $tab.hasClass(className.loading);
268
+ const $tab = module.get.tabElement(tabPath);
269
+ const isLoading = $tab.hasClass(className.loading);
274
270
  if (!isLoading) {
275
271
  module.verbose('Setting loading state for', $tab);
276
272
  $tab
@@ -288,20 +284,20 @@
288
284
  },
289
285
 
290
286
  changeTab: function (tabPath) {
291
- let pushStateAvailable = window.history && window.history.pushState;
292
- let shouldIgnoreLoad = pushStateAvailable && settings.ignoreFirstLoad && firstLoad;
293
- let remoteContent = settings.auto || $.isPlainObject(settings.apiSettings);
287
+ const pushStateAvailable = window.history && window.history.pushState;
288
+ const shouldIgnoreLoad = pushStateAvailable && settings.ignoreFirstLoad && firstLoad;
289
+ const remoteContent = settings.auto || $.isPlainObject(settings.apiSettings);
294
290
  // only add the default path if not remote content
295
- let pathArray = remoteContent && !shouldIgnoreLoad
291
+ const pathArray = remoteContent && !shouldIgnoreLoad
296
292
  ? module.utilities.pathToArray(tabPath)
297
293
  : module.get.defaultPathArray(tabPath);
298
294
  tabPath = module.utilities.arrayToPath(pathArray);
299
295
  $.each(pathArray, function (index, tab) {
300
- let currentPathArray = pathArray.slice(0, index + 1);
296
+ const currentPathArray = pathArray.slice(0, index + 1);
301
297
  let currentPath = module.utilities.arrayToPath(currentPathArray);
302
298
 
303
- let isTab = module.is.tab(currentPath);
304
- let isLastIndex = index + 1 === pathArray.length;
299
+ const isTab = module.is.tab(currentPath);
300
+ const isLastIndex = index + 1 === pathArray.length;
305
301
 
306
302
  let $tab = module.get.tabElement(currentPath);
307
303
  let $anchor;
@@ -391,7 +387,7 @@
391
387
  },
392
388
 
393
389
  scrollTo: function ($element) {
394
- let scrollOffset = $element && $element.length > 0
390
+ const scrollOffset = $element && $element.length > 0
395
391
  ? $element.offset().top
396
392
  : false;
397
393
  if (scrollOffset !== false) {
@@ -401,33 +397,28 @@
401
397
  },
402
398
 
403
399
  update: {
404
- content: function (tabPath, html, evaluateScripts) {
405
- let $tab = module.get.tabElement(tabPath);
406
- let tab = $tab[0];
407
- evaluateScripts = evaluateScripts !== undefined
408
- ? evaluateScripts
409
- : settings.evaluateScripts;
400
+ content: function (tabPath, html, evaluateScripts = settings.evaluateScripts) {
401
+ const $tab = module.get.tabElement(tabPath);
402
+ const tab = $tab[0];
410
403
  if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() === 'dom' && typeof html !== 'string') {
411
404
  $tab
412
405
  .empty()
413
406
  .append($(html).clone(true));
407
+ } else if (evaluateScripts) {
408
+ module.debug('Updating HTML and evaluating inline scripts', tabPath, html);
409
+ $tab.html(html);
414
410
  } else {
415
- if (evaluateScripts) {
416
- module.debug('Updating HTML and evaluating inline scripts', tabPath, html);
417
- $tab.html(html);
418
- } else {
419
- module.debug('Updating HTML', tabPath, html);
420
- tab.innerHTML = html;
421
- }
411
+ module.debug('Updating HTML', tabPath, html);
412
+ tab.innerHTML = html;
422
413
  }
423
414
  },
424
415
  },
425
416
 
426
417
  fetch: {
427
418
 
428
- content: function (tabPath, fullTabPath) {
429
- let $tab = module.get.tabElement(tabPath);
430
- let apiSettings = {
419
+ content: function (tabPath, fullTabPath = tabPath) {
420
+ const $tab = module.get.tabElement(tabPath);
421
+ const apiSettings = {
431
422
  dataType: 'html',
432
423
  encodeParameters: false,
433
424
  on: 'now',
@@ -462,13 +453,11 @@
462
453
  tab: fullTabPath,
463
454
  },
464
455
  };
465
- let request = $tab.api('get request') || false;
466
- let existingRequest = request && request.state() === 'pending';
456
+ const request = $tab.api('get request') || false;
457
+ const existingRequest = request && request.state() === 'pending';
467
458
  let requestSettings;
468
- let cachedContent;
469
459
 
470
- fullTabPath = fullTabPath || tabPath;
471
- cachedContent = module.cache.read(fullTabPath);
460
+ const cachedContent = module.cache.read(fullTabPath);
472
461
 
473
462
  if (settings.cache && cachedContent) {
474
463
  module.activate.tab(tabPath);
@@ -501,11 +490,11 @@
501
490
  module.activate.navigation(tabPath);
502
491
  },
503
492
  tab: function (tabPath) {
504
- let $tab = module.get.tabElement(tabPath);
505
- let $deactiveTabs = settings.deactivate === 'siblings'
493
+ const $tab = module.get.tabElement(tabPath);
494
+ const $deactiveTabs = settings.deactivate === 'siblings'
506
495
  ? $tab.siblings($tabs)
507
496
  : $tabs.not($tab);
508
- let isActive = $tab.hasClass(className.active);
497
+ const isActive = $tab.hasClass(className.active);
509
498
  module.verbose('Showing tab content for', $tab);
510
499
  if (!isActive) {
511
500
  $tab
@@ -518,11 +507,11 @@
518
507
  }
519
508
  },
520
509
  navigation: function (tabPath) {
521
- let $navigation = module.get.navElement(tabPath);
522
- let $deactiveNavigation = settings.deactivate === 'siblings'
510
+ const $navigation = module.get.navElement(tabPath);
511
+ const $deactiveNavigation = settings.deactivate === 'siblings'
523
512
  ? $navigation.siblings($allModules)
524
513
  : $allModules.not($navigation);
525
- let isActive = $navigation.hasClass(className.active);
514
+ const isActive = $navigation.hasClass(className.active);
526
515
  module.verbose('Activating tab navigation for', $navigation, tabPath);
527
516
  if (!isActive) {
528
517
  $navigation
@@ -568,8 +557,8 @@
568
557
  return module.utilities.pathToArray(module.get.defaultPath(tabPath));
569
558
  },
570
559
  defaultPath: function (tabPath) {
571
- let $defaultNav = $allModules.filter('[data-' + metadata.tab + '^="' + CSS.escape(tabPath) + '/"]').eq(0);
572
- let defaultTab = $defaultNav.data(metadata.tab) || false;
560
+ const $defaultNav = $allModules.filter('[data-' + metadata.tab + '^="' + CSS.escape(tabPath) + '/"]').eq(0);
561
+ const defaultTab = $defaultNav.data(metadata.tab) || false;
573
562
  if (defaultTab) {
574
563
  module.debug('Found default tab', defaultTab);
575
564
  if (recursionDepth < settings.maxDepth) {
@@ -585,21 +574,14 @@
585
574
 
586
575
  return tabPath;
587
576
  },
588
- navElement: function (tabPath) {
589
- tabPath = tabPath || activeTabPath;
590
-
577
+ navElement: function (tabPath = activeTabPath) {
591
578
  return $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
592
579
  },
593
- tabElement: function (tabPath) {
594
- let $fullPathTab;
595
- let $simplePathTab;
596
- let tabPathArray;
597
- let lastTab;
598
- tabPath = tabPath || activeTabPath;
599
- tabPathArray = module.utilities.pathToArray(tabPath);
600
- lastTab = module.utilities.last(tabPathArray);
601
- $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
602
- $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(lastTab) + '"]');
580
+ tabElement: function (tabPath = activeTabPath) {
581
+ const tabPathArray = module.utilities.pathToArray(tabPath);
582
+ const lastTab = module.utilities.last(tabPathArray);
583
+ const $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
584
+ const $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(lastTab) + '"]');
603
585
 
604
586
  return $fullPathTab.length > 0
605
587
  ? $fullPathTab
@@ -615,11 +597,11 @@
615
597
  let activeTab = null;
616
598
 
617
599
  $tabs.each(function (_index, tab) {
618
- let $tab = $(tab);
600
+ const $tab = $(tab);
619
601
 
620
602
  if ($tab.hasClass(className.active)) {
621
- let tabPath = $(this).data(metadata.tab);
622
- let $anchor = $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
603
+ const tabPath = $(this).data(metadata.tab);
604
+ const $anchor = $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
623
605
 
624
606
  if ($anchor.hasClass(className.active)) {
625
607
  activeTab = tabPath;
@@ -634,7 +616,7 @@
634
616
  utilities: {
635
617
  filterArray: function (keepArray, removeArray) {
636
618
  return $.grep(keepArray, function (keepValue) {
637
- return $.inArray(keepValue, removeArray) === -1;
619
+ return !removeArray.includes(keepValue);
638
620
  });
639
621
  },
640
622
  last: function (array) {
@@ -681,30 +663,30 @@
681
663
  return module[name];
682
664
  }
683
665
  },
684
- debug: function () {
666
+ debug: function (...args) {
685
667
  if (!settings.silent && settings.debug) {
686
668
  if (settings.performance) {
687
- module.performance.log(arguments);
669
+ module.performance.log(args);
688
670
  } else {
689
671
  module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
690
- module.debug.apply(console, arguments);
672
+ module.debug.apply(console, args);
691
673
  }
692
674
  }
693
675
  },
694
- verbose: function () {
676
+ verbose: function (...args) {
695
677
  if (!settings.silent && settings.verbose && settings.debug) {
696
678
  if (settings.performance) {
697
- module.performance.log(arguments);
679
+ module.performance.log(args);
698
680
  } else {
699
681
  module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
700
- module.verbose.apply(console, arguments);
682
+ module.verbose.apply(console, args);
701
683
  }
702
684
  }
703
685
  },
704
- error: function () {
686
+ error: function (...args) {
705
687
  if (!settings.silent) {
706
688
  module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
707
- module.error.apply(console, arguments);
689
+ module.error.apply(console, args);
708
690
  }
709
691
  },
710
692
  performance: {
@@ -719,7 +701,7 @@
719
701
  time = currentTime;
720
702
  performance.push({
721
703
  Name: message[0],
722
- Arguments: [].slice.call(message, 1) || '',
704
+ Arguments: message.slice(1),
723
705
  Element: element,
724
706
  'Execution Time': executionTime,
725
707
  });
@@ -740,30 +722,22 @@
740
722
  title += ' ' + totalTime + 'ms';
741
723
  if (performance.length > 0) {
742
724
  console.groupCollapsed(title);
743
- if (console.table) {
744
- console.table(performance);
745
- } else {
746
- $.each(performance, function (index, data) {
747
- console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
748
- });
749
- }
725
+ console.table(performance);
750
726
  console.groupEnd();
751
727
  }
752
728
  performance = [];
753
729
  },
754
730
  },
755
- invoke: function (query, passedArguments, context) {
731
+ invoke: function (query, passedArguments = queryArguments, context = element) {
756
732
  let object = instance;
757
733
  let maxDepth;
758
734
  let found;
759
735
  let response;
760
- passedArguments = passedArguments || queryArguments;
761
- context = context || element;
762
736
  if (typeof query === 'string' && object !== undefined) {
763
737
  query = query.split(/[ .]/);
764
738
  maxDepth = query.length - 1;
765
739
  $.each(query, function (depth, value) {
766
- let camelCaseValue = depth !== maxDepth
740
+ const camelCaseValue = depth !== maxDepth
767
741
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
768
742
  : query;
769
743
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
@@ -805,7 +779,7 @@
805
779
  if (instance === undefined) {
806
780
  module.initialize();
807
781
  }
808
- module.invoke(query);
782
+ module.invoke(parameters);
809
783
  } else {
810
784
  if (instance !== undefined) {
811
785
  instance.invoke('destroy');
@@ -820,9 +794,7 @@
820
794
  };
821
795
 
822
796
  // shortcut for tabbed content with no defined navigation
823
- $.tab = function () {
824
- $(window).tab.apply(this, arguments);
825
- };
797
+ $.tab = $.fn.tab;
826
798
 
827
799
  $.fn.tab.settings = {
828
800
 
@@ -875,10 +847,6 @@
875
847
  state: 'History requires Asual\'s Address library <https://github.com/asual/jquery-address>',
876
848
  },
877
849
 
878
- regExp: {
879
- escape: /[\s#$()*+,.:=?@[\\\]^{|}-]/g,
880
- },
881
-
882
850
  metadata: {
883
851
  tab: 'tab',
884
852
  loaded: 'loaded',
@@ -82,5 +82,4 @@
82
82
  }
83
83
  }
84
84
 
85
- // stylelint-disable no-invalid-position-at-import-rule
86
85
  @import (multiple, optional) "../../overrides.less";