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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/.eslintrc.js +6 -33
  2. package/.github/workflows/ci.yml +9 -9
  3. package/.github/workflows/depsreview.yml +1 -1
  4. package/.github/workflows/nightly.yml +7 -5
  5. package/.github/workflows/release.yml +2 -2
  6. package/.stylelintrc.js +1 -15
  7. package/CHANGELOG.md +5289 -2325
  8. package/README.md +11 -8
  9. package/changelog-setup.js +88 -72
  10. package/changelog-template.hbs +256 -251
  11. package/dist/components/accordion.css +1 -1
  12. package/dist/components/accordion.js +116 -164
  13. package/dist/components/accordion.min.css +1 -1
  14. package/dist/components/accordion.min.js +2 -2
  15. package/dist/components/ad.css +1 -1
  16. package/dist/components/ad.min.css +1 -1
  17. package/dist/components/api.js +190 -303
  18. package/dist/components/api.min.js +2 -2
  19. package/dist/components/breadcrumb.css +1 -1
  20. package/dist/components/breadcrumb.min.css +1 -1
  21. package/dist/components/button.css +5 -6
  22. package/dist/components/button.min.css +2 -2
  23. package/dist/components/calendar.css +3 -3
  24. package/dist/components/calendar.js +397 -482
  25. package/dist/components/calendar.min.css +2 -2
  26. package/dist/components/calendar.min.js +2 -2
  27. package/dist/components/card.css +1 -1
  28. package/dist/components/card.min.css +1 -1
  29. package/dist/components/checkbox.css +1 -1
  30. package/dist/components/checkbox.js +105 -166
  31. package/dist/components/checkbox.min.css +1 -1
  32. package/dist/components/checkbox.min.js +2 -2
  33. package/dist/components/comment.css +1 -1
  34. package/dist/components/comment.min.css +1 -1
  35. package/dist/components/container.css +1 -1
  36. package/dist/components/container.min.css +1 -1
  37. package/dist/components/dimmer.css +2 -2
  38. package/dist/components/dimmer.js +75 -121
  39. package/dist/components/dimmer.min.css +2 -2
  40. package/dist/components/dimmer.min.js +2 -2
  41. package/dist/components/divider.css +1 -1
  42. package/dist/components/divider.min.css +1 -1
  43. package/dist/components/dropdown.css +21 -35
  44. package/dist/components/dropdown.js +775 -1161
  45. package/dist/components/dropdown.min.css +2 -2
  46. package/dist/components/dropdown.min.js +2 -2
  47. package/dist/components/embed.css +1 -1
  48. package/dist/components/embed.js +95 -146
  49. package/dist/components/embed.min.css +1 -1
  50. package/dist/components/embed.min.js +2 -2
  51. package/dist/components/emoji.css +3809 -7617
  52. package/dist/components/emoji.min.css +2 -2
  53. package/dist/components/feed.css +1 -1
  54. package/dist/components/feed.min.css +1 -1
  55. package/dist/components/flag.css +1 -1
  56. package/dist/components/flag.min.css +1 -1
  57. package/dist/components/flyout.css +1 -1
  58. package/dist/components/flyout.js +242 -336
  59. package/dist/components/flyout.min.css +1 -1
  60. package/dist/components/flyout.min.js +2 -2
  61. package/dist/components/form.css +3 -5
  62. package/dist/components/form.js +425 -554
  63. package/dist/components/form.min.css +2 -2
  64. package/dist/components/form.min.js +2 -2
  65. package/dist/components/grid.css +2 -2
  66. package/dist/components/grid.min.css +2 -2
  67. package/dist/components/header.css +6 -6
  68. package/dist/components/header.min.css +2 -2
  69. package/dist/components/icon.css +10 -37
  70. package/dist/components/icon.min.css +2 -2
  71. package/dist/components/image.css +1 -1
  72. package/dist/components/image.min.css +1 -1
  73. package/dist/components/input.css +284 -12
  74. package/dist/components/input.min.css +2 -2
  75. package/dist/components/item.css +1 -1
  76. package/dist/components/item.min.css +1 -1
  77. package/dist/components/label.css +6 -14
  78. package/dist/components/label.min.css +2 -2
  79. package/dist/components/list.css +3 -3
  80. package/dist/components/list.min.css +2 -2
  81. package/dist/components/loader.css +53 -53
  82. package/dist/components/loader.min.css +2 -2
  83. package/dist/components/menu.css +45 -60
  84. package/dist/components/menu.min.css +2 -2
  85. package/dist/components/message.css +2 -2
  86. package/dist/components/message.min.css +2 -2
  87. package/dist/components/modal.css +5 -5
  88. package/dist/components/modal.js +274 -369
  89. package/dist/components/modal.min.css +2 -2
  90. package/dist/components/modal.min.js +2 -2
  91. package/dist/components/nag.css +1 -1
  92. package/dist/components/nag.js +109 -153
  93. package/dist/components/nag.min.css +1 -1
  94. package/dist/components/nag.min.js +2 -2
  95. package/dist/components/placeholder.css +2 -2
  96. package/dist/components/placeholder.min.css +2 -2
  97. package/dist/components/popup.css +19 -73
  98. package/dist/components/popup.js +210 -303
  99. package/dist/components/popup.min.css +2 -2
  100. package/dist/components/popup.min.js +2 -2
  101. package/dist/components/progress.css +4 -13
  102. package/dist/components/progress.js +128 -185
  103. package/dist/components/progress.min.css +2 -2
  104. package/dist/components/progress.min.js +2 -2
  105. package/dist/components/rail.css +1 -1
  106. package/dist/components/rail.min.css +1 -1
  107. package/dist/components/rating.css +1 -1
  108. package/dist/components/rating.js +92 -145
  109. package/dist/components/rating.min.css +1 -1
  110. package/dist/components/rating.min.js +2 -2
  111. package/dist/components/reset.css +48 -208
  112. package/dist/components/reset.min.css +2 -2
  113. package/dist/components/reveal.css +2 -5
  114. package/dist/components/reveal.min.css +2 -2
  115. package/dist/components/search.css +2 -3
  116. package/dist/components/search.js +311 -425
  117. package/dist/components/search.min.css +2 -2
  118. package/dist/components/search.min.js +2 -2
  119. package/dist/components/segment.css +6 -6
  120. package/dist/components/segment.min.css +2 -2
  121. package/dist/components/shape.css +1 -1
  122. package/dist/components/shape.js +173 -249
  123. package/dist/components/shape.min.css +1 -1
  124. package/dist/components/shape.min.js +2 -2
  125. package/dist/components/sidebar.css +1 -1
  126. package/dist/components/sidebar.js +138 -199
  127. package/dist/components/sidebar.min.css +1 -1
  128. package/dist/components/sidebar.min.js +2 -2
  129. package/dist/components/site.css +1 -1
  130. package/dist/components/site.js +59 -99
  131. package/dist/components/site.min.css +1 -1
  132. package/dist/components/site.min.js +2 -2
  133. package/dist/components/slider.css +1 -1
  134. package/dist/components/slider.js +267 -364
  135. package/dist/components/slider.min.css +1 -1
  136. package/dist/components/slider.min.js +2 -2
  137. package/dist/components/state.js +88 -132
  138. package/dist/components/state.min.js +2 -2
  139. package/dist/components/statistic.css +1 -1
  140. package/dist/components/statistic.min.css +1 -1
  141. package/dist/components/step.css +4 -4
  142. package/dist/components/step.min.css +2 -2
  143. package/dist/components/sticky.css +1 -1
  144. package/dist/components/sticky.js +163 -228
  145. package/dist/components/sticky.min.css +1 -1
  146. package/dist/components/sticky.min.js +2 -2
  147. package/dist/components/tab.css +1 -1
  148. package/dist/components/tab.js +192 -287
  149. package/dist/components/tab.min.css +1 -1
  150. package/dist/components/tab.min.js +2 -2
  151. package/dist/components/table.css +8 -8
  152. package/dist/components/table.min.css +2 -2
  153. package/dist/components/text.css +1 -1
  154. package/dist/components/text.min.css +1 -1
  155. package/dist/components/toast.css +1 -1
  156. package/dist/components/toast.js +118 -155
  157. package/dist/components/toast.min.css +1 -1
  158. package/dist/components/toast.min.js +2 -2
  159. package/dist/components/transition.css +1 -1
  160. package/dist/components/transition.js +114 -193
  161. package/dist/components/transition.min.css +1 -1
  162. package/dist/components/transition.min.js +2 -2
  163. package/dist/components/visibility.js +175 -271
  164. package/dist/components/visibility.min.js +2 -2
  165. package/dist/semantic.css +4479 -8221
  166. package/dist/semantic.js +5023 -7182
  167. package/dist/semantic.min.css +2 -2
  168. package/dist/semantic.min.js +2 -2
  169. package/examples/assets/show-examples.js +2 -4
  170. package/examples/attached.html +1 -1
  171. package/examples/components/menu.html +1 -1
  172. package/gulpfile.js +5 -7
  173. package/package.json +4 -5
  174. package/scripts/nightly-version.js +11 -14
  175. package/src/definitions/behaviors/api.js +189 -302
  176. package/src/definitions/behaviors/form.js +426 -555
  177. package/src/definitions/behaviors/state.js +87 -131
  178. package/src/definitions/behaviors/visibility.js +174 -270
  179. package/src/definitions/collections/breadcrumb.less +0 -1
  180. package/src/definitions/collections/form.less +3 -9
  181. package/src/definitions/collections/grid.less +1 -2
  182. package/src/definitions/collections/menu.less +106 -117
  183. package/src/definitions/collections/message.less +1 -2
  184. package/src/definitions/collections/table.less +7 -8
  185. package/src/definitions/elements/button.less +4 -6
  186. package/src/definitions/elements/container.less +0 -1
  187. package/src/definitions/elements/divider.less +1 -2
  188. package/src/definitions/elements/emoji.less +1 -1
  189. package/src/definitions/elements/flag.less +1 -1
  190. package/src/definitions/elements/header.less +4 -5
  191. package/src/definitions/elements/icon.less +10 -37
  192. package/src/definitions/elements/image.less +0 -1
  193. package/src/definitions/elements/input.less +4 -7
  194. package/src/definitions/elements/label.less +5 -14
  195. package/src/definitions/elements/list.less +2 -3
  196. package/src/definitions/elements/loader.less +10 -11
  197. package/src/definitions/elements/placeholder.less +1 -2
  198. package/src/definitions/elements/rail.less +0 -1
  199. package/src/definitions/elements/reveal.less +1 -5
  200. package/src/definitions/elements/segment.less +5 -6
  201. package/src/definitions/elements/step.less +3 -4
  202. package/src/definitions/elements/text.less +0 -1
  203. package/src/definitions/globals/reset.less +0 -1
  204. package/src/definitions/globals/site.js +58 -98
  205. package/src/definitions/globals/site.less +0 -1
  206. package/src/definitions/modules/accordion.js +115 -163
  207. package/src/definitions/modules/accordion.less +0 -1
  208. package/src/definitions/modules/calendar.js +396 -481
  209. package/src/definitions/modules/calendar.less +2 -3
  210. package/src/definitions/modules/checkbox.js +104 -165
  211. package/src/definitions/modules/checkbox.less +0 -1
  212. package/src/definitions/modules/dimmer.js +74 -120
  213. package/src/definitions/modules/dimmer.less +1 -2
  214. package/src/definitions/modules/dropdown.js +774 -1160
  215. package/src/definitions/modules/dropdown.less +27 -38
  216. package/src/definitions/modules/embed.js +94 -145
  217. package/src/definitions/modules/embed.less +0 -1
  218. package/src/definitions/modules/flyout.js +241 -335
  219. package/src/definitions/modules/flyout.less +0 -1
  220. package/src/definitions/modules/modal.js +273 -368
  221. package/src/definitions/modules/modal.less +3 -4
  222. package/src/definitions/modules/nag.js +108 -152
  223. package/src/definitions/modules/nag.less +0 -1
  224. package/src/definitions/modules/popup.js +209 -302
  225. package/src/definitions/modules/popup.less +18 -73
  226. package/src/definitions/modules/progress.js +127 -184
  227. package/src/definitions/modules/progress.less +3 -13
  228. package/src/definitions/modules/rating.js +93 -146
  229. package/src/definitions/modules/rating.less +0 -1
  230. package/src/definitions/modules/search.js +312 -426
  231. package/src/definitions/modules/search.less +2 -4
  232. package/src/definitions/modules/shape.js +172 -248
  233. package/src/definitions/modules/shape.less +0 -1
  234. package/src/definitions/modules/sidebar.js +137 -198
  235. package/src/definitions/modules/sidebar.less +0 -1
  236. package/src/definitions/modules/slider.js +266 -363
  237. package/src/definitions/modules/slider.less +0 -1
  238. package/src/definitions/modules/sticky.js +162 -227
  239. package/src/definitions/modules/sticky.less +0 -1
  240. package/src/definitions/modules/tab.js +191 -286
  241. package/src/definitions/modules/tab.less +0 -1
  242. package/src/definitions/modules/toast.js +117 -154
  243. package/src/definitions/modules/toast.less +0 -1
  244. package/src/definitions/modules/transition.js +113 -192
  245. package/src/definitions/modules/transition.less +1 -2
  246. package/src/definitions/views/ad.less +0 -1
  247. package/src/definitions/views/card.less +0 -1
  248. package/src/definitions/views/comment.less +0 -1
  249. package/src/definitions/views/feed.less +0 -1
  250. package/src/definitions/views/item.less +0 -1
  251. package/src/definitions/views/statistic.less +0 -1
  252. package/src/semantic.less +1 -1
  253. package/src/themes/amazon/elements/button.overrides +1 -1
  254. package/src/themes/amazon/elements/button.variables +5 -6
  255. package/src/themes/amazon/globals/site.variables +2 -3
  256. package/src/themes/bookish/elements/header.variables +2 -2
  257. package/src/themes/bootstrap3/elements/button.variables +4 -5
  258. package/src/themes/chubby/collections/menu.variables +1 -1
  259. package/src/themes/chubby/elements/button.overrides +4 -4
  260. package/src/themes/chubby/modules/accordion.overrides +1 -1
  261. package/src/themes/chubby/views/comment.overrides +2 -2
  262. package/src/themes/chubby/views/comment.variables +2 -2
  263. package/src/themes/classic/collections/table.variables +2 -2
  264. package/src/themes/classic/elements/button.variables +11 -11
  265. package/src/themes/classic/modules/progress.variables +2 -2
  266. package/src/themes/classic/views/card.variables +2 -2
  267. package/src/themes/default/collections/form.variables +2 -3
  268. package/src/themes/default/collections/menu.variables +28 -28
  269. package/src/themes/default/collections/message.variables +1 -1
  270. package/src/themes/default/collections/table.variables +4 -4
  271. package/src/themes/default/elements/button.variables +9 -10
  272. package/src/themes/default/elements/divider.variables +1 -1
  273. package/src/themes/default/elements/icon.variables +2 -2
  274. package/src/themes/default/elements/image.variables +1 -1
  275. package/src/themes/default/elements/input.variables +2 -2
  276. package/src/themes/default/elements/label.variables +4 -4
  277. package/src/themes/default/elements/list.variables +1 -1
  278. package/src/themes/default/elements/placeholder.variables +6 -6
  279. package/src/themes/default/elements/segment.variables +8 -8
  280. package/src/themes/default/globals/reset.overrides +45 -201
  281. package/src/themes/default/globals/site.variables +50 -50
  282. package/src/themes/default/globals/variation.variables +3 -2
  283. package/src/themes/default/modules/accordion.variables +0 -1
  284. package/src/themes/default/modules/checkbox.variables +1 -1
  285. package/src/themes/default/modules/dimmer.variables +12 -12
  286. package/src/themes/default/modules/dropdown.variables +17 -16
  287. package/src/themes/default/modules/embed.variables +2 -2
  288. package/src/themes/default/modules/flyout.variables +3 -3
  289. package/src/themes/default/modules/modal.variables +14 -14
  290. package/src/themes/default/modules/nag.variables +1 -1
  291. package/src/themes/default/modules/rating.variables +1 -1
  292. package/src/themes/default/modules/search.variables +1 -1
  293. package/src/themes/default/modules/shape.variables +1 -1
  294. package/src/themes/default/modules/sidebar.variables +2 -2
  295. package/src/themes/default/modules/toast.variables +4 -4
  296. package/src/themes/default/views/card.variables +6 -7
  297. package/src/themes/default/views/feed.variables +4 -4
  298. package/src/themes/default/views/item.variables +2 -3
  299. package/src/themes/flat/collections/form.variables +1 -1
  300. package/src/themes/flat/globals/site.variables +9 -9
  301. package/src/themes/github/collections/form.overrides +3 -3
  302. package/src/themes/github/collections/form.variables +3 -3
  303. package/src/themes/github/collections/menu.overrides +1 -1
  304. package/src/themes/github/collections/menu.variables +10 -10
  305. package/src/themes/github/collections/message.variables +6 -6
  306. package/src/themes/github/elements/button.variables +17 -17
  307. package/src/themes/github/elements/input.variables +3 -3
  308. package/src/themes/github/elements/segment.variables +2 -2
  309. package/src/themes/github/elements/step.overrides +4 -4
  310. package/src/themes/github/elements/step.variables +3 -3
  311. package/src/themes/github/globals/site.variables +2 -2
  312. package/src/themes/github/modules/dropdown.variables +1 -3
  313. package/src/themes/gmail/collections/message.variables +2 -2
  314. package/src/themes/material/collections/menu.variables +1 -1
  315. package/src/themes/material/elements/button.overrides +4 -4
  316. package/src/themes/material/elements/button.variables +5 -5
  317. package/src/themes/material/modules/dropdown.variables +1 -1
  318. package/src/themes/material/modules/modal.variables +1 -1
  319. package/src/themes/raised/elements/button.variables +1 -1
  320. package/src/themes/round/elements/button.variables +12 -12
  321. package/src/themes/striped/modules/progress.overrides +3 -3
  322. package/src/themes/timeline/views/feed.variables +2 -2
  323. package/src/themes/twitter/elements/button.overrides +1 -1
  324. package/src/themes/twitter/elements/button.variables +4 -5
  325. package/tasks/admin/components/create.js +87 -110
  326. package/tasks/admin/components/init.js +26 -33
  327. package/tasks/admin/components/update.js +46 -54
  328. package/tasks/admin/distributions/create.js +74 -125
  329. package/tasks/admin/distributions/init.js +27 -34
  330. package/tasks/admin/distributions/update.js +45 -53
  331. package/tasks/admin/register.js +11 -15
  332. package/tasks/build/assets.js +14 -18
  333. package/tasks/build/css.js +59 -68
  334. package/tasks/build/javascript.js +46 -54
  335. package/tasks/build.js +4 -6
  336. package/tasks/check-install.js +5 -7
  337. package/tasks/clean.js +2 -4
  338. package/tasks/collections/admin.js +13 -15
  339. package/tasks/collections/build.js +6 -8
  340. package/tasks/collections/docs.js +2 -4
  341. package/tasks/collections/install.js +2 -4
  342. package/tasks/collections/rtl.js +2 -4
  343. package/tasks/collections/various.js +2 -4
  344. package/tasks/config/admin/github.js +8 -10
  345. package/tasks/config/admin/templates/css-package.js +1 -3
  346. package/tasks/config/admin/templates/less-package.js +1 -3
  347. package/tasks/config/npm/gulpfile.js +4 -6
  348. package/tasks/config/project/config.js +26 -34
  349. package/tasks/config/project/install.js +58 -72
  350. package/tasks/config/project/release.js +7 -15
  351. package/tasks/config/tasks.js +23 -24
  352. package/tasks/config/user.js +9 -16
  353. package/tasks/docs/build.js +26 -31
  354. package/tasks/docs/metadata.js +35 -43
  355. package/tasks/docs/serve.js +20 -26
  356. package/tasks/install.js +77 -102
  357. package/tasks/rtl/build.js +2 -4
  358. package/tasks/rtl/watch.js +2 -4
  359. package/tasks/watch.js +9 -11
  360. package/test/meteor/assets.js +4 -4
  361. package/test/meteor/fonts.js +11 -13
  362. package/test/modules/module.spec.js +25 -27
