fomantic-ui 2.10.0-beta.4 → 2.10.0-beta.40

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 (246) hide show
  1. package/.eslintrc.js +0 -10
  2. package/CHANGELOG.md +5289 -2325
  3. package/README.md +4 -5
  4. package/changelog-setup.js +85 -69
  5. package/changelog-template.hbs +256 -251
  6. package/dist/components/accordion.css +1 -1
  7. package/dist/components/accordion.js +103 -142
  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 +152 -205
  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 -2
  17. package/dist/components/button.min.css +2 -2
  18. package/dist/components/calendar.css +1 -1
  19. package/dist/components/calendar.js +308 -346
  20. package/dist/components/calendar.min.css +1 -1
  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 +85 -127
  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 +58 -91
  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 +7 -5
  39. package/dist/components/dropdown.js +744 -1071
  40. package/dist/components/dropdown.min.css +2 -2
  41. package/dist/components/dropdown.min.js +2 -2
  42. package/dist/components/embed.css +1 -1
  43. package/dist/components/embed.js +83 -113
  44. package/dist/components/embed.min.css +1 -1
  45. package/dist/components/embed.min.js +2 -2
  46. package/dist/components/emoji.css +3809 -7617
  47. package/dist/components/emoji.min.css +2 -2
  48. package/dist/components/feed.css +1 -1
  49. package/dist/components/feed.min.css +1 -1
  50. package/dist/components/flag.css +1 -1
  51. package/dist/components/flag.min.css +1 -1
  52. package/dist/components/flyout.css +1 -1
  53. package/dist/components/flyout.js +225 -314
  54. package/dist/components/flyout.min.css +1 -1
  55. package/dist/components/flyout.min.js +2 -2
  56. package/dist/components/form.css +1 -1
  57. package/dist/components/form.js +325 -429
  58. package/dist/components/form.min.css +1 -1
  59. package/dist/components/form.min.js +2 -2
  60. package/dist/components/grid.css +1 -1
  61. package/dist/components/grid.min.css +1 -1
  62. package/dist/components/header.css +1 -1
  63. package/dist/components/header.min.css +1 -1
  64. package/dist/components/icon.css +1 -1
  65. package/dist/components/icon.min.css +1 -1
  66. package/dist/components/image.css +1 -1
  67. package/dist/components/image.min.css +1 -1
  68. package/dist/components/input.css +1 -1
  69. package/dist/components/input.min.css +1 -1
  70. package/dist/components/item.css +1 -1
  71. package/dist/components/item.min.css +1 -1
  72. package/dist/components/label.css +2 -1
  73. package/dist/components/label.min.css +2 -2
  74. package/dist/components/list.css +1 -1
  75. package/dist/components/list.min.css +1 -1
  76. package/dist/components/loader.css +1 -1
  77. package/dist/components/loader.min.css +1 -1
  78. package/dist/components/menu.css +40 -40
  79. package/dist/components/menu.min.css +2 -2
  80. package/dist/components/message.css +1 -1
  81. package/dist/components/message.min.css +1 -1
  82. package/dist/components/modal.css +3 -3
  83. package/dist/components/modal.js +259 -358
  84. package/dist/components/modal.min.css +2 -2
  85. package/dist/components/modal.min.js +2 -2
  86. package/dist/components/nag.css +1 -1
  87. package/dist/components/nag.js +67 -97
  88. package/dist/components/nag.min.css +1 -1
  89. package/dist/components/nag.min.js +2 -2
  90. package/dist/components/placeholder.css +1 -1
  91. package/dist/components/placeholder.min.css +1 -1
  92. package/dist/components/popup.css +1 -1
  93. package/dist/components/popup.js +190 -264
  94. package/dist/components/popup.min.css +1 -1
  95. package/dist/components/popup.min.js +2 -2
  96. package/dist/components/progress.css +1 -1
  97. package/dist/components/progress.js +103 -138
  98. package/dist/components/progress.min.css +1 -1
  99. package/dist/components/progress.min.js +2 -2
  100. package/dist/components/rail.css +1 -1
  101. package/dist/components/rail.min.css +1 -1
  102. package/dist/components/rating.css +1 -1
  103. package/dist/components/rating.js +90 -123
  104. package/dist/components/rating.min.css +1 -1
  105. package/dist/components/rating.min.js +2 -2
  106. package/dist/components/reset.css +1 -1
  107. package/dist/components/reset.min.css +1 -1
  108. package/dist/components/reveal.css +1 -1
  109. package/dist/components/reveal.min.css +1 -1
  110. package/dist/components/search.css +1 -1
  111. package/dist/components/search.js +270 -373
  112. package/dist/components/search.min.css +1 -1
  113. package/dist/components/search.min.js +2 -2
  114. package/dist/components/segment.css +1 -1
  115. package/dist/components/segment.min.css +1 -1
  116. package/dist/components/shape.css +1 -1
  117. package/dist/components/shape.js +157 -223
  118. package/dist/components/shape.min.css +1 -1
  119. package/dist/components/shape.min.js +2 -2
  120. package/dist/components/sidebar.css +1 -1
  121. package/dist/components/sidebar.js +125 -165
  122. package/dist/components/sidebar.min.css +1 -1
  123. package/dist/components/sidebar.min.js +2 -2
  124. package/dist/components/site.css +1 -1
  125. package/dist/components/site.js +38 -57
  126. package/dist/components/site.min.css +1 -1
  127. package/dist/components/site.min.js +2 -2
  128. package/dist/components/slider.css +1 -1
  129. package/dist/components/slider.js +242 -325
  130. package/dist/components/slider.min.css +1 -1
  131. package/dist/components/slider.min.js +2 -2
  132. package/dist/components/state.js +68 -98
  133. package/dist/components/state.min.js +2 -2
  134. package/dist/components/statistic.css +1 -1
  135. package/dist/components/statistic.min.css +1 -1
  136. package/dist/components/step.css +1 -1
  137. package/dist/components/step.min.css +1 -1
  138. package/dist/components/sticky.css +1 -1
  139. package/dist/components/sticky.js +131 -176
  140. package/dist/components/sticky.min.css +1 -1
  141. package/dist/components/sticky.min.js +2 -2
  142. package/dist/components/tab.css +1 -1
  143. package/dist/components/tab.js +168 -233
  144. package/dist/components/tab.min.css +1 -1
  145. package/dist/components/tab.min.js +2 -2
  146. package/dist/components/table.css +8 -8
  147. package/dist/components/table.min.css +2 -2
  148. package/dist/components/text.css +1 -1
  149. package/dist/components/text.min.css +1 -1
  150. package/dist/components/toast.css +1 -1
  151. package/dist/components/toast.js +104 -143
  152. package/dist/components/toast.min.css +1 -1
  153. package/dist/components/toast.min.js +2 -2
  154. package/dist/components/transition.css +1 -1
  155. package/dist/components/transition.js +86 -141
  156. package/dist/components/transition.min.css +1 -1
  157. package/dist/components/transition.min.js +2 -2
  158. package/dist/components/visibility.js +145 -223
  159. package/dist/components/visibility.min.js +2 -2
  160. package/dist/semantic.css +3916 -7722
  161. package/dist/semantic.js +4324 -5973
  162. package/dist/semantic.min.css +2 -2
  163. package/dist/semantic.min.js +2 -2
  164. package/examples/assets/show-examples.js +2 -4
  165. package/examples/attached.html +1 -1
  166. package/examples/components/menu.html +1 -1
  167. package/gulpfile.js +5 -7
  168. package/package.json +1 -3
  169. package/scripts/nightly-version.js +7 -10
  170. package/src/definitions/behaviors/api.js +151 -204
  171. package/src/definitions/behaviors/form.js +324 -428
  172. package/src/definitions/behaviors/state.js +67 -97
  173. package/src/definitions/behaviors/visibility.js +144 -222
  174. package/src/definitions/collections/menu.less +101 -96
  175. package/src/definitions/collections/table.less +7 -7
  176. package/src/definitions/elements/button.less +0 -1
  177. package/src/definitions/elements/label.less +1 -0
  178. package/src/definitions/globals/site.js +37 -56
  179. package/src/definitions/modules/accordion.js +102 -141
  180. package/src/definitions/modules/calendar.js +307 -345
  181. package/src/definitions/modules/checkbox.js +84 -126
  182. package/src/definitions/modules/dimmer.js +57 -90
  183. package/src/definitions/modules/dropdown.js +743 -1070
  184. package/src/definitions/modules/dropdown.less +11 -5
  185. package/src/definitions/modules/embed.js +82 -112
  186. package/src/definitions/modules/flyout.js +224 -313
  187. package/src/definitions/modules/modal.js +258 -357
  188. package/src/definitions/modules/modal.less +1 -1
  189. package/src/definitions/modules/nag.js +66 -96
  190. package/src/definitions/modules/popup.js +189 -263
  191. package/src/definitions/modules/progress.js +102 -137
  192. package/src/definitions/modules/rating.js +89 -122
  193. package/src/definitions/modules/search.js +269 -372
  194. package/src/definitions/modules/shape.js +156 -222
  195. package/src/definitions/modules/sidebar.js +124 -164
  196. package/src/definitions/modules/slider.js +241 -324
  197. package/src/definitions/modules/sticky.js +130 -175
  198. package/src/definitions/modules/tab.js +167 -232
  199. package/src/definitions/modules/toast.js +103 -142
  200. package/src/definitions/modules/transition.js +85 -140
  201. package/src/themes/chubby/collections/menu.variables +1 -1
  202. package/src/themes/default/collections/menu.variables +23 -23
  203. package/src/themes/default/globals/variation.variables +3 -2
  204. package/src/themes/default/modules/dropdown.variables +1 -0
  205. package/src/themes/default/modules/modal.variables +1 -1
  206. package/tasks/admin/components/create.js +88 -108
  207. package/tasks/admin/components/init.js +26 -32
  208. package/tasks/admin/components/update.js +46 -53
  209. package/tasks/admin/distributions/create.js +71 -101
  210. package/tasks/admin/distributions/init.js +27 -33
  211. package/tasks/admin/distributions/update.js +45 -52
  212. package/tasks/admin/register.js +11 -15
  213. package/tasks/build/assets.js +14 -18
  214. package/tasks/build/css.js +54 -63
  215. package/tasks/build/javascript.js +45 -53
  216. package/tasks/build.js +4 -6
  217. package/tasks/check-install.js +5 -7
  218. package/tasks/clean.js +2 -4
  219. package/tasks/collections/admin.js +13 -15
  220. package/tasks/collections/build.js +6 -8
  221. package/tasks/collections/docs.js +2 -4
  222. package/tasks/collections/install.js +2 -4
  223. package/tasks/collections/rtl.js +2 -4
  224. package/tasks/collections/various.js +2 -4
  225. package/tasks/config/admin/github.js +7 -9
  226. package/tasks/config/admin/templates/css-package.js +1 -3
  227. package/tasks/config/admin/templates/less-package.js +1 -3
  228. package/tasks/config/defaults.js +0 -1
  229. package/tasks/config/npm/gulpfile.js +4 -6
  230. package/tasks/config/project/config.js +22 -30
  231. package/tasks/config/project/install.js +61 -78
  232. package/tasks/config/project/release.js +6 -8
  233. package/tasks/config/tasks.js +8 -12
  234. package/tasks/config/user.js +13 -17
  235. package/tasks/docs/build.js +26 -31
  236. package/tasks/docs/metadata.js +24 -30
  237. package/tasks/docs/serve.js +20 -26
  238. package/tasks/install.js +81 -109
  239. package/tasks/rtl/build.js +2 -4
  240. package/tasks/rtl/watch.js +2 -4
  241. package/tasks/watch.js +9 -11
  242. package/test/meteor/fonts.js +1 -2
  243. package/test/modules/module.spec.js +16 -18
  244. package/types/fomantic-ui-dropdown.d.ts +44 -0
  245. package/types/fomantic-ui-embed.d.ts +1 -1
  246. package/types/fomantic-ui-search.d.ts +6 -6
