fomantic-ui 2.9.1-beta.22 → 2.9.1-beta.24

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 (256) hide show
  1. package/.eslint/index.js +23 -0
  2. package/.eslint/no-extra-parens-rule.js +17 -0
  3. package/.eslint/package.json +11 -0
  4. package/.eslintrc.js +13 -70
  5. package/.stylelintrc.js +5 -7
  6. package/dist/components/accordion.css +1 -1
  7. package/dist/components/accordion.js +26 -26
  8. package/dist/components/accordion.min.css +1 -1
  9. package/dist/components/accordion.min.js +2 -2
  10. package/dist/components/ad.css +1 -1
  11. package/dist/components/ad.min.css +1 -1
  12. package/dist/components/api.js +95 -94
  13. package/dist/components/api.min.js +2 -2
  14. package/dist/components/breadcrumb.css +1 -1
  15. package/dist/components/breadcrumb.min.css +1 -1
  16. package/dist/components/button.css +1 -1
  17. package/dist/components/button.min.css +1 -1
  18. package/dist/components/calendar.css +3 -3
  19. package/dist/components/calendar.js +181 -151
  20. package/dist/components/calendar.min.css +2 -2
  21. package/dist/components/calendar.min.js +2 -2
  22. package/dist/components/card.css +1 -1
  23. package/dist/components/card.min.css +1 -1
  24. package/dist/components/checkbox.css +1 -1
  25. package/dist/components/checkbox.js +14 -14
  26. package/dist/components/checkbox.min.css +1 -1
  27. package/dist/components/checkbox.min.js +2 -2
  28. package/dist/components/comment.css +1 -1
  29. package/dist/components/comment.min.css +1 -1
  30. package/dist/components/container.css +1 -1
  31. package/dist/components/container.min.css +1 -1
  32. package/dist/components/dimmer.css +1 -1
  33. package/dist/components/dimmer.js +23 -25
  34. package/dist/components/dimmer.min.css +1 -1
  35. package/dist/components/dimmer.min.js +2 -2
  36. package/dist/components/divider.css +1 -1
  37. package/dist/components/divider.min.css +1 -1
  38. package/dist/components/dropdown.css +1 -1
  39. package/dist/components/dropdown.js +252 -254
  40. package/dist/components/dropdown.min.css +1 -1
  41. package/dist/components/dropdown.min.js +2 -2
  42. package/dist/components/embed.css +1 -1
  43. package/dist/components/embed.js +27 -33
  44. package/dist/components/embed.min.css +1 -1
  45. package/dist/components/embed.min.js +2 -2
  46. package/dist/components/feed.css +1 -1
  47. package/dist/components/feed.min.css +1 -1
  48. package/dist/components/flag.css +1 -1
  49. package/dist/components/flag.min.css +1 -1
  50. package/dist/components/flyout.css +2 -2
  51. package/dist/components/flyout.js +50 -44
  52. package/dist/components/flyout.min.css +1 -1
  53. package/dist/components/flyout.min.js +2 -2
  54. package/dist/components/form.css +2 -2
  55. package/dist/components/form.js +187 -163
  56. package/dist/components/form.min.css +2 -2
  57. package/dist/components/form.min.js +2 -2
  58. package/dist/components/grid.css +1 -1
  59. package/dist/components/grid.min.css +1 -1
  60. package/dist/components/header.css +1 -1
  61. package/dist/components/header.min.css +1 -1
  62. package/dist/components/icon.css +1 -1
  63. package/dist/components/icon.min.css +1 -1
  64. package/dist/components/image.css +1 -1
  65. package/dist/components/image.min.css +1 -1
  66. package/dist/components/input.css +1 -1
  67. package/dist/components/input.min.css +1 -1
  68. package/dist/components/item.css +1 -1
  69. package/dist/components/item.min.css +1 -1
  70. package/dist/components/label.css +1 -1
  71. package/dist/components/label.min.css +1 -1
  72. package/dist/components/list.css +1 -1
  73. package/dist/components/list.min.css +1 -1
  74. package/dist/components/loader.css +1 -1
  75. package/dist/components/loader.min.css +1 -1
  76. package/dist/components/message.css +1 -1
  77. package/dist/components/message.min.css +1 -1
  78. package/dist/components/modal.css +1 -1
  79. package/dist/components/modal.js +49 -45
  80. package/dist/components/modal.min.css +1 -1
  81. package/dist/components/modal.min.js +2 -2
  82. package/dist/components/nag.css +1 -1
  83. package/dist/components/nag.js +22 -20
  84. package/dist/components/nag.min.css +1 -1
  85. package/dist/components/nag.min.js +2 -2
  86. package/dist/components/placeholder.css +1 -1
  87. package/dist/components/placeholder.min.css +1 -1
  88. package/dist/components/popup.css +1 -1
  89. package/dist/components/popup.js +71 -71
  90. package/dist/components/popup.min.css +1 -1
  91. package/dist/components/popup.min.js +2 -2
  92. package/dist/components/progress.css +1 -1
  93. package/dist/components/progress.js +46 -46
  94. package/dist/components/progress.min.css +1 -1
  95. package/dist/components/progress.min.js +2 -2
  96. package/dist/components/rail.css +1 -1
  97. package/dist/components/rail.min.css +1 -1
  98. package/dist/components/rating.css +1 -1
  99. package/dist/components/rating.js +15 -15
  100. package/dist/components/rating.min.css +1 -1
  101. package/dist/components/rating.min.js +2 -2
  102. package/dist/components/reset.css +1 -1
  103. package/dist/components/reset.min.css +1 -1
  104. package/dist/components/reveal.css +1 -1
  105. package/dist/components/reveal.min.css +1 -1
  106. package/dist/components/search.css +1 -1
  107. package/dist/components/search.js +69 -74
  108. package/dist/components/search.min.css +1 -1
  109. package/dist/components/search.min.js +2 -2
  110. package/dist/components/segment.css +1 -1
  111. package/dist/components/segment.min.css +1 -1
  112. package/dist/components/shape.css +1 -1
  113. package/dist/components/shape.js +39 -39
  114. package/dist/components/shape.min.css +1 -1
  115. package/dist/components/shape.min.js +2 -2
  116. package/dist/components/sidebar.css +1 -1
  117. package/dist/components/sidebar.js +39 -37
  118. package/dist/components/sidebar.min.css +1 -1
  119. package/dist/components/sidebar.min.js +2 -2
  120. package/dist/components/site.css +1 -1
  121. package/dist/components/site.js +22 -21
  122. package/dist/components/site.min.css +1 -1
  123. package/dist/components/site.min.js +2 -2
  124. package/dist/components/slider.js +69 -64
  125. package/dist/components/slider.min.js +2 -2
  126. package/dist/components/state.js +15 -15
  127. package/dist/components/state.min.js +2 -2
  128. package/dist/components/statistic.css +1 -1
  129. package/dist/components/statistic.min.css +1 -1
  130. package/dist/components/step.css +1 -1
  131. package/dist/components/step.min.css +1 -1
  132. package/dist/components/sticky.css +1 -1
  133. package/dist/components/sticky.js +25 -25
  134. package/dist/components/sticky.min.css +1 -1
  135. package/dist/components/sticky.min.js +2 -2
  136. package/dist/components/tab.css +1 -1
  137. package/dist/components/tab.js +55 -57
  138. package/dist/components/tab.min.css +1 -1
  139. package/dist/components/tab.min.js +2 -2
  140. package/dist/components/table.css +1 -1
  141. package/dist/components/table.min.css +1 -1
  142. package/dist/components/text.css +1 -1
  143. package/dist/components/text.min.css +1 -1
  144. package/dist/components/toast.css +1 -1
  145. package/dist/components/toast.js +57 -30
  146. package/dist/components/toast.min.css +1 -1
  147. package/dist/components/toast.min.js +2 -2
  148. package/dist/components/transition.css +7 -7
  149. package/dist/components/transition.js +45 -39
  150. package/dist/components/transition.min.css +1 -1
  151. package/dist/components/transition.min.js +2 -2
  152. package/dist/components/visibility.js +25 -25
  153. package/dist/components/visibility.min.js +2 -2
  154. package/dist/semantic.css +60 -60
  155. package/dist/semantic.js +1518 -1427
  156. package/dist/semantic.min.css +2 -2
  157. package/dist/semantic.min.js +2 -2
  158. package/examples/responsive.html +1 -1
  159. package/gulpfile.js +1 -1
  160. package/package.json +2 -1
  161. package/scripts/nightly-version.js +6 -4
  162. package/src/definitions/behaviors/api.js +94 -93
  163. package/src/definitions/behaviors/form.js +186 -162
  164. package/src/definitions/behaviors/state.js +14 -14
  165. package/src/definitions/behaviors/visibility.js +24 -24
  166. package/src/definitions/collections/menu.less +2 -2
  167. package/src/definitions/elements/button.less +2 -2
  168. package/src/definitions/elements/loader.less +4 -4
  169. package/src/definitions/elements/step.less +1 -1
  170. package/src/definitions/globals/site.js +21 -20
  171. package/src/definitions/modules/accordion.js +25 -25
  172. package/src/definitions/modules/calendar.js +180 -150
  173. package/src/definitions/modules/calendar.less +2 -2
  174. package/src/definitions/modules/checkbox.js +13 -13
  175. package/src/definitions/modules/dimmer.js +22 -24
  176. package/src/definitions/modules/dimmer.less +10 -10
  177. package/src/definitions/modules/dropdown.js +251 -253
  178. package/src/definitions/modules/embed.js +26 -32
  179. package/src/definitions/modules/flyout.js +49 -43
  180. package/src/definitions/modules/flyout.less +1 -1
  181. package/src/definitions/modules/modal.js +48 -44
  182. package/src/definitions/modules/nag.js +21 -19
  183. package/src/definitions/modules/popup.js +70 -70
  184. package/src/definitions/modules/progress.js +45 -45
  185. package/src/definitions/modules/rating.js +14 -14
  186. package/src/definitions/modules/search.js +68 -73
  187. package/src/definitions/modules/shape.js +38 -38
  188. package/src/definitions/modules/sidebar.js +38 -36
  189. package/src/definitions/modules/slider.js +68 -63
  190. package/src/definitions/modules/sticky.js +24 -24
  191. package/src/definitions/modules/tab.js +54 -56
  192. package/src/definitions/modules/toast.js +56 -29
  193. package/src/definitions/modules/transition.js +44 -38
  194. package/src/themes/amazon/elements/button.overrides +7 -7
  195. package/src/themes/default/collections/form.variables +1 -1
  196. package/src/themes/default/elements/reveal.variables +1 -1
  197. package/src/themes/default/globals/site.variables +1 -1
  198. package/src/themes/default/modules/dimmer.variables +6 -6
  199. package/src/themes/default/modules/modal.variables +1 -1
  200. package/src/themes/default/modules/slider.variables +4 -4
  201. package/src/themes/default/modules/toast.variables +2 -2
  202. package/src/themes/default/modules/transition.overrides +12 -12
  203. package/src/themes/flat/collections/form.overrides +2 -2
  204. package/src/themes/flat/globals/site.variables +1 -1
  205. package/src/themes/github/collections/form.overrides +2 -2
  206. package/src/themes/github/collections/menu.variables +1 -1
  207. package/src/themes/github/collections/message.overrides +3 -3
  208. package/src/themes/github/elements/input.overrides +2 -2
  209. package/src/themes/timeline/views/feed.overrides +3 -3
  210. package/src/themes/twitter/elements/button.overrides +2 -2
  211. package/tasks/README.md +1 -3
  212. package/tasks/admin/components/create.js +9 -16
  213. package/tasks/admin/components/init.js +7 -7
  214. package/tasks/admin/components/update.js +10 -10
  215. package/tasks/admin/distributions/create.js +16 -18
  216. package/tasks/admin/distributions/init.js +7 -7
  217. package/tasks/admin/distributions/update.js +10 -10
  218. package/tasks/admin/publish.js +1 -3
  219. package/tasks/admin/register.js +6 -6
  220. package/tasks/admin/release.js +1 -3
  221. package/tasks/build/assets.js +2 -2
  222. package/tasks/build/css.js +8 -3
  223. package/tasks/build/javascript.js +3 -1
  224. package/tasks/build.js +1 -1
  225. package/tasks/check-install.js +1 -1
  226. package/tasks/clean.js +1 -1
  227. package/tasks/collections/README.md +3 -5
  228. package/tasks/collections/admin.js +1 -1
  229. package/tasks/collections/docs.js +1 -1
  230. package/tasks/collections/install.js +1 -1
  231. package/tasks/collections/rtl.js +1 -1
  232. package/tasks/collections/various.js +1 -1
  233. package/tasks/config/admin/github.js +6 -8
  234. package/tasks/config/admin/templates/css-package.js +1 -1
  235. package/tasks/config/admin/templates/less-package.js +1 -1
  236. package/tasks/config/npm/gulpfile.js +7 -7
  237. package/tasks/config/project/config.js +14 -19
  238. package/tasks/config/project/install.js +35 -34
  239. package/tasks/config/project/release.js +15 -16
  240. package/tasks/config/tasks.js +18 -20
  241. package/tasks/config/user.js +5 -3
  242. package/tasks/docs/build.js +5 -3
  243. package/tasks/docs/metadata.js +7 -8
  244. package/tasks/docs/serve.js +6 -3
  245. package/tasks/install.js +39 -39
  246. package/tasks/rtl/build.js +1 -3
  247. package/tasks/rtl/watch.js +1 -3
  248. package/tasks/version.js +1 -3
  249. package/tasks/watch.js +1 -1
  250. package/test/.eslintrc.js +0 -4
  251. package/test/meteor/assets.js +1 -1
  252. package/test/modules/module.spec.js +15 -15
  253. package/test/modules/popup.spec.js +1 -1
  254. package/test/modules/search.spec.js +1 -1
  255. package/test/modules/tab.spec.js +1 -1
  256. package/test/modules/transition.spec.js +1 -1