@@ -2,37 +2,35 @@
2
2
  Build Docs
3
3
  *******************************/
4
4
 
5
- const
6
- fs = require('fs'),
7
- extend = require('extend'),
5
+ const fs = require('node:fs');
6
+ const extend = require('extend');
8
7
 
9
- // node dependencies
10
- console = require('@fomantic/better-console'),
11
- gulp = require('gulp'),
12
- map = require('map-stream'),
8
+ // node dependencies
9
+ const console = require('@fomantic/better-console');
10
+ const gulp = require('gulp');
11
+ const map = require('map-stream');
13
12
 
14
- // gulp dependencies
15
- print = require('gulp-print').default,
13
+ // gulp dependencies
14
+ const print = require('gulp-print').default;
16
15
 
17
- // user config
18
- configDocs = require('../config/docs'),
16
+ // user config
17
+ const configDocs = require('../config/docs');
19
18
 
20
- // install config
21
- tasks = require('../config/tasks'),
22
- configSetup = require('../config/project/config'),
23
- install = require('../config/project/install'),
19
+ // install config
20
+ const tasks = require('../config/tasks');
21
+ const configSetup = require('../config/project/config');
22
+ const install = require('../config/project/install');
24
23
 
25
- // metadata parsing
26
- metadata = require('./metadata'),
24
+ // metadata parsing
25
+ const metadata = require('./metadata');
27
26
 