package/tasks/install.js CHANGED
@@ -12,47 +12,42 @@
12
12
  * Standard installer runs asking for paths to site files etc.
13
13
  */
14
14
 
15
- const
16
- // node dependencies
17
- fs = require('fs-extra'),
18
- path = require('path'),
19
- extend = require('extend'),
20
- console = require('@fomantic/better-console'),
21
- gulp = require('gulp'),
22
-
23
- // gulp dependencies
24
- jsonEditor = require('gulp-json-editor'),
25
- plumber = require('@fomantic/gulp-plumber'),
26
- inquirer = require('inquirer'),
27
- rename = require('gulp-rename'),
28
- replace = require('gulp-replace'),
29
- requireDotFile = require('require-dot-file'),
30
- wrench = require('wrench-sui'),
31
-
32
- // install config
33
- install = require('./config/project/install'),
34
-
35
- // release config (name/title/etc)
36
- release = require('./config/project/release'),
37
-
38
- // shorthand
39
- questions = install.questions,
40
- files = install.files,
41
- folders = install.folders,
42
- regExp = install.regExp,
43
- settings = install.settings,
44
- source = install.source
45
- ;
15
+ // node dependencies
16
+ const fs = require('fs-extra');
17
+ const path = require('node:path');
18
+ const extend = require('extend');
19
+ const console = require('@fomantic/better-console');
20
+ const gulp = require('gulp');
21
+
22
+ // gulp dependencies
23
+ const jsonEditor = require('gulp-json-editor');
24
+ const plumber = require('@fomantic/gulp-plumber');
25
+ const inquirer = require('inquirer');
26
+ const rename = require('gulp-rename');
27
+ const replace = require('gulp-replace');
28
+ const requireDotFile = require('require-dot-file');
29
+
30
+ // install config
31
+ const install = require('./config/project/install');
32
+
33
+ // release config (name/title/etc)
34
+ const release = require('./config/project/release');
35
+
36
+ // shorthand
37
+ const questions = install.questions;
38
+ const files = install.files;
39
+ const folders = install.folders;
40
+ const regExp = install.regExp;
41
+ const settings = install.settings;
42
+ const source = install.source;
46
43
 