@@ -642,7 +642,7 @@
642
642
  <script type="text/javascript">
643
643
  $(document).ready(function() {
644
644
 
645
- var
645
+ let
646
646
  $headers = $('body > h3'),
647
647
  $header = $headers.first(),
648
648
  ignoreScroll = false,
package/gulpfile.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Set-up
3
3
  *******************************/
4
4
 
5
- var
5
+ const
6
6
  gulp = require('gulp'),
7
7
 
8
8
  // read user config to know what task to load
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fomantic-ui",
3
- "version": "2.9.1-beta.22+6a42d01",
3
+ "version": "2.9.1-beta.24+029436f",
4
4
  "description": "Fomantic empowers designers and developers by creating a shared vocabulary for UI.",
5
5
  "keywords": [
6
6
  "fomantic-ui",
@@ -73,6 +73,7 @@
73
73
  "yamljs": "^0.3.0"
74
74
  },
75
75
  "devDependencies": {
76
+ "@internal/eslint-plugin": "file:.eslint",
76
77
  "all-contributors-cli": "^6.7.0",
77
78
  "auto-changelog": "^2.4.0",
78
79
  "eslint": "^8.29.0",
@@ -4,8 +4,8 @@ const path = require('path');
4
4
  const childProcess = require('child_process');
5
5
 
6
6
  // npm
7
- const fetch = require('node-fetch');
8
- const semver = require('semver');
7
+ const fetch = require('node-fetch'); // eslint-disable-line import/no-extraneous-dependencies
8
+ const semver = require('semver'); // eslint-disable-line import/no-extraneous-dependencies
9
9
  const actions = require('@actions/core');
10
10
 
11
11
  // pkg
@@ -44,7 +44,9 @@ const getPublishedVersion = async function () {
44
44
  .then((p) => {
45
45
  let nightly = p['dist-tags'].nightly ?? '';
46
46
  let versionInfo = p.versions[nightly] ?? {};
47
- let buildCommit = nightly.indexOf('+') === -1 && versionInfo.gitHead ? '+' + (versionInfo.gitHead ?? '').slice(0, 7) : '';
47
+ let buildCommit = nightly.indexOf('+') === -1 && versionInfo.gitHead
48
+ ? '+' + (versionInfo.gitHead ?? '').slice(0, 7)
49
+ : '';
48
50
 
49
51
  return nightly + buildCommit;
50
52
  })
@@ -59,7 +61,7 @@ const getNightlyVersion = async function () {
59
61
  actions.setOutput('shouldPublish', false);
60
62
 
61
63
  console.log('No new commits since last publish. Exiting.');
62
- process.exit(0);
64
+ process.exit(0); // eslint-disable-line unicorn/no-process-exit
63
65
 
64
66
  return;
65
67
  }
@@ -19,22 +19,22 @@
19
19
  return typeof obj === 'function' && typeof obj.nodeType !== 'number';
20
20
  }
21
21
 
22
- window = (typeof window != 'undefined' && window.Math == Math)
22
+ window = window !== undefined && window.Math === Math
23
23
  ? window
24
24
  : globalThis;
25
25
 
26
- $.api = $.fn.api = function (parameters) {
26
+ $.fn.api = function (parameters) {
27
27
  var
28
28
  // use window context if none specified
29
29
  $allModules = isFunction(this)
30
30
  ? $(window)
31
31
  : $(this),
32
32
  moduleSelector = $allModules.selector || '',
33
- time = new Date().getTime(),
33
+ time = Date.now(),
34
34
  performance = [],
35
35
 
36
36
  query = arguments[0],
37
- methodInvoked = (typeof query == 'string'),
37
+ methodInvoked = typeof query === 'string',
38
38
  queryArguments = [].slice.call(arguments, 1),
39
39
 
40
40
  returnedValue
@@ -42,7 +42,7 @@
42
42
 
43
43
  $allModules.each(function () {
44
44
  var
45
- settings = ($.isPlainObject(parameters))
45
+ settings = $.isPlainObject(parameters)
46
46
  ? $.extend(true, {}, $.fn.api.settings, parameters)
47
47
  : $.extend({}, $.fn.api.settings),
48
48
 
@@ -62,7 +62,7 @@
62
62
  $form = $module.closest(selector.form),
63
63
 
64
64
  // context used for state
65
- $context = (settings.stateContext)
65
+ $context = settings.stateContext
66
66
  ? ([window, document].indexOf(settings.stateContext) < 0 ? $(document).find(settings.stateContext) : $(settings.stateContext))
67
67
  : $module,
68
68
 
@@ -126,7 +126,7 @@
126
126
 
127
127
  decode: {
128
128
  json: function (response) {
129
- if (response !== undefined && typeof response == 'string') {
129
+ if (response !== undefined && typeof response === 'string') {
130
130
  try {
131
131
  response = JSON.parse(response);
132
132
  } catch (e) {
@@ -207,10 +207,10 @@
207
207
  module.error(error.beforeSend);
208
208
 
209
209
  return;
210
- } else {
211
- module.cancelled = false;
212
210
  }
213
211
 
212
+ module.cancelled = false;
213
+
214
214
  // get url
215
215
  url = module.get.templatedURL();
216
216
 
@@ -274,13 +274,13 @@
274
274
 
275
275
  should: {
276
276
  removeError: function () {
277
- return (settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()));
277
+ return settings.hideError === true || (settings.hideError === 'auto' && !module.is.form());
278
278
  },
279
279
  },
280
280
 
281
281
  is: {
282
282
  disabled: function () {
283
- return ($module.filter(selector.disabled).length > 0);
283
+ return $module.filter(selector.disabled).length > 0;
284
284
  },
285
285
  expectingJSON: function () {
286
286
  return settings.dataType === 'json' || settings.dataType === 'jsonp';
@@ -289,14 +289,14 @@
289
289
  return $module.is('form') || $context.is('form');
290
290
  },
291
291
  mocked: function () {
292
- return (settings.mockResponse || settings.mockResponseAsync || settings.response || settings.responseAsync);
292
+ return settings.mockResponse || settings.mockResponseAsync || settings.response || settings.responseAsync;
293
293
  },
294
294
  input: function () {
295
295
  return $module.is('input');
296
296
  },
297
297
  loading: function () {
298
- return (module.request)
299
- ? (module.request.state() == 'pending')
298
+ return module.request
299
+ ? module.request.state() == 'pending'
300
300
  : false;
301
301
  },
302
302
  abortedRequest: function (xhr) {
@@ -304,14 +304,14 @@
304
304
  module.verbose('XHR request determined to be aborted');
305
305
 
306
306
  return true;
307
- } else {
308
- module.verbose('XHR request was not aborted');
309
-
310
- return false;
311
307
  }
308
+
309
+ module.verbose('XHR request was not aborted');
310
+
311
+ return false;
312
312
  },
313
313
  validResponse: function (response) {
314
- if ((!module.is.expectingJSON()) || !isFunction(settings.successTest)) {
314
+ if (!module.is.expectingJSON() || !isFunction(settings.successTest)) {
315
315
  module.verbose('Response is not JSON, skipping validation', settings.successTest, response);
316
316
 
317
317
  return true;
@@ -321,26 +321,26 @@
321
321
  module.debug('Response passed success test', response);
322
322
 
323
323
  return true;
324
- } else {
325
- module.debug('Response failed success test', response);
326
-
327
- return false;
328
324
  }
325
+
326
+ module.debug('Response failed success test', response);
327
+
328
+ return false;
329
329
  },
330
330
  },
331
331
 
332
332
  was: {
333
333
  cancelled: function () {
334
- return (module.cancelled || false);
334
+ return module.cancelled || false;
335
335
  },
336
336
  successful: function () {
337
- return (module.request && module.request.state() == 'resolved');
337
+ return module.request && module.request.state() == 'resolved';
338
338
  },
339
339
  failure: function () {
340
- return (module.request && module.request.state() == 'rejected');
340
+ return module.request && module.request.state() == 'rejected';
341
341
  },
342
342
  complete: function () {
343
- return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected'));
343
+ return module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected');
344
344
  },
345
345
  },
346
346
 
@@ -359,16 +359,16 @@
359
359
  $.each(requiredVariables, function (index, templatedString) {
360
360
  var
361
361
  // allow legacy {$var} style
362
- variable = (templatedString.indexOf('$') !== -1)
362
+ variable = templatedString.indexOf('$') !== -1
363
363
  ? templatedString.slice(2, -1)
364
364
  : templatedString.slice(1, -1),
365
- value = ($.isPlainObject(urlData) && urlData[variable] !== undefined)
365
+ value = $.isPlainObject(urlData) && urlData[variable] !== undefined
366
366
  ? urlData[variable]
367
- : ($module.data(variable) !== undefined)
367
+ : ($module.data(variable) !== undefined
368
368
  ? $module.data(variable)
369
- : ($context.data(variable) !== undefined)
369
+ : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
370
370
  ? $context.data(variable)
371
- : urlData[variable]
371
+ : urlData[variable]))
372
372
  ;
373
373
  // remove value
374
374
  if (value === undefined) {
@@ -376,13 +376,13 @@
376
376
  url = false;
377
377
 
378
378
  return false;
379
- } else {
380
- module.verbose('Found required variable', variable, value);
381
- value = (settings.encodeParameters)
382
- ? module.get.urlEncodedValue(value)
383
- : value;
384
- url = url.replace(templatedString, value);
385
379
  }
380
+
381
+ module.verbose('Found required variable', variable, value);
382
+ value = settings.encodeParameters
383
+ ? module.get.urlEncodedValue(value)
384
+ : value;
385
+ url = url.replace(templatedString, value);
386
386
  });
387
387
  }
388
388
  if (optionalVariables) {
@@ -390,16 +390,16 @@
390
390
  $.each(optionalVariables, function (index, templatedString) {
391
391
  var
392
392
  // allow legacy {/$var} style
393
- variable = (templatedString.indexOf('$') !== -1)
393
+ variable = templatedString.indexOf('$') !== -1
394
394
  ? templatedString.slice(3, -1)
395
395
  : templatedString.slice(2, -1),
396
- value = ($.isPlainObject(urlData) && urlData[variable] !== undefined)
396
+ value = $.isPlainObject(urlData) && urlData[variable] !== undefined
397
397
  ? urlData[variable]
398
- : ($module.data(variable) !== undefined)
398
+ : ($module.data(variable) !== undefined
399
399
  ? $module.data(variable)
400
- : ($context.data(variable) !== undefined)
400
+ : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
401
401
  ? $context.data(variable)
402
- : urlData[variable]
402
+ : urlData[variable]))
403
403
  ;
404
404
  // optional replacement
405
405
  if (value !== undefined) {
@@ -408,11 +408,9 @@
408
408
  } else {
409
409
  module.verbose('Optional variable not found', variable);
410
410
  // remove preceding slash if set
411
- if (url.indexOf('/' + templatedString) !== -1) {
412
- url = url.replace('/' + templatedString, '');
413
- } else {
414
- url = url.replace(templatedString, '');
415
- }
411
+ url = url.indexOf('/' + templatedString) !== -1
412
+ ? url.replace('/' + templatedString, '')
413
+ : url.replace(templatedString, '');
416
414
  }
417
415
  });
418
416
  }
@@ -431,8 +429,8 @@
431
429
 
432
430
  if (useFormDataApi) {
433
431
  formData = new FormData($form[0]);
434
- settings.processData = typeof settings.processData !== 'undefined' ? settings.processData : false;
435
- settings.contentType = typeof settings.contentType !== 'undefined' ? settings.contentType : false;
432
+ settings.processData = settings.processData !== undefined ? settings.processData : false;
433
+ settings.contentType = settings.contentType !== undefined ? settings.contentType : false;
436
434
  } else {
437
435
  var
438
436
  formArray = $form.serializeArray(),
@@ -463,8 +461,7 @@
463
461
  ? floatValue
464
462
  : (el.value === 'false' ? false : el.value)),
465
463
  nameKeys = el.name.match(settings.regExp.key) || [],
466
- k,
467
- pushKey = el.name.replace(/\[\]$/, '')
464
+ pushKey = el.name.replace(/\[]$/, '')
468
465
  ;
469
466
  if (!(pushKey in pushes)) {
470
467
  pushes[pushKey] = 0;
@@ -478,7 +475,9 @@
478
475
  value = pushValues[pushKey];
479
476
  }
480
477
 
481
- while ((k = nameKeys.pop()) !== undefined) {
478
+ while (nameKeys.length > 0) {
479
+ var k = nameKeys.pop();
480
+
482
481
  if (k == '' && !Array.isArray(value)) { // foo[]
483
482
  value = build([], pushes[pushKey]++, value);
484
483
  } else if (settings.regExp.fixed.test(k)) { // foo[n]
@@ -537,15 +536,15 @@
537
536
  done: function (response, textStatus, xhr) {
538
537
  var
539
538
  context = this,
540
- elapsedTime = (new Date().getTime() - requestStartTime),
541
- timeLeft = (settings.loadingDuration - elapsedTime),
542
- translatedResponse = (isFunction(settings.onResponse))
543
- ? module.is.expectingJSON() && !settings.rawResponse
539
+ elapsedTime = Date.now() - requestStartTime,
540
+ timeLeft = settings.loadingDuration - elapsedTime,
541
+ translatedResponse = isFunction(settings.onResponse)
542
+ ? (module.is.expectingJSON() && !settings.rawResponse
544
543
  ? settings.onResponse.call(context, $.extend(true, {}, response))
545
- : settings.onResponse.call(context, response)
544
+ : settings.onResponse.call(context, response))
546
545
  : false
547
546
  ;
548
- timeLeft = (timeLeft > 0)
547
+ timeLeft = timeLeft > 0
549
548
  ? timeLeft
550
549
  : 0;
551
550
  if (translatedResponse) {
@@ -566,10 +565,10 @@
566
565
  fail: function (xhr, status, httpMessage) {
567
566
  var
568
567
  context = this,
569
- elapsedTime = (new Date().getTime() - requestStartTime),
570
- timeLeft = (settings.loadingDuration - elapsedTime)
568
+ elapsedTime = Date.now() - requestStartTime,
569
+ timeLeft = settings.loadingDuration - elapsedTime
571
570
  ;
572
- timeLeft = (timeLeft > 0)
571
+ timeLeft = timeLeft > 0
573
572
  ? timeLeft
574
573
  : 0;
575
574
  if (timeLeft > 0) {
@@ -620,7 +619,8 @@
620
619
  settings.onAbort.call(context, status, $module, xhr);
621
620
 
622
621
  return true;
623
- } else if (status == 'invalid') {
622
+ }
623
+ if (status == 'invalid') {
624
624
  module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);
625
625
  } else if (status == 'error') {
626
626
  if (xhr !== undefined) {
@@ -727,7 +727,7 @@
727
727
  loading: function () {
728
728
  module.verbose('Adding loading state to element', $context);
729
729
  $context.addClass(className.loading);
730
- requestStartTime = new Date().getTime();
730
+ requestStartTime = Date.now();
731
731
  },
732
732
  },
733
733
 
@@ -748,17 +748,17 @@
748
748
  },
749
749
  responseFromXHR: function (xhr) {
750
750
  return $.isPlainObject(xhr)
751
- ? (module.is.expectingJSON())
751
+ ? (module.is.expectingJSON()
752
752
  ? module.decode.json(xhr.responseText)
753
- : xhr.responseText
753
+ : xhr.responseText)
754
754
  : false;
755
755
  },
756
756
  errorFromRequest: function (response, status, httpMessage) {
757
- return ($.isPlainObject(response) && response.error !== undefined)
757
+ return $.isPlainObject(response) && response.error !== undefined
758
758
  ? response.error // use json error message
759
- : (settings.error[status] !== undefined) // use server error message
759
+ : (settings.error[status] !== undefined // use server error message
760
760
  ? settings.error[status]
761
- : httpMessage;
761
+ : httpMessage);
762
762
  },
763
763
  request: function () {
764
764
  return module.request || false;
@@ -795,7 +795,7 @@
795
795
  return runSettings;
796
796
  }
797
797
 
798
- return (runSettings !== undefined)
798
+ return runSettings !== undefined
799
799
  ? $.extend(true, {}, runSettings)
800
800
  : $.extend(true, {}, settings);
801
801
  },
@@ -803,7 +803,7 @@
803
803
  var
804
804
  decodedValue = window.decodeURIComponent(value),
805
805
  encodedValue = window.encodeURIComponent(value),
806
- alreadyEncoded = (decodedValue !== value)
806
+ alreadyEncoded = decodedValue !== value
807
807
  ;
808
808
  if (alreadyEncoded) {
809
809
  module.debug('URL value is already encoded, avoiding double encoding', value);
@@ -821,9 +821,7 @@
821
821
  if (!isWindow(element)) {
822
822
  if (module.is.input()) {
823
823
  data.value = $module.val();
824
- } else if (module.is.form()) {
825
-
826
- } else {
824
+ } else if (!module.is.form()) {
827
825
  data.text = $module.text();
828
826
  }
829
827
  }
@@ -835,21 +833,23 @@
835
833
  module.debug('API called without element, no events attached');
836
834
 
837
835
  return false;
838
- } else if (settings.on == 'auto') {
836
+ }
837
+ if (settings.on == 'auto') {
839
838
  if ($module.is('input')) {
840
- return (element.oninput !== undefined)
839
+ return element.oninput !== undefined
841
840
  ? 'input'
842
- : (element.onpropertychange !== undefined)
841
+ : (element.onpropertychange !== undefined
843
842
  ? 'propertychange'
844
- : 'keyup';
845
- } else if ($module.is('form')) {
843
+ : 'keyup');
844
+ }
845
+ if ($module.is('form')) {
846
846
  return 'submit';
847
- } else {
848
- return 'click';
849
847
  }
850
- } else {
851
- return settings.on;
848
+
849
+ return 'click';
852
850
  }
851
+
852
+ return settings.on;
853
853
  },
854
854
  templatedURL: function (action) {
855
855
  action = action || $module.data(metadata.action) || settings.action || false;
@@ -949,7 +949,7 @@
949
949
  previousTime
950
950
  ;
951
951
  if (settings.performance) {
952
- currentTime = new Date().getTime();
952
+ currentTime = Date.now();
953
953
  previousTime = time || currentTime;
954
954
  executionTime = currentTime - previousTime;
955
955
  time = currentTime;
@@ -1000,11 +1000,11 @@
1000
1000
  ;
1001
1001
  passedArguments = passedArguments || queryArguments;
1002
1002
  context = context || element;
1003
- if (typeof query == 'string' && object !== undefined) {
1004
- query = query.split(/[\. ]/);
1003
+ if (typeof query === 'string' && object !== undefined) {
1004
+ query = query.split(/[ .]/);
1005
1005
  maxDepth = query.length - 1;
1006
1006
  $.each(query, function (depth, value) {
1007
- var camelCaseValue = (depth != maxDepth)
1007
+ var camelCaseValue = depth != maxDepth
1008
1008
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1009
1009
  : query
1010
1010
  ;
@@ -1057,10 +1057,11 @@
1057
1057
  }
1058
1058
  });
1059
1059
 
1060
- return (returnedValue !== undefined)
1060
+ return returnedValue !== undefined
1061
1061
  ? returnedValue
1062
1062
  : this;
1063
1063
  };
1064
+ $.api = $.fn.api;
1064
1065
 
1065
1066
  $.api.settings = {
1066
1067
 
@@ -1186,13 +1187,13 @@
1186
1187
  },
1187
1188
 
1188
1189
  regExp: {
1189
- required: /\{\$*[a-z0-9]+\}/gi,
1190
- optional: /\{\/\$*[a-z0-9]+\}/gi,
1191
- validate: /^[a-z_][a-z0-9_-]*(?:\[[a-z0-9_-]*\])*$/i,
1192
- key: /[a-z0-9_-]+|(?=\[\])/gi,
1190
+ required: /{\$*[\da-z]+}/gi,
1191
+ optional: /{\/\$*[\da-z]+}/gi,
1192
+ validate: /^[_a-z][\w-]*(?:\[[\w-]*])*$/i,
1193
+ key: /[\w-]+|(?=\[])/gi,
1193
1194
  push: /^$/,
1194
1195
  fixed: /^\d+$/,
1195
- named: /^[a-z0-9_-]+$/i,
1196
+ named: /^[\w-]+$/i,
1196
1197
  },
1197
1198
 
1198
1199
  className: {