28
- // build methods
29
- buildJS = require('../build/javascript').buildJS,
30
- buildCSS = require('../build/css').buildCSS,
31
- buildAssets = require('../build/assets').buildAssets,
27
+ // build methods
28
+ const buildJS = require('../build/javascript').buildJS;
29
+ const buildCSS = require('../build/css').buildCSS;
30
+ const buildAssets = require('../build/assets').buildAssets;
32
31
 
33
- // shorthand
34
- log = tasks.log
35
- ;
32
+ // shorthand
33
+ const log = tasks.log;
36
34
 
37
35
  module.exports = function (callback) {
38
36
  // use a different config
@@ -40,7 +38,7 @@ module.exports = function (callback) {
40
38
  configSetup.addDerivedValues(config);
41
39
 
42
40
  // shorthand
43
- const globs = config.globs;
41
+ const globs = config.globs;
44
42
  const output = config.paths.output;
45
43
 
46
44
  /* --------------
@@ -59,8 +57,7 @@ module.exports = function (callback) {
59
57
  .on('end', function () {
60
58
  fs.mkdirSync(output.metadata, { recursive: true });
61
59
  fs.writeFileSync(output.metadata + '/metadata.json', JSON.stringify(metadata.result, null, 2));
62
- })
63
- ;
60
+ });
64
61
  }
65
62
 
66
63
  /* --------------
@@ -73,8 +70,7 @@ module.exports = function (callback) {
73
70
 
74
71
  return gulp.src('examples/**/*.*', { encoding: false })
75
72
  .pipe(gulp.dest(output.examples))
76
- .pipe(print(log.created))
77
- ;
73
+ .pipe(print(log.created));
78
74
  }
79
75
 
80
76
  /* --------------
@@ -87,8 +83,7 @@ module.exports = function (callback) {
87
83
 
88
84
  return gulp.src('src/**/*.*', { encoding: false })
89
85
  .pipe(gulp.dest(output.less))
90
- .pipe(print(log.created))
91
- ;
86
+ .pipe(print(log.created));
92
87
  }
