fomantic-ui 2.10.0-beta.1 → 2.10.0-beta.10

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 (287) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/.eslintrc.js +0 -10
  3. package/CONTRIBUTING.md +4 -1
  4. package/CONTRIBUTORS.md +1 -0
  5. package/FAQ.md +7 -2
  6. package/README.md +5 -9
  7. package/ROADMAP.md +4 -4
  8. package/SECURITY.md +8 -7
  9. package/changelog-setup.js +64 -70
  10. package/dist/components/accordion.css +1 -1
  11. package/dist/components/accordion.js +103 -142
  12. package/dist/components/accordion.min.css +1 -1
  13. package/dist/components/accordion.min.js +2 -2
  14. package/dist/components/ad.css +1 -1
  15. package/dist/components/ad.min.css +1 -1
  16. package/dist/components/api.js +157 -210
  17. package/dist/components/api.min.js +2 -2
  18. package/dist/components/breadcrumb.css +1 -1
  19. package/dist/components/breadcrumb.min.css +1 -1
  20. package/dist/components/button.css +1 -2
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +1 -2
  23. package/dist/components/calendar.js +314 -352
  24. package/dist/components/calendar.min.css +2 -2
  25. package/dist/components/calendar.min.js +2 -2
  26. package/dist/components/card.css +1 -1
  27. package/dist/components/card.min.css +1 -1
  28. package/dist/components/checkbox.css +1 -2
  29. package/dist/components/checkbox.js +85 -135
  30. package/dist/components/checkbox.min.css +2 -2
  31. package/dist/components/checkbox.min.js +2 -2
  32. package/dist/components/comment.css +1 -1
  33. package/dist/components/comment.min.css +1 -1
  34. package/dist/components/container.css +2 -4
  35. package/dist/components/container.min.css +2 -2
  36. package/dist/components/dimmer.css +1 -11
  37. package/dist/components/dimmer.js +61 -94
  38. package/dist/components/dimmer.min.css +2 -2
  39. package/dist/components/dimmer.min.js +2 -2
  40. package/dist/components/divider.css +1 -2
  41. package/dist/components/divider.min.css +2 -2
  42. package/dist/components/dropdown.css +30 -51
  43. package/dist/components/dropdown.js +736 -1055
  44. package/dist/components/dropdown.min.css +2 -2
  45. package/dist/components/dropdown.min.js +2 -2
  46. package/dist/components/embed.css +1 -1
  47. package/dist/components/embed.js +85 -114
  48. package/dist/components/embed.min.css +1 -1
  49. package/dist/components/embed.min.js +2 -2
  50. package/dist/components/emoji.css +3809 -7617
  51. package/dist/components/emoji.min.css +2 -2
  52. package/dist/components/feed.css +1 -1
  53. package/dist/components/feed.min.css +1 -1
  54. package/dist/components/flag.css +1 -1
  55. package/dist/components/flag.min.css +1 -1
  56. package/dist/components/flyout.css +2 -3
  57. package/dist/components/flyout.js +226 -355
  58. package/dist/components/flyout.min.css +2 -2
  59. package/dist/components/flyout.min.js +2 -2
  60. package/dist/components/form.css +5 -95
  61. package/dist/components/form.js +335 -444
  62. package/dist/components/form.min.css +2 -2
  63. package/dist/components/form.min.js +2 -2
  64. package/dist/components/grid.css +2 -58
  65. package/dist/components/grid.min.css +2 -2
  66. package/dist/components/header.css +1 -1
  67. package/dist/components/header.min.css +1 -1
  68. package/dist/components/icon.css +4 -4
  69. package/dist/components/icon.min.css +2 -2
  70. package/dist/components/image.css +1 -1
  71. package/dist/components/image.min.css +1 -1
  72. package/dist/components/input.css +1 -536
  73. package/dist/components/input.min.css +2 -2
  74. package/dist/components/item.css +1 -1
  75. package/dist/components/item.min.css +1 -1
  76. package/dist/components/label.css +1 -1
  77. package/dist/components/label.min.css +1 -1
  78. package/dist/components/list.css +1 -3
  79. package/dist/components/list.min.css +2 -2
  80. package/dist/components/loader.css +1 -1
  81. package/dist/components/loader.min.css +1 -1
  82. package/dist/components/menu.css +1 -9
  83. package/dist/components/menu.min.css +2 -2
  84. package/dist/components/message.css +1 -1
  85. package/dist/components/message.min.css +1 -1
  86. package/dist/components/modal.css +5 -9
  87. package/dist/components/modal.js +261 -384
  88. package/dist/components/modal.min.css +2 -2
  89. package/dist/components/modal.min.js +2 -2
  90. package/dist/components/nag.css +1 -1
  91. package/dist/components/nag.js +68 -98
  92. package/dist/components/nag.min.css +1 -1
  93. package/dist/components/nag.min.js +2 -2
  94. package/dist/components/placeholder.css +1 -1
  95. package/dist/components/placeholder.min.css +1 -1
  96. package/dist/components/popup.css +1 -2
  97. package/dist/components/popup.js +198 -271
  98. package/dist/components/popup.min.css +2 -2
  99. package/dist/components/popup.min.js +2 -2
  100. package/dist/components/progress.css +1 -1
  101. package/dist/components/progress.js +109 -144
  102. package/dist/components/progress.min.css +1 -1
  103. package/dist/components/progress.min.js +2 -2
  104. package/dist/components/rail.css +1 -1
  105. package/dist/components/rail.min.css +1 -1
  106. package/dist/components/rating.css +1 -1
  107. package/dist/components/rating.js +91 -123
  108. package/dist/components/rating.min.css +1 -1
  109. package/dist/components/rating.min.js +2 -2
  110. package/dist/components/reset.css +1 -1
  111. package/dist/components/reset.min.css +1 -1
  112. package/dist/components/reveal.css +1 -1
  113. package/dist/components/reveal.min.css +1 -1
  114. package/dist/components/search.css +2 -9
  115. package/dist/components/search.js +277 -379
  116. package/dist/components/search.min.css +2 -2
  117. package/dist/components/search.min.js +2 -2
  118. package/dist/components/segment.css +2 -7
  119. package/dist/components/segment.min.css +2 -2
  120. package/dist/components/shape.css +1 -2
  121. package/dist/components/shape.js +158 -224
  122. package/dist/components/shape.min.css +2 -2
  123. package/dist/components/shape.min.js +2 -2
  124. package/dist/components/sidebar.css +2 -3
  125. package/dist/components/sidebar.js +124 -206
  126. package/dist/components/sidebar.min.css +2 -2
  127. package/dist/components/sidebar.min.js +2 -2
  128. package/dist/components/site.css +9 -25
  129. package/dist/components/site.js +38 -57
  130. package/dist/components/site.min.css +2 -2
  131. package/dist/components/site.min.js +2 -2
  132. package/dist/components/slider.css +1 -1
  133. package/dist/components/slider.js +246 -329
  134. package/dist/components/slider.min.css +1 -1
  135. package/dist/components/slider.min.js +2 -2
  136. package/dist/components/state.js +70 -100
  137. package/dist/components/state.min.js +2 -2
  138. package/dist/components/statistic.css +1 -1
  139. package/dist/components/statistic.min.css +1 -1
  140. package/dist/components/step.css +1 -1
  141. package/dist/components/step.min.css +1 -1
  142. package/dist/components/sticky.css +1 -1
  143. package/dist/components/sticky.js +135 -180
  144. package/dist/components/sticky.min.css +1 -1
  145. package/dist/components/sticky.min.js +2 -2
  146. package/dist/components/tab.css +1 -1
  147. package/dist/components/tab.js +176 -244
  148. package/dist/components/tab.min.css +1 -1
  149. package/dist/components/tab.min.js +2 -2
  150. package/dist/components/table.css +3 -37
  151. package/dist/components/table.min.css +2 -2
  152. package/dist/components/text.css +1 -1
  153. package/dist/components/text.min.css +1 -1
  154. package/dist/components/toast.css +1 -3
  155. package/dist/components/toast.js +109 -147
  156. package/dist/components/toast.min.css +1 -1
  157. package/dist/components/toast.min.js +2 -2
  158. package/dist/components/transition.css +1 -1
  159. package/dist/components/transition.js +91 -146
  160. package/dist/components/transition.min.css +1 -1
  161. package/dist/components/transition.min.js +2 -2
  162. package/dist/components/visibility.js +146 -224
  163. package/dist/components/visibility.min.js +2 -2
  164. package/dist/semantic.css +3906 -8720
  165. package/dist/semantic.js +4397 -6155
  166. package/dist/semantic.min.css +2 -2
  167. package/dist/semantic.min.js +2 -2
  168. package/examples/assets/show-examples.js +2 -4
  169. package/gulpfile.js +5 -7
  170. package/package.json +3 -5
  171. package/scripts/nightly-version.js +7 -10
  172. package/src/README.md +3 -3
  173. package/src/definitions/behaviors/api.js +156 -209
  174. package/src/definitions/behaviors/form.js +334 -443
  175. package/src/definitions/behaviors/state.js +69 -99
  176. package/src/definitions/behaviors/visibility.js +145 -223
  177. package/src/definitions/collections/form.less +1 -13
  178. package/src/definitions/collections/grid.less +1 -61
  179. package/src/definitions/collections/menu.less +0 -11
  180. package/src/definitions/collections/table.less +1 -35
  181. package/src/definitions/elements/input.less +1 -61
  182. package/src/definitions/elements/segment.less +0 -6
  183. package/src/definitions/globals/site.js +37 -56
  184. package/src/definitions/globals/site.less +2 -18
  185. package/src/definitions/modules/accordion.js +102 -141
  186. package/src/definitions/modules/calendar.js +313 -351
  187. package/src/definitions/modules/checkbox.js +84 -134
  188. package/src/definitions/modules/dimmer.js +60 -93
  189. package/src/definitions/modules/dimmer.less +0 -9
  190. package/src/definitions/modules/dropdown.js +735 -1054
  191. package/src/definitions/modules/dropdown.less +31 -47
  192. package/src/definitions/modules/embed.js +84 -113
  193. package/src/definitions/modules/flyout.js +225 -354
  194. package/src/definitions/modules/modal.js +260 -383
  195. package/src/definitions/modules/modal.less +1 -1
  196. package/src/definitions/modules/nag.js +67 -97
  197. package/src/definitions/modules/popup.js +197 -270
  198. package/src/definitions/modules/progress.js +108 -143
  199. package/src/definitions/modules/rating.js +90 -122
  200. package/src/definitions/modules/search.js +276 -378
  201. package/src/definitions/modules/search.less +0 -3
  202. package/src/definitions/modules/shape.js +157 -223
  203. package/src/definitions/modules/sidebar.js +123 -205
  204. package/src/definitions/modules/slider.js +245 -328
  205. package/src/definitions/modules/slider.less +1 -1
  206. package/src/definitions/modules/sticky.js +134 -179
  207. package/src/definitions/modules/tab.js +175 -243
  208. package/src/definitions/modules/toast.js +108 -146
  209. package/src/definitions/modules/toast.less +1 -1
  210. package/src/definitions/modules/transition.js +90 -145
  211. package/src/theme.less +0 -13
  212. package/src/themes/basic/elements/icon.variables +1 -1
  213. package/src/themes/default/collections/grid.variables +0 -30
  214. package/src/themes/default/collections/table.variables +1 -5
  215. package/src/themes/default/elements/icon.variables +3 -3
  216. package/src/themes/default/globals/site.variables +8 -15
  217. package/src/themes/default/globals/variation.variables +1 -2
  218. package/src/themes/default/modules/dropdown.variables +1 -0
  219. package/src/themes/default/modules/slider.variables +1 -1
  220. package/src/themes/github/elements/icon.variables +1 -1
  221. package/src/themes/material/elements/icon.variables +1 -1
  222. package/tasks/README.md +1 -1
  223. package/tasks/admin/components/create.js +89 -122
  224. package/tasks/admin/components/init.js +34 -65
  225. package/tasks/admin/components/update.js +50 -61
  226. package/tasks/admin/distributions/create.js +71 -111
  227. package/tasks/admin/distributions/init.js +32 -63
  228. package/tasks/admin/distributions/update.js +49 -57
  229. package/tasks/admin/publish.js +1 -1
  230. package/tasks/admin/register.js +14 -19
  231. package/tasks/admin/release.js +2 -2
  232. package/tasks/build/assets.js +14 -18
  233. package/tasks/build/css.js +59 -68
  234. package/tasks/build/javascript.js +48 -56
  235. package/tasks/build.js +4 -6
  236. package/tasks/check-install.js +5 -8
  237. package/tasks/clean.js +5 -7
  238. package/tasks/collections/admin.js +14 -16
  239. package/tasks/collections/build.js +6 -8
  240. package/tasks/collections/docs.js +4 -6
  241. package/tasks/collections/install.js +2 -4
  242. package/tasks/collections/rtl.js +2 -4
  243. package/tasks/collections/various.js +2 -4
  244. package/tasks/config/admin/github.js +9 -19
  245. package/tasks/config/admin/templates/README.md +2 -2
  246. package/tasks/config/admin/templates/bower.json +2 -4
  247. package/tasks/config/admin/templates/composer.json +1 -1
  248. package/tasks/config/admin/templates/css-package.js +1 -4
  249. package/tasks/config/admin/templates/less-package.js +1 -3
  250. package/tasks/config/defaults.js +0 -1
  251. package/tasks/config/npm/gulpfile.js +4 -6
  252. package/tasks/config/project/config.js +27 -35
  253. package/tasks/config/project/install.js +64 -82
  254. package/tasks/config/project/release.js +7 -9
  255. package/tasks/config/tasks.js +10 -21
  256. package/tasks/config/user.js +14 -20
  257. package/tasks/docs/build.js +26 -31
  258. package/tasks/docs/metadata.js +30 -39
  259. package/tasks/docs/serve.js +23 -27
  260. package/tasks/install.js +94 -128
  261. package/tasks/rtl/build.js +2 -4
  262. package/tasks/rtl/watch.js +3 -5
  263. package/tasks/watch.js +13 -13
  264. package/test/meteor/fonts.js +1 -2
  265. package/test/modules/module.spec.js +16 -18
  266. package/types/fomantic-ui-calendar.d.ts +1 -1
  267. package/types/fomantic-ui-dropdown.d.ts +45 -1
  268. package/types/fomantic-ui-embed.d.ts +1 -1
  269. package/types/fomantic-ui-flyout.d.ts +1 -1
  270. package/types/fomantic-ui-form.d.ts +0 -7
  271. package/types/fomantic-ui-modal.d.ts +1 -1
  272. package/types/fomantic-ui-search.d.ts +12 -6
  273. package/types/fomantic-ui-toast.d.ts +1 -1
  274. package/src/themes/basic/assets/fonts/icons.woff +0 -0
  275. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  276. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  277. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  278. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  279. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  280. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  281. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  282. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  283. package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
  284. package/src/themes/default/assets/fonts/icons.woff +0 -0
  285. package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
  286. package/src/themes/github/assets/fonts/octicons.woff +0 -0
  287. package/src/themes/material/assets/fonts/icons.woff +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.10.0-beta.1+bee406e - API