47
44
  // Export install task
48
45
  module.exports = function (callback) {
49
- let
50
- currentConfig = requireDotFile('semantic.json', process.cwd()),
51
- manager = install.getPackageManager(),
52
- rootQuestions = questions.root,
53
- installFolder = false,
54
- answers
55
- ;
46
+ let currentConfig = requireDotFile('semantic.json', process.cwd());
47
+ let manager = install.getPackageManager();
48
+ let rootQuestions = questions.root;
49
+ let installFolder = false;
50
+ let answers;
56
51
 
57
52
  console.clear();
58
53
 
@@ -84,19 +79,17 @@ module.exports = function (callback) {
84
79
 
85
80
  // run update scripts if semantic.json exists
86
81
  if (currentConfig && manager.name === 'NPM') {
87
- let
88
- updateFolder = path.join(manager.root, currentConfig.base),
89
- updatePaths = {
90
- config: path.join(manager.root, files.config),
91
- tasks: path.join(updateFolder, folders.tasks),
92
- overridesImport: path.join(updateFolder, folders.overridesImport),
93
- themeImport: path.join(updateFolder, folders.themeImport),
94
- definition: path.join(currentConfig.paths.source.definitions),
95
- site: path.join(currentConfig.paths.source.site),
96
- theme: path.join(currentConfig.paths.source.themes),
97
- defaultTheme: path.join(currentConfig.paths.source.themes, folders.defaultTheme),
98
- }
99
- ;
82
+ let updateFolder = path.join(manager.root, currentConfig.base);
83
+ let updatePaths = {
84
+ config: path.join(manager.root, files.config),
85
+ tasks: path.join(updateFolder, folders.tasks),
86
+ overridesImport: path.join(updateFolder, folders.overridesImport),
87
+ themeImport: path.join(updateFolder, folders.themeImport),
88
+ definition: path.join(currentConfig.paths.source.definitions),
89
+ site: path.join(currentConfig.paths.source.site),
90
+ theme: path.join(currentConfig.paths.source.themes),
91
+ defaultTheme: path.join(currentConfig.paths.source.themes, folders.defaultTheme),
92
+ };
100
93
 
101
94
  // duck-type if there is a project installed
102
95
  if (fs.pathExistsSync(updatePaths.definition)) {
@@ -105,34 +98,31 @@ module.exports = function (callback) {
105
98
  console.log('Updating Fomantic UI from ' + currentConfig.version + ' to ' + release.version);
106
99
 
107
100
  console.info('Updating ui definitions...');
108
- wrench.copyDirSyncRecursive(source.definitions, updatePaths.definition, settings.wrench.overwrite);
101
+ fs.copySync(source.definitions, updatePaths.definition, settings.copy.overwrite);
109
102
 
110
103
  console.info('Updating default theme...');
111
- wrench.copyDirSyncRecursive(source.themes, updatePaths.theme, settings.wrench.merge);
112
- wrench.copyDirSyncRecursive(source.defaultTheme, updatePaths.defaultTheme, settings.wrench.overwrite);
104
+ fs.copySync(source.themes, updatePaths.theme, settings.copy.merge);
105
+ fs.copySync(source.defaultTheme, updatePaths.defaultTheme, settings.copy.overwrite);
113
106
 
114
107
  console.info('Updating tasks...');
115
- wrench.copyDirSyncRecursive(source.tasks, updatePaths.tasks, settings.wrench.overwrite);
108
+ fs.copySync(source.tasks, updatePaths.tasks, settings.copy.overwrite);
116
109
 
117
110
  console.info('Updating gulpfile.js');
118
111
  gulp.src(source.userGulpFile)
119
112
  .pipe(plumber())
120
- .pipe(gulp.dest(updateFolder))
121
- ;
113
+ .pipe(gulp.dest(updateFolder));
122
114
 
123
115
  // copy theme import
124
116
  console.info('Updating theme import file');
125
117
  gulp.src(source.themeImport)
126
118
  .pipe(plumber())
127
- .pipe(gulp.dest(updatePaths.themeImport))
128
- ;
119
+ .pipe(gulp.dest(updatePaths.themeImport));
129
120
  console.info('Updating overrides import file');
130
121
  gulp.src(source.overridesImport)
131
122
  .pipe(plumber())
132
- .pipe(gulp.dest(updatePaths.overridesImport))
133
- ;
123
+ .pipe(gulp.dest(updatePaths.overridesImport));
134
124
  console.info('Adding new site theme files...');
135
- wrench.copyDirSyncRecursive(source.site, updatePaths.site, settings.wrench.merge);
125
+ fs.copySync(source.site, updatePaths.site, settings.copy.merge);
136
126
 
137
127
  console.info('Updating version...');
138
128
 
@@ -143,8 +133,7 @@ module.exports = function (callback) {
143
133
  .pipe(jsonEditor({
144
134
  version: release.version,
145
135
  }))
146
- .pipe(gulp.dest(manager.root))
147
- ;
136
+ .pipe(gulp.dest(manager.root));
148
137
 
149
138
  console.info('Update complete! Run "\u001B[92mgulp build\u001B[0m" to rebuild dist/ files.');
150
139
 
@@ -171,8 +160,7 @@ module.exports = function (callback) {
171
160
  if (manager.name === 'NPM') {
172
161
  rootQuestions[0].message = rootQuestions[0].message
173
162
  .replace('{packageMessage}', 'We detected you are using ' + manager.name + ' Nice!')
174
- .replace('{root}', manager.root)
175
- ;
163
+ .replace('{root}', manager.root);
176
164
  // set default path to the detected PM root
177
165
  rootQuestions[0].default = manager.root;
178
166
  rootQuestions[1].default = manager.root;
@@ -203,8 +191,7 @@ module.exports = function (callback) {
203
191
  .then((setupAnswers) => {
204
192
  // hoist
205
193
  answers = setupAnswers;
206
- })
207
- ;
194
+ });
208
195
  }
209
196
  });
210
197
 
@@ -231,15 +218,13 @@ module.exports = function (callback) {
231
218
  Paths
232
219
  --------------- */
233
220
 
234
- let
235
- installPaths = {
236
- config: files.config,
237
- configFolder: folders.config,
238
- site: answers.site || folders.site,
239
- themeConfig: files.themeConfig,
240
- themeConfigFolder: folders.themeConfig,
241
- }
242
- ;
221
+ let installPaths = {
222
+ config: files.config,
223
+ configFolder: folders.config,
224
+ site: answers.site || folders.site,
225
+ themeConfig: files.themeConfig,
226
+ themeConfigFolder: folders.themeConfig,
227
+ };
243
228
 
244
229
  /* --------------
245
230
  NPM Install
@@ -295,36 +280,32 @@ module.exports = function (callback) {
295
280
  console.log('Installing to \u001B[92m' + answers.semanticRoot + '\u001B[0m');
296
281
 
297
282
  console.info('Copying UI definitions');
298
- wrench.copyDirSyncRecursive(source.definitions, installPaths.definition, settings.wrench.overwrite);
283
+ fs.copySync(source.definitions, installPaths.definition, settings.copy.overwrite);
299
284
 
300
285
  console.info('Copying UI themes');
301
- wrench.copyDirSyncRecursive(source.themes, installPaths.theme, settings.wrench.merge);
302
- wrench.copyDirSyncRecursive(source.defaultTheme, installPaths.defaultTheme, settings.wrench.overwrite);
286
+ fs.copySync(source.themes, installPaths.theme, settings.copy.merge);
287
+ fs.copySync(source.defaultTheme, installPaths.defaultTheme, settings.copy.overwrite);
303
288
 
304
289
  console.info('Copying gulp tasks');
305
- wrench.copyDirSyncRecursive(source.tasks, installPaths.tasks, settings.wrench.overwrite);
290
+ fs.copySync(source.tasks, installPaths.tasks, settings.copy.overwrite);
306
291
 
307
292
  // copy theme import
308
293
  console.info('Adding theme files');
309
294
  gulp.src(source.themeImport)
310
295
  .pipe(plumber())
311
- .pipe(gulp.dest(installPaths.themeImport))
312
- ;
296
+ .pipe(gulp.dest(installPaths.themeImport));
313
297
  gulp.src(source.overridesImport)
314
298
  .pipe(plumber())
315
- .pipe(gulp.dest(installPaths.overridesImport))
316
- ;
299
+ .pipe(gulp.dest(installPaths.overridesImport));
317
300
  gulp.src(source.lessImport)
318
301
  .pipe(plumber())
319
- .pipe(gulp.dest(installPaths.lessImport))
320
- ;
302
+ .pipe(gulp.dest(installPaths.lessImport));
321
303
 
322
304
  // create gulp file
323
305
  console.info('Creating gulpfile.js');
324
306
  gulp.src(source.userGulpFile)
325
307
  .pipe(plumber())
326
- .pipe(gulp.dest(installFolder))
327
- ;
308
+ .pipe(gulp.dest(installFolder));
328
309
  }
329
310
 
330
311
  /* --------------
@@ -337,19 +318,17 @@ module.exports = function (callback) {
337
318
  } else {
338
319
  console.info('Creating site theme folder', installPaths.site);
339
320
  }
340
- wrench.copyDirSyncRecursive(source.site, installPaths.site, settings.wrench.merge);
321
+ fs.copySync(source.site, installPaths.site, settings.copy.merge);
341
322
 
342
323
  /* --------------
343
324
  Theme Config
344
325
  --------------- */
345
326
 
346
327
  gulp.task('create theme.config', function () {
347
- let
348
- // determine path to site theme folder from theme config
349
- // force CSS path variable to use forward slashes for paths
350
- pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replace(/\\/g, '/'),
351
- siteVariable = "@siteFolder: '" + pathToSite + "/';"
352
- ;
328
+ // determine path to site theme folder from theme config
329
+ // force CSS path variable to use forward slashes for paths
330
+ let pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replace(/\\/g, '/');
331
+ let siteVariable = "@siteFolder: '" + pathToSite + "/';";
353
332
 
354
333
  // rewrite site variable in theme.less
355
334
  console.info('Adjusting @siteFolder to:', pathToSite + '/');
@@ -360,8 +339,7 @@ module.exports = function (callback) {
360
339
  return gulp.src(installPaths.themeConfig)
361
340
  .pipe(plumber())
362
341
  .pipe(replace(regExp.siteVariable, siteVariable))
363
- .pipe(gulp.dest(installPaths.themeConfigFolder))
364
- ;
342
+ .pipe(gulp.dest(installPaths.themeConfigFolder));
365
343
  }
366
344
 
367
345
  console.info('Creating src/theme.config (LESS config)', installPaths.themeConfig);
@@ -370,8 +348,7 @@ module.exports = function (callback) {
370
348
  .pipe(plumber())
371
349
  .pipe(rename({ extname: '' }))
372
350
  .pipe(replace(regExp.siteVariable, siteVariable))
373
- .pipe(gulp.dest(installPaths.themeConfigFolder))
374
- ;
351
+ .pipe(gulp.dest(installPaths.themeConfigFolder));
375
352
  });
376
353
 
377
354
  /* --------------
@@ -379,9 +356,7 @@ module.exports = function (callback) {
379
356
  --------------- */
380
357
 
381
358
  gulp.task('create semantic.json', function () {
382
- let
383
- jsonConfig = install.createJSON(answers)
384
- ;
359
+ let jsonConfig = install.createJSON(answers);
385
360
 
386
361
  // adjust variables in theme.less
387
362
  if (fs.pathExistsSync(installPaths.config)) {
@@ -391,8 +366,7 @@ module.exports = function (callback) {
391
366
  .pipe(plumber())
392
367
  .pipe(rename(settings.rename.json)) // preserve file extension
393
368
  .pipe(jsonEditor(jsonConfig))
394
- .pipe(gulp.dest(installPaths.configFolder))
395
- ;
369
+ .pipe(gulp.dest(installPaths.configFolder));
396
370
  }
397
371
 
398
372
  console.info('Creating config file (semantic.json)', installPaths.config);
@@ -401,8 +375,7 @@ module.exports = function (callback) {
401
375
  .pipe(plumber())
402
376
  .pipe(rename({ extname: '' })) // remove .template from ext
403
377
  .pipe(jsonEditor(jsonConfig, { end_with_newline: true }))
404
- .pipe(gulp.dest(installPaths.configFolder))
405
- ;
378
+ .pipe(gulp.dest(installPaths.configFolder));
406
379
  });
407
380
 
408
381
  gulp.series('create theme.config', 'create semantic.json')(callback);
@@ -432,8 +405,7 @@ module.exports = function (callback) {
432
405
  } else {
433
406
  callback();
434
407
  }
435
- })
436
- ;
408
+ });
437
409
  }
438
410
  }
439
411
  });