93
88
 
94
89
  /* --------------
@@ -2,14 +2,12 @@
2
2
  Summarize Docs
3
3
  *******************************/
4
4
 
5
- const
6
- // node dependencies
7
- console = require('@fomantic/better-console'),
8
- path = require('path'),
9
- YAML = require('js-yaml')
10
- ;
5
+ // node dependencies
6
+ const console = require('@fomantic/better-console');
7
+ const path = require('node:path');
8
+ const YAML = require('js-yaml');
11
9
 
12
- let data = {};
10
+ const data = {};
13
11
 
14
12
  /**
15
13
  * Test for prefix in string.
@@ -22,7 +20,7 @@ function startsWith(str, prefix) {
22
20
  }
23
21
 
24
22
  function inArray(needle, haystack) {
25
- let length = haystack.length;
23
+ const length = haystack.length;
26
24
  for (let i = 0; i < length; i++) {
27
25
  if (haystack[i] === needle) {
28
26
  return true;
@@ -49,41 +47,36 @@ function parser(file, callback) {
49
47
  }
50
48
 
51
49
  try {
52
- let
53
- /** @type {string} */
54
- text = String(file.contents.toString('utf8')),
55
- lines = text.split('\n'),
56
- filename = file.path.slice(0, -4),
57
- key = 'server' + path.sep + 'documents',
58
- position = filename.indexOf(key)
59
- ;
50
+ /** @type {string} */
51
+ const text = String(file.contents.toString('utf8'));
52
+ const lines = text.split('\n');
53
+ let filename = file.path.slice(0, -4);
54
+ const key = 'server' + path.sep + 'documents';
55
+ const position = filename.indexOf(key);
60
56
 