2
+ * # Fomantic-UI 2.10.0-beta.10+3ca268e - API
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -24,72 +24,68 @@
24
24
  : globalThis;
25
25
 
26
26
  $.fn.api = function (parameters) {
27
- var
28
- // use window context if none specified
29
- $allModules = isFunction(this)
30
- ? $(window)
31
- : $(this),
32
- time = Date.now(),
33
- performance = [],
34
-
35
- query = arguments[0],
36
- methodInvoked = typeof query === 'string',
37
- queryArguments = [].slice.call(arguments, 1),
38
- contextCheck = function (context, win) {
39
- var $context;
40
- if ([window, document].indexOf(context) >= 0) {
41
- $context = $(context);
42
- } else {
43
- $context = $(win.document).find(context);
44
- if ($context.length === 0) {
45
- $context = win.frameElement ? contextCheck(context, win.parent) : window;
46
- }
27
+ // use window context if none specified
28
+ let $allModules = isFunction(this)
29
+ ? $(window)
30
+ : $(this);
31
+ let time = Date.now();
32
+ let performance = [];
33
+
34
+ let query = arguments[0];
35
+ let methodInvoked = typeof query === 'string';
36
+ let queryArguments = [].slice.call(arguments, 1);
37
+ let contextCheck = function (context, win) {
38
+ let $context;
39
+ if ([window, document].indexOf(context) >= 0) {
40
+ $context = $(context);
41
+ } else {
42
+ $context = $(win.document).find(context);
43
+ if ($context.length === 0) {
44
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
47
45
  }
46
+ }
48
47
 
49
- return $context;
50
- },
51
- returnedValue
52
- ;
48
+ return $context;
49
+ };
50
+ let returnedValue;
53
51
 
54
52
  $allModules.each(function () {
55
- var
56
- settings = $.isPlainObject(parameters)
57
- ? $.extend(true, {}, $.fn.api.settings, parameters)
58
- : $.extend({}, $.fn.api.settings),
59
-
60
- // internal aliases
61
- regExp = settings.regExp,
62
- namespace = settings.namespace,
63
- metadata = settings.metadata,
64
- selector = settings.selector,
65
- error = settings.error,
66
- className = settings.className,
67
-
68
- // define namespaces for modules
69
- eventNamespace = '.' + namespace,
70
- moduleNamespace = 'module-' + namespace,
71
-
72
- // element that creates request
73
- $module = $(this),
74
- $form = $module.closest(selector.form),
75
-
76
- // context used for state
77
- $context = settings.stateContext ? contextCheck(settings.stateContext, window) : $module,
78
-
79
- // request details
80
- ajaxSettings,
81
- requestSettings,
82
- url,
83
- data,
84
- requestStartTime,
85
- originalData,
86
-
87
- // standard module
88
- element = this,
89
- context = $context[0],
90
- instance = $module.data(moduleNamespace),
91
- module
92
- ;
53
+ let settings = $.isPlainObject(parameters)
54
+ ? $.extend(true, {}, $.fn.api.settings, parameters)
55
+ : $.extend({}, $.fn.api.settings);
56
+
57
+ // internal aliases
58
+ let regExp = settings.regExp;
59
+ let namespace = settings.namespace;
60
+ let metadata = settings.metadata;
61
+ let selector = settings.selector;
62
+ let error = settings.error;
63
+ let className = settings.className;
64
+
65
+ // define namespaces for modules
66
+ let eventNamespace = '.' + namespace;
67
+ let moduleNamespace = 'module-' + namespace;
68
+
69
+ // element that creates request
70
+ let $module = $(this);
71
+ let $form = $module.closest(selector.form);
72
+
73
+ // context used for state
74
+ let $context = settings.stateContext ? contextCheck(settings.stateContext, window) : $module;
75
+
76
+ // request details
77
+ let ajaxSettings;
78
+ let requestSettings;
79
+ let url;
80
+ let data;
81
+ let requestStartTime;
82
+ let originalData;
83
+
84
+ // standard module
85
+ let element = this;
86
+ let context = $context[0];
87
+ let instance = $module.data(moduleNamespace);
88
+ let module;
93
89
 
94
90
  module = {
95
91
 
@@ -105,28 +101,23 @@
105
101
  module.verbose('Storing instance of module', module);
106
102
  instance = module;
107
103
  $module
108
- .data(moduleNamespace, instance)
109
- ;
104
+ .data(moduleNamespace, instance);
110
105
  },
111
106
 
112
107
  destroy: function () {
113
108
  module.verbose('Destroying previous module for', element);
114
109
  $module
115
110
  .removeData(moduleNamespace)
116
- .off(eventNamespace)
117
- ;
111
+ .off(eventNamespace);
118
112
  },
119
113
 
120
114
  bind: {
121
115
  events: function () {
122
- var
123
- triggerEvent = module.get.event()
124
- ;
116
+ let triggerEvent = module.get.event();
125
117
  if (triggerEvent) {
126
118
  module.verbose('Attaching API events to element', triggerEvent);
127
119
  $module
128
- .on(triggerEvent + eventNamespace, module.event.trigger)
129
- ;
120
+ .on(triggerEvent + eventNamespace, module.event.trigger);
130
121
  } else if (settings.on === 'now') {
131
122
  module.debug('Querying API endpoint immediately');
132
123
  module.query();
@@ -150,9 +141,7 @@
150
141
 
151
142
  read: {
152
143
  cachedResponse: function (url) {
153
- var
154
- response
155
- ;
144
+ let response;
156
145
  if (window.Storage === undefined) {
157
146
  module.error(error.noStorage);
158
147
 
@@ -211,7 +200,7 @@
211
200
  // call beforesend and get any settings changes
212
201
  requestSettings = module.get.settings();
213
202
 
214
- // check if before send cancelled request
203
+ // check if before send canceled request
215
204
  if (requestSettings === false) {
216
205
  module.cancelled = true;
217
206
  module.error(error.beforeSend);
@@ -356,10 +345,8 @@
356
345
 
357
346
  add: {
358
347
  urlData: function (url, urlData) {
359
- var
360
- requiredVariables,
361
- optionalVariables
362
- ;
348
+ let requiredVariables;
349
+ let optionalVariables;
363
350
  if (url) {
364
351
  requiredVariables = url.match(regExp.required);
365
352
  optionalVariables = url.match(regExp.optional);
@@ -367,19 +354,17 @@
367
354
  if (requiredVariables) {
368
355
  module.debug('Looking for required URL variables', requiredVariables);
369
356
  $.each(requiredVariables, function (index, templatedString) {
370
- var
371
- // allow legacy {$var} style
372
- variable = templatedString.indexOf('$') !== -1
373
- ? templatedString.slice(2, -1)
374
- : templatedString.slice(1, -1),
375
- value = $.isPlainObject(urlData) && urlData[variable] !== undefined
376
- ? urlData[variable]
377
- : ($module.data(variable) !== undefined
378
- ? $module.data(variable)
379
- : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
380
- ? $context.data(variable)
381
- : urlData[variable]))
382
- ;
357
+ // allow legacy {$var} style
358
+ let variable = templatedString.indexOf('$') !== -1
359
+ ? templatedString.slice(2, -1)
360
+ : templatedString.slice(1, -1);
361
+ let value = $.isPlainObject(urlData) && urlData[variable] !== undefined
362
+ ? urlData[variable]
363
+ : ($module.data(variable) !== undefined
364
+ ? $module.data(variable)
365
+ : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
366
+ ? $context.data(variable)
367
+ : urlData[variable]));
383
368
  // remove value
384
369
  if (value === undefined) {
385
370
  module.error(error.requiredParameter, variable, url);
@@ -398,19 +383,17 @@
398
383
  if (optionalVariables) {
399
384
  module.debug('Looking for optional URL variables', requiredVariables);
400
385
  $.each(optionalVariables, function (index, templatedString) {
401
- var
402
- // allow legacy {/$var} style
403
- variable = templatedString.indexOf('$') !== -1
404
- ? templatedString.slice(3, -1)
405
- : templatedString.slice(2, -1),
406
- value = $.isPlainObject(urlData) && urlData[variable] !== undefined
407
- ? urlData[variable]
408
- : ($module.data(variable) !== undefined
409
- ? $module.data(variable)
410
- : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
411
- ? $context.data(variable)
412
- : urlData[variable]))
413
- ;
386
+ // allow legacy {/$var} style
387
+ let variable = templatedString.indexOf('$') !== -1
388
+ ? templatedString.slice(3, -1)
389
+ : templatedString.slice(2, -1);
390
+ let value = $.isPlainObject(urlData) && urlData[variable] !== undefined
391
+ ? urlData[variable]
392
+ : ($module.data(variable) !== undefined
393
+ ? $module.data(variable)
394
+ : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
395
+ ? $context.data(variable)
396
+ : urlData[variable]));
414
397
  // optional replacement
415
398
  if (value !== undefined) {
416
399
  module.verbose('Optional variable Found', variable, value);
@@ -429,11 +412,9 @@
429
412
  return url;
430
413
  },
431
414
  formData: function (data) {
432
- var
433
- formData = {},
434
- hasOtherData,
435
- useFormDataApi = settings.serializeForm === 'formdata'
436
- ;
415
+ let formData = {};
416
+ let hasOtherData;
417
+ let useFormDataApi = settings.serializeForm === 'formdata';
437
418
  data = data || originalData || settings.data;
438
419
  hasOtherData = $.isPlainObject(data);
439
420
 
@@ -442,16 +423,14 @@
442
423
  settings.processData = settings.processData !== undefined ? settings.processData : false;
443
424
  settings.contentType = settings.contentType !== undefined ? settings.contentType : false;
444
425
  } else {
445
- var
446
- formArray = $form.serializeArray(),
447
- pushes = {},
448
- pushValues = {},
449
- build = function (base, key, value) {
450
- base[key] = value;
451
-
452
- return base;
453
- }
454
- ;
426
+ let formArray = $form.serializeArray();
427
+ let pushes = {};
428
+ let pushValues = {};
429
+ let build = function (base, key, value) {
430
+ base[key] = value;
431
+
432
+ return base;
433
+ };
455
434
  // add files
456
435
  $.each($('input[type="file"]', $form), function (i, tag) {
457
436
  $.each($(tag)[0].files, function (j, file) {
@@ -462,17 +441,15 @@
462
441
  if (!regExp.validate.test(el.name)) {
463
442
  return;
464
443
  }
465
- var
466
- isCheckbox = $('[name="' + el.name + '"]', $form).attr('type') === 'checkbox',
467
- floatValue = parseFloat(el.value),
468
- value = (isCheckbox && el.value === 'on')
444
+ let isCheckbox = $('[name="' + CSS.escape(el.name) + '"]', $form).attr('type') === 'checkbox';
445
+ let floatValue = parseFloat(el.value);
446
+ let value = (isCheckbox && el.value === 'on')
469
447
  || el.value === 'true'
470
448
  || (String(floatValue) === el.value
471
449
  ? floatValue
472
- : (el.value === 'false' ? false : el.value)),
473
- nameKeys = el.name.match(regExp.key) || [],
474
- pushKey = el.name.replace(/\[]$/, '')
475
- ;
450
+ : (el.value === 'false' ? false : el.value));
451
+ let nameKeys = el.name.match(regExp.key) || [];
452
+ let pushKey = el.name.replace(/\[]$/, '');
476
453
  if (!(pushKey in pushes)) {
477
454
  pushes[pushKey] = 0;
478
455
  pushValues[pushKey] = value;
@@ -486,7 +463,7 @@
486
463
  }
487
464
 
488
465
  while (nameKeys.length > 0) {
489
- var k = nameKeys.pop();
466
+ let k = nameKeys.pop();
490
467
 
491
468
  if (k === '' && !Array.isArray(value)) { // foo[]
492
469
  value = build([], pushes[pushKey]++, value);
@@ -544,16 +521,14 @@
544
521
  // nothing special
545
522
  },
546
523
  done: function (response, textStatus, xhr) {
547
- var
548
- context = this,
549
- elapsedTime = Date.now() - requestStartTime,
550
- timeLeft = settings.loadingDuration - elapsedTime,
551
- translatedResponse = isFunction(settings.onResponse)
552
- ? (module.is.expectingJSON() && !settings.rawResponse
553
- ? settings.onResponse.call(context, $.extend(true, {}, response))
554
- : settings.onResponse.call(context, response))
555
- : false
556
- ;
524
+ let context = this;
525
+ let elapsedTime = Date.now() - requestStartTime;
526
+ let timeLeft = settings.loadingDuration - elapsedTime;
527
+ let translatedResponse = isFunction(settings.onResponse)
528
+ ? (module.is.expectingJSON() && !settings.rawResponse
529
+ ? settings.onResponse.call(context, $.extend(true, {}, response))
530
+ : settings.onResponse.call(context, response))
531
+ : false;
557
532
  timeLeft = timeLeft > 0
558
533
  ? timeLeft
559
534
  : 0;
@@ -573,11 +548,9 @@
573
548
  }, timeLeft);
574
549
  },
575
550
  fail: function (xhr, status, httpMessage) {
576
- var
577
- context = this,
578
- elapsedTime = Date.now() - requestStartTime,
579
- timeLeft = settings.loadingDuration - elapsedTime
580
- ;
551
+ let context = this;
552
+ let elapsedTime = Date.now() - requestStartTime;
553
+ let timeLeft = settings.loadingDuration - elapsedTime;
581
554
  timeLeft = timeLeft > 0
582
555
  ? timeLeft
583
556
  : 0;
@@ -603,10 +576,8 @@
603
576
  settings.onSuccess.call(context, response, $module, xhr);
604
577
  },
605
578
  complete: function (firstParameter, secondParameter) {
606
- var
607
- xhr,
608
- response
609
- ;
579
+ let xhr;
580
+ let response;
610
581
  // have to guess callback parameters based on request success
611
582
  if (module.was.successful()) {
612
583
  response = firstParameter;
@@ -619,11 +590,9 @@
619
590
  settings.onComplete.call(context, response, $module, xhr);
620
591
  },
621
592
  fail: function (xhr, status, httpMessage) {
622
- var
623
- // pull response from xhr if available
624
- response = module.get.responseFromXHR(xhr),
625
- errorMessage = module.get.errorFromRequest(response, status, httpMessage)
626
- ;
593
+ // pull response from xhr if available
594
+ let response = module.get.responseFromXHR(xhr);
595
+ let errorMessage = module.get.errorFromRequest(response, status, httpMessage);
627
596
  if (status === 'aborted') {
628
597
  module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
629
598
  settings.onAbort.call(context, status, $module, xhr);
@@ -665,28 +634,24 @@
665
634
  return $.Deferred()
666
635
  .always(module.event.request.complete)
667
636
  .done(module.event.request.done)
668
- .fail(module.event.request.fail)
669
- ;
637
+ .fail(module.event.request.fail);
670
638
  },
671
639
 
672
640
  mockedXHR: function () {
673
- var
674
- // xhr does not simulate these properties of xhr but must return them
675
- textStatus = false,
676
- status = false,
677
- httpMessage = false,
678
- responder = settings.mockResponse || settings.response,
679
- asyncResponder = settings.mockResponseAsync || settings.responseAsync,
680
- asyncCallback,
681
- response,
682
- mockedXHR
683
- ;
641
+ // xhr does not simulate these properties of xhr but must return them
642
+ let textStatus = false;
643
+ let status = false;
644
+ let httpMessage = false;
645
+ let responder = settings.mockResponse || settings.response;
646
+ let asyncResponder = settings.mockResponseAsync || settings.responseAsync;
647
+ let asyncCallback;
648
+ let response;
649
+ let mockedXHR;
684
650
 
685
651
  mockedXHR = $.Deferred()
686
652
  .always(module.event.xhr.complete)
687
653
  .done(module.event.xhr.done)
688
- .fail(module.event.xhr.fail)
689
- ;
654
+ .fail(module.event.xhr.fail);
690
655
 
691
656
  if (responder) {
692
657
  if (isFunction(responder)) {
@@ -716,15 +681,12 @@
716
681
  },
717
682
 
718
683
  xhr: function () {
719
- var
720
- xhr
721
- ;
684
+ let xhr;
722
685
  // ajax request promise
723
686
  xhr = $.ajax(ajaxSettings)
724
687
  .always(module.event.xhr.always)
725
688
  .done(module.event.xhr.done)
726
- .fail(module.event.xhr.fail)
727
- ;
689
+ .fail(module.event.xhr.fail);
728
690
  module.verbose('Created server request', xhr, ajaxSettings);
729
691
 
730
692
  return xhr;
@@ -767,8 +729,8 @@
767
729
  },
768
730
  errorFromRequest: function (response, status, httpMessage) {
769
731
  return $.isPlainObject(response) && response.error !== undefined
770
- ? response.error // use json error message
771
- : (settings.error[status] !== undefined // use server error message
732
+ ? response.error // use JSON error message
733
+ : (settings.error[status] !== undefined // use the server error message
772
734
  ? settings.error[status]
773
735
  : httpMessage);
774
736
  },
@@ -779,9 +741,7 @@
779
741
  return module.xhr || false;
780
742
  },
781
743
  settings: function () {
782
- var
783
- runSettings
784
- ;
744
+ let runSettings;
785
745
  runSettings = settings.beforeSend.call($module, settings);
786
746
  if (runSettings) {
787
747
  if (runSettings.success !== undefined) {
@@ -812,11 +772,9 @@
812
772
  : $.extend(true, {}, settings);
813
773
  },
814
774
  urlEncodedValue: function (value) {
815
- var
816
- decodedValue = window.decodeURIComponent(value),
817
- encodedValue = window.encodeURIComponent(value),
818
- alreadyEncoded = decodedValue !== value
819
- ;
775
+ let decodedValue = window.decodeURIComponent(value);
776
+ let encodedValue = window.encodeURIComponent(value);
777
+ let alreadyEncoded = decodedValue !== value;
820
778
  if (alreadyEncoded) {
821
779
  module.debug('URL value is already encoded, avoiding double encoding', value);
822
780
 
@@ -827,9 +785,7 @@
827
785
  return encodedValue;
828
786
  },
829
787
  defaultData: function () {
830
- var
831
- data = {}
832
- ;
788
+ let data = {};
833
789
  if (!isWindow(element)) {
834
790
  if (module.is.input()) {
835
791
  data.value = $module.val();
@@ -889,9 +845,7 @@
889
845
  },
890
846
 
891
847
  abort: function () {
892
- var
893
- xhr = module.get.xhr()
894
- ;
848
+ let xhr = module.get.xhr();
895
849
  if (xhr && xhr.state() !== 'resolved') {
896
850
  module.debug('Cancelling API request');
897
851
  xhr.abort();
@@ -955,11 +909,9 @@
955
909
  },
956
910
  performance: {
957
911
  log: function (message) {
958
- var
959
- currentTime,
960
- executionTime,
961
- previousTime
962
- ;
912
+ let currentTime;
913
+ let executionTime;
914
+ let previousTime;
963
915
  if (settings.performance) {
964
916
  currentTime = Date.now();
965
917
  previousTime = time || currentTime;
@@ -978,10 +930,8 @@
978
930
  }, 500);
979
931
  },
980
932
  display: function () {
981
- var
982
- title = settings.name + ':',
983
- totalTime = 0
984
- ;
933
+ let title = settings.name + ':';
934
+ let totalTime = 0;
985
935
  time = false;
986
936
  clearTimeout(module.performance.timer);
987
937
  $.each(performance, function (index, data) {
@@ -1003,22 +953,19 @@
1003
953
  },
1004
954
  },
1005
955
  invoke: function (query, passedArguments, context) {
1006
- var
1007
- object = instance,
1008
- maxDepth,
1009
- found,
1010
- response
1011
- ;
956
+ let object = instance;
957
+ let maxDepth;
958
+ let found;
959
+ let response;
1012
960
  passedArguments = passedArguments || queryArguments;
1013
961
  context = context || element;
1014
962
  if (typeof query === 'string' && object !== undefined) {
1015
963
  query = query.split(/[ .]/);
1016
964
  maxDepth = query.length - 1;
1017
965
  $.each(query, function (depth, value) {
1018
- var camelCaseValue = depth !== maxDepth
966
+ let camelCaseValue = depth !== maxDepth
1019
967
  ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1020
- : query
1021
- ;
968
+ : query;
1022
969
  if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
1023
970
  object = object[camelCaseValue];
1024
971
  } else if (object[camelCaseValue] !== undefined) {
@@ -1125,7 +1072,7 @@
1125
1072
  // whether to add default data to url data
1126
1073
  defaultData: true,
1127
1074
 
1128
- // whether to serialize closest form
1075
+ // whether to serialize the closest form
1129
1076
  // use true to convert complex named keys like a[b][1][c][] into a nested object
1130
1077
  // use 'formdata' for formdata web api
1131
1078
  serializeForm: false,
@@ -1162,7 +1109,7 @@
1162
1109
  // after request
1163
1110
  onResponse: false, // function(response) { },
1164
1111
 
1165
- // response was successful, if JSON passed validation
1112
+ // response was successful if JSON passed validation
1166
1113
  onSuccess: function (response, $module) {},
1167
1114
 
1168
1115
  // request finished without aborting