@@ -2,10 +2,8 @@
2
2
  * Build Task
3
3
  *******************************/
4
4
 
5
- const
6
- gulp = require('gulp'),
7
- build = require('../build')
8
- ;
5
+ const gulp = require('gulp');
6
+ const build = require('../build');
9
7
 
10
8
  // RTL builds are now handled by the default build process
11
9
  module.exports = function (callback) {
@@ -2,10 +2,8 @@
2
2
  * Watch Task
3
3
  *******************************/
4
4
 
5
- const
6
- gulp = require('gulp'),
7
- watch = require('../watch')
8
- ;
5
+ const gulp = require('gulp');
6
+ const watch = require('../watch');
9
7
 
10
8
  // RTL watch is now handled by the default watch process
11
9
  module.exports = function (callback) {
package/tasks/watch.js CHANGED
@@ -2,20 +2,18 @@
2
2
  * Watch Task
3
3
  *******************************/
4
4
 
5
- const
6
- // node dependencies
7
- console = require('@fomantic/better-console'),
5
+ // node dependencies
6
+ const console = require('@fomantic/better-console');
8
7
 
9
- // user config
10
- config = require('./config/user'),
8
+ // user config
9
+ const config = require('./config/user');
11
10
 
12
- // task config
13
- install = require('./config/project/install'),
11
+ // task config
12
+ const install = require('./config/project/install');
14
13
 
15
- css = require('./build/css'),
16
- js = require('./build/javascript'),
17
- assets = require('./build/assets')
18
- ;
14
+ const css = require('./build/css');
15
+ const js = require('./build/javascript');
16
+ const assets = require('./build/assets');
19
17
 
20
18
  // export task
21
19
  module.exports = function (callback) {
@@ -11,5 +11,4 @@
11
11
  done();
12
12
  });
13
13
  });