61
57
  // exit conditions
62
58
  if (!lines) {
63
59
  return;
64
60
  }
65
- if (position < 0) {
61
+ if (position === -1) {
66
62
  return callback(null, file);
67
63
  }
68
64
 
69
- filename = filename.slice(position + key.length + 1, filename.length).replaceAll(path.win32.sep, path.posix.sep);
70
-
71
- let
72
- lineCount = lines.length,
73
- active = false,
74
- yaml = [],
75
- categories = [
76
- 'UI Element',
77
- 'UI Global',
78
- 'UI Collection',
79
- 'UI View',
80
- 'UI Module',
81
- 'UI Behavior',
82
- ],
83
- index,
84
- meta,
85
- line
86
- ;
65
+ filename = filename.slice(position + key.length + 1).replaceAll(path.win32.sep, path.posix.sep);
66
+
67
+ const lineCount = lines.length;
68
+ let active = false;
69
+ const yaml = [];
70
+ const categories = [
71
+ 'UI Element',
72
+ 'UI Global',
73
+ 'UI Collection',
74
+ 'UI View',
75
+ 'UI Module',
76
+ 'UI Behavior',
77
+ ];
78
+ let index;
79
+ let line;
87
80
 
88
81
  for (index = 0; index < lineCount; index++) {
89
82
  line = lines[index];
@@ -93,18 +86,17 @@ function parser(file, callback) {
93
86
  if (startsWith(line, '---')) {
94
87
  active = true;
95
88
  }
96
-
97
- continue;
98
- }
99
- // End of metadata block, stop parsing.
100
- if (startsWith(line, '---')) {
101
- break;
89
+ } else {
90
+ // End of metadata block, stop parsing.
91
+ if (startsWith(line, '---')) {
92
+ break;
93
+ }
94
+ yaml.push(line);
102
95
  }
103
- yaml.push(line);
104
96
  }
105
97
 
106
98
  // Parse yaml.
107
- meta = YAML.load(yaml.join('\n'));
99
+ const meta = YAML.load(yaml.join('\n'));
108
100
  if (meta && meta.type && meta.title && inArray(meta.type, categories)) {
109
101
  meta.category = meta.type;
110
102
  meta.filename = filename;
@@ -2,30 +2,28 @@
2
2
  Serve Docs
3
3
  *******************************/
4
4
 
5
- const
6
- extend = require('extend'),
5
+ const extend = require('extend');
7
6
 
8
- // node dependencies
9
- console = require('@fomantic/better-console'),
10
- gulp = require('gulp'),
7
+ // node dependencies
8
+ const console = require('@fomantic/better-console');
9
+ const gulp = require('gulp');
11
10
 
12
- // gulp dependencies
13
- print = require('gulp-print').default,
11
+ // gulp dependencies
12
+ const print = require('gulp-print').default;
14
13
 
15
- // user config
16
- configDocs = require('../config/docs'),
14
+ // user config
15
+ const configDocs = require('../config/docs');
17
16
 
18
- // task config
19
- tasks = require('../config/tasks'),
20
- configSetup = require('../config/project/config'),
17
+ // task config
18
+ const tasks = require('../config/tasks');
19
+ const configSetup = require('../config/project/config');
21
20
 
22
- // shorthand
23
- log = tasks.log,
21
+ // shorthand
22
+ const log = tasks.log;
24
23
 
25
- css = require('../build/css'),
26
- js = require('../build/javascript'),
27
- assets = require('../build/assets')
28
- ;
24
+ const css = require('../build/css');
25
+ const js = require('../build/javascript');
26
+ const assets = require('../build/assets');
29
27
 
30
28
  module.exports = function (callback) {
31
29
  // use a different config
@@ -52,10 +50,8 @@ module.exports = function (callback) {
52
50
  encoding: false,
53
51
  })
54
52
  .pipe(gulp.dest(config.paths.output.less))
55
- .pipe(print(log.created))
56
- ;
57
- })
58
- ;
53
+ .pipe(print(log.created));
54
+ });
59
55
 
60
56
  /* --------------
61
57
  Copy Examples
@@ -74,10 +70,8 @@ module.exports = function (callback) {
74
70
  encoding: false,
75
71
  })
76
72
  .pipe(gulp.dest(config.paths.output.examples))
77
- .pipe(print(log.created))
78
- ;
79
- })
80
- ;
73
+ .pipe(print(log.created));
74
+ });
81
75
 
82
76
  /* --------------
83
77
  Watch CSS
package/tasks/install.js CHANGED
@@ -12,46 +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
-
31
- // install config
32
- install = require('./config/project/install'),
33
-
34
- // release config (name/title/etc)
35
- release = require('./config/project/release'),
36
-
37
- // shorthand
38
- questions = install.questions,
39
- files = install.files,
40
- folders = install.folders,
41
- regExp = install.regExp,
42
- settings = install.settings,
43
- source = install.source
44
- ;
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;
45
43
 
46
44
  // Export install task
47
45
  module.exports = function (callback) {
48
- let
49
- currentConfig = requireDotFile('semantic.json', process.cwd()),
50
- manager = install.getPackageManager(),
51
- rootQuestions = questions.root,
52
- installFolder = false,
53
- answers
54
- ;
46
+ const currentConfig = requireDotFile('semantic.json', process.cwd());
47
+ const manager = install.getPackageManager();
48
+ const rootQuestions = questions.root;
49
+ let installFolder = false;
50
+ let answers;
55
51
 
56
52
  console.clear();
57
53
 
@@ -83,19 +79,17 @@ module.exports = function (callback) {
83
79
 
84
80
  // run update scripts if semantic.json exists
85
81
  if (currentConfig && manager.name === 'NPM') {
86
- let
87
- updateFolder = path.join(manager.root, currentConfig.base),
88
- updatePaths = {
89
- config: path.join(manager.root, files.config),
90
- tasks: path.join(updateFolder, folders.tasks),
91
- overridesImport: path.join(updateFolder, folders.overridesImport),
92
- themeImport: path.join(updateFolder, folders.themeImport),
93
- definition: path.join(currentConfig.paths.source.definitions),
94
- site: path.join(currentConfig.paths.source.site),
95
- theme: path.join(currentConfig.paths.source.themes),
96
- defaultTheme: path.join(currentConfig.paths.source.themes, folders.defaultTheme),
97
- }
98
- ;
82
+ const updateFolder = path.join(manager.root, currentConfig.base);
83
+ const 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
+ };
99
93
 
100
94
  // duck-type if there is a project installed
101
95
  if (fs.pathExistsSync(updatePaths.definition)) {
@@ -116,20 +110,17 @@ module.exports = function (callback) {
116
110
  console.info('Updating gulpfile.js');
117
111
  gulp.src(source.userGulpFile)
118
112
  .pipe(plumber())
119
- .pipe(gulp.dest(updateFolder))
120
- ;
113
+ .pipe(gulp.dest(updateFolder));
121
114
 
122
115
  // copy theme import
123
116
  console.info('Updating theme import file');
124
117
  gulp.src(source.themeImport)
125
118
  .pipe(plumber())
126
- .pipe(gulp.dest(updatePaths.themeImport))
127
- ;
119
+ .pipe(gulp.dest(updatePaths.themeImport));
128
120
  console.info('Updating overrides import file');
129
121
  gulp.src(source.overridesImport)
130
122
  .pipe(plumber())
131
- .pipe(gulp.dest(updatePaths.overridesImport))
132
- ;
123
+ .pipe(gulp.dest(updatePaths.overridesImport));
133
124
  console.info('Adding new site theme files...');
134
125
  fs.copySync(source.site, updatePaths.site, settings.copy.merge);
135
126
 
@@ -142,8 +133,7 @@ module.exports = function (callback) {
142
133
  .pipe(jsonEditor({
143
134
  version: release.version,
144
135
  }))
145
- .pipe(gulp.dest(manager.root))
146
- ;
136
+ .pipe(gulp.dest(manager.root));
147
137
 
148
138
  console.info('Update complete! Run "\u001B[92mgulp build\u001B[0m" to rebuild dist/ files.');
149
139
 
@@ -170,14 +160,13 @@ module.exports = function (callback) {
170
160
  if (manager.name === 'NPM') {
171
161
  rootQuestions[0].message = rootQuestions[0].message
172
162
  .replace('{packageMessage}', 'We detected you are using ' + manager.name + ' Nice!')
173
- .replace('{root}', manager.root)
174
- ;
163
+ .replace('{root}', manager.root);
175
164
  // set default path to the detected PM root
176
165
  rootQuestions[0].default = manager.root;
177
166
  rootQuestions[1].default = manager.root;
178
167
 
179
168
  // insert PM questions after "Install Type" question
180
- Array.prototype.splice.apply(questions.setup, [2, 0].concat(rootQuestions));
169
+ questions.setup.splice(2, 0, ...rootQuestions);
181
170
 
182
171
  // omit cleanup questions for managed install
183
172
  questions.cleanup = [];
@@ -202,8 +191,7 @@ module.exports = function (callback) {
202
191
  .then((setupAnswers) => {
203
192
  // hoist
204
193
  answers = setupAnswers;
205
- })
206
- ;
194
+ });
207
195
  }
208
196
  });
209
197
 
@@ -230,15 +218,13 @@ module.exports = function (callback) {
230
218
  Paths
231
219
  --------------- */