14
- })
15
- ;
14
+ });
@@ -1,19 +1,17 @@
1
1
  function moduleTests(ui) {
2
- let
3
- module = ui.module,
4
- element = ui.element,
5
- singleton = ui.singleton,
6
- name = $.fn[module].settings.name,
7
-
8
- testValue = 'Test',
9
- fixtures = jasmine.getFixtures(), // eslint-disable-line jest/no-jasmine-globals
10
-
11
- originalSettings,
12
- $modules,
13
- $oneModule,
14
- $module,
15
- $clone
16
- ;
2
+ let module = ui.module;
3
+ let element = ui.element;
4
+ let singleton = ui.singleton;
5
+ let name = $.fn[module].settings.name;
6
+
7
+ let testValue = 'Test';
8
+ let fixtures = jasmine.getFixtures(); // eslint-disable-line jest/no-jasmine-globals
9
+
10
+ let originalSettings;
11
+ let $modules;
12
+ let $oneModule;
13
+ let $module;
14
+ let $clone;
17
15
 
18
16
  // set fixture path
19
17
  fixtures.fixturesPath = 'base/test/fixtures/';
@@ -138,7 +136,7 @@ function moduleTests(ui) {
138
136
  $modules[module]('setting', 'name', testValue);
139
137
 
140
138
  let retrievedValue = $oneModule[module]('setting', 'name');
141
- let clonedSetting = $clone[module]('setting', 'name');
139
+ let clonedSetting = $clone[module]('setting', 'name');
142
140
 
143
141
  expect(retrievedValue).toBe(testValue);
144
142
  expect(clonedSetting).toBe(testValue);
@@ -156,7 +154,7 @@ function moduleTests(ui) {
156
154
  $oneModule[module]('setting', 'name', testValue);
157
155
 
158
156
  let retrievedValue = $oneModule[module]('setting', 'name');
159
- let clonedSetting = $clone[module]('setting', 'name');
157
+ let clonedSetting = $clone[module]('setting', 'name');
160
158
 
161
159
  expect(retrievedValue).toBe(testValue);
162
160
  expect(clonedSetting).toBe(name);
@@ -170,7 +168,7 @@ function moduleTests(ui) {
170
168
  });
171
169
 
172
170
  let retrievedValue = $oneModule[module]('setting', 'name');
173
- let clonedSetting = $clone[module]('setting', 'name');
171
+ let clonedSetting = $clone[module]('setting', 'name');
174
172
 
175
173
  expect(retrievedValue).toBe(testValue);
176
174
  expect(clonedSetting).toBe(name);
@@ -500,6 +500,12 @@ declare namespace FomanticUI {
500
500
 
501
501
  // endregion
502
502
 
503
+ // region Template Settings
504
+
505
+ templates: Dropdown.TemplateSettings;
506
+
507
+ // endregion
508
+
503
509
  // region Callbacks
504
510
 
505
511
  /**
@@ -647,6 +653,7 @@ declare namespace FomanticUI {
647
653
  }
648
654
 
649
655
  namespace Dropdown {
656
+ type TemplateSettings = Partial<Pick<Settings.Templates, keyof Settings.Templates>>;
650
657
  type TransitionSettings = Partial<Pick<Settings.Transition, keyof Settings.Transition>>;
651
658
  type SelectorSettings = Partial<Pick<Settings.Selectors, keyof Settings.Selectors>>;
652
659
  type ClassNameSettings = Partial<Pick<Settings.ClassNames, keyof Settings.ClassNames>>;
@@ -658,6 +665,43 @@ declare namespace FomanticUI {
658
665
  type ErrorSettings = Partial<Pick<Settings.Errors, keyof Settings.Errors>>;
659
666
 
660
667
  namespace Settings {
668
+ interface Templates {
669
+ /**
670
+ * @default function(string, settings)
671
+ */
672
+ escape: (string: string, settings?: DropdownSettings) => string;
673
+
674
+ /**
675
+ * generates dropdown from select values
676
+ * @default function(message, type, header)
677
+ */
678
+ dropdown: (select: {placeholder?: string, values: {[key: string]: string}}, settings: DropdownSettings) => string;
679
+
680
+ /**
681
+ * generates just menu from select
682
+ * @default function(response, settings)
683
+ */
684
+ menu: (values: {[key: string]: string}, settings: DropdownSettings) => string;
685
+
686
+ /**
687
+ * generates label for multiselect
688
+ * @default function(response, settings)
689
+ */
690
+ label: (value: string, text: string, settings: DropdownSettings) => string;
691
+
692
+ /**
693
+ * generates messages like "No results"
694
+ * @default function(response, settings)
695
+ */
696
+ message: (message: string) => string;
697
+
698
+ /**
699
+ * generates user addition to the selection menu
700
+ * @default function(response, settings)
701
+ */
702
+ addition: (choice: string) => string;
703
+ }
704
+
661
705
  interface Transition {
662
706
 
663
707
  /**
@@ -314,7 +314,7 @@ declare namespace FomanticUI {
314
314
  /**
315
315
  * @default function
316
316
  */
317
- deQuote(string: string, encode: boolean): string;
317
+ escape(string: string): string;
318
318
 
319
319
  /**
320
320
  * @default function
@@ -394,9 +394,9 @@ declare namespace FomanticUI {
394
394
  namespace Settings {
395
395
  interface Templates {
396
396
  /**
397
- * @default function(string, preserveHTML)
397
+ * @default function(string, settings)
398
398
  */
399
- escape: (string: string, preserveHTML?: boolean) => string;
399
+ escape: (string: string, settings?: SearchSettings) => string;
400
400
 
401
401
  /**
402
402
  * @default function(message, type, header)
@@ -404,14 +404,14 @@ declare namespace FomanticUI {
404
404
  message: (message: string, type?: string, header?: string) => string;
405
405
 
406
406
  /**
407
- * @default function(response, fields, preserveHTML)
407
+ * @default function(response, settings)
408
408
  */
409
- category: (response: unknown, fields: {[key: string]: string}, preserveHTML?: boolean) => string;
409
+ category: (response: unknown, settings: SearchSettings) => string;
410
410
 
411
411
  /**
412
- * @default function(response, fields, preserveHTML)
412
+ * @default function(response, settings)
413
413
  */
414
- standard: (response: unknown, fields: {[key: string]: string}, preserveHTML?: boolean) => string;
414
+ standard: (response: unknown, settings: SearchSettings) => string;
415
415
  }
416
416
 
417
417
  interface Selectors {