232
220
 
233
- let
234
- installPaths = {
235
- config: files.config,
236
- configFolder: folders.config,
237
- site: answers.site || folders.site,
238
- themeConfig: files.themeConfig,
239
- themeConfigFolder: folders.themeConfig,
240
- }
241
- ;
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
+ };
242
228
 
243
229
  /* --------------
244
230
  NPM Install
@@ -272,7 +258,7 @@ module.exports = function (callback) {
272
258
  installFolder = path.join(manager.root, answers.semanticRoot);
273
259
 
274
260
  // add install folder to all output paths
275
- for (let destination in installPaths) {
261
+ for (const destination in installPaths) {
276
262
  if (Object.prototype.hasOwnProperty.call(installPaths, destination)) {
277
263
  // config goes in project root, rest in install folder
278
264
  installPaths[destination] = destination === 'config' || destination === 'configFolder'
@@ -287,7 +273,7 @@ module.exports = function (callback) {
287
273
  fs.mkdirpSync(installPaths.definition);
288
274
  fs.mkdirpSync(installPaths.theme);
289
275
  fs.mkdirpSync(installPaths.tasks);
290
- } catch (error) {
276
+ } catch {
291
277
  console.error('NPM does not have permissions to create folders at your specified path. Adjust your folders permissions and run "npm install" again');
292
278
  }
293
279
 
@@ -307,23 +293,19 @@ module.exports = function (callback) {
307
293
  console.info('Adding theme files');
308
294
  gulp.src(source.themeImport)
309
295
  .pipe(plumber())
310
- .pipe(gulp.dest(installPaths.themeImport))
311
- ;
296
+ .pipe(gulp.dest(installPaths.themeImport));
312
297
  gulp.src(source.overridesImport)
313
298
  .pipe(plumber())
314
- .pipe(gulp.dest(installPaths.overridesImport))
315
- ;
299
+ .pipe(gulp.dest(installPaths.overridesImport));
316
300
  gulp.src(source.lessImport)
317
301
  .pipe(plumber())
318
- .pipe(gulp.dest(installPaths.lessImport))
319
- ;
302
+ .pipe(gulp.dest(installPaths.lessImport));
320
303
 
321
304
  // create gulp file
322
305
  console.info('Creating gulpfile.js');
323
306
  gulp.src(source.userGulpFile)
324
307
  .pipe(plumber())
325
- .pipe(gulp.dest(installFolder))
326
- ;
308
+ .pipe(gulp.dest(installFolder));
327
309
  }
328
310
 
329
311
  /* --------------
@@ -343,12 +325,10 @@ module.exports = function (callback) {
343
325
  --------------- */
344
326
 
345
327
  gulp.task('create theme.config', function () {
346
- let
347
- // determine path to site theme folder from theme config
348
- // force CSS path variable to use forward slashes for paths
349
- pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replace(/\\/g, '/'),
350
- siteVariable = "@siteFolder: '" + pathToSite + "/';"
351
- ;
328
+ // determine path to site theme folder from theme config
329
+ // force CSS path variable to use forward slashes for paths
330
+ const pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replaceAll('\\', '/');
331
+ const siteVariable = "@siteFolder: '" + pathToSite + "/';";
352
332
 
353
333
  // rewrite site variable in theme.less
354
334
  console.info('Adjusting @siteFolder to:', pathToSite + '/');
@@ -359,8 +339,7 @@ module.exports = function (callback) {
359
339
  return gulp.src(installPaths.themeConfig)
360
340
  .pipe(plumber())
361
341
  .pipe(replace(regExp.siteVariable, siteVariable))
362
- .pipe(gulp.dest(installPaths.themeConfigFolder))
363
- ;
342
+ .pipe(gulp.dest(installPaths.themeConfigFolder));
364
343
  }
365
344
 
366
345
  console.info('Creating src/theme.config (LESS config)', installPaths.themeConfig);
@@ -369,8 +348,7 @@ module.exports = function (callback) {
369
348
  .pipe(plumber())
370
349
  .pipe(rename({ extname: '' }))
371
350
  .pipe(replace(regExp.siteVariable, siteVariable))
372
- .pipe(gulp.dest(installPaths.themeConfigFolder))
373
- ;
351
+ .pipe(gulp.dest(installPaths.themeConfigFolder));
374
352
  });
375
353
 
376
354
  /* --------------
@@ -378,9 +356,7 @@ module.exports = function (callback) {
378
356
  --------------- */
379
357
 
380
358
  gulp.task('create semantic.json', function () {
381
- let
382
- jsonConfig = install.createJSON(answers)
383
- ;
359
+ const jsonConfig = install.createJSON(answers);
384
360
 
385
361
  // adjust variables in theme.less
386
362
  if (fs.pathExistsSync(installPaths.config)) {
@@ -390,8 +366,7 @@ module.exports = function (callback) {
390
366
  .pipe(plumber())
391
367
  .pipe(rename(settings.rename.json)) // preserve file extension
392
368
  .pipe(jsonEditor(jsonConfig))
393
- .pipe(gulp.dest(installPaths.configFolder))
394
- ;
369
+ .pipe(gulp.dest(installPaths.configFolder));
395
370
  }
396
371
 
397
372
  console.info('Creating config file (semantic.json)', installPaths.config);
@@ -400,8 +375,7 @@ module.exports = function (callback) {
400
375
  .pipe(plumber())
401
376
  .pipe(rename({ extname: '' })) // remove .template from ext
402
377
  .pipe(jsonEditor(jsonConfig, { end_with_newline: true }))
403
- .pipe(gulp.dest(installPaths.configFolder))
404
- ;
378
+ .pipe(gulp.dest(installPaths.configFolder));
405
379
  });
406
380
 
407
381
  gulp.series('create theme.config', 'create semantic.json')(callback);
@@ -424,15 +398,16 @@ module.exports = function (callback) {
424
398
  inquirer.prompt(questions.cleanup)
425
399
  .then((answers) => {
426
400
  if (answers.cleanup === 'yes') {
427
- install.setupFiles.forEach((file) => fs.removeSync(file));
401
+ for (const file of install.setupFiles) {
402
+ fs.removeSync(file);
403
+ }
428
404
  }
429
405
  if (answers.build === 'yes') {
430
406
  gulp.series('build')(callback);
431
407
  } else {
432
408
  callback();
433
409
  }
434
- })
435
- ;
410
+ });
436
411
  }
437
412
  }
438
413
  });
@@ -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) {