fomantic-ui 2.9.1-beta.2 → 2.9.1-beta.20

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 (339) hide show
  1. package/.eslintrc.js +110 -0
  2. package/.github/workflows/ci.yml +14 -4
  3. package/.stylelintrc.js +46 -0
  4. package/dist/components/accordion.css +19 -26
  5. package/dist/components/accordion.js +568 -595
  6. package/dist/components/accordion.min.css +1 -1
  7. package/dist/components/accordion.min.js +2 -2
  8. package/dist/components/ad.css +31 -41
  9. package/dist/components/ad.min.css +1 -1
  10. package/dist/components/api.js +1161 -1179
  11. package/dist/components/api.min.js +2 -2
  12. package/dist/components/breadcrumb.css +1 -1
  13. package/dist/components/breadcrumb.min.css +1 -1
  14. package/dist/components/button.css +71 -106
  15. package/dist/components/button.min.css +1 -1
  16. package/dist/components/calendar.css +18 -16
  17. package/dist/components/calendar.js +1895 -1809
  18. package/dist/components/calendar.min.css +2 -2
  19. package/dist/components/calendar.min.js +2 -2
  20. package/dist/components/card.css +83 -115
  21. package/dist/components/card.min.css +1 -1
  22. package/dist/components/checkbox.css +47 -64
  23. package/dist/components/checkbox.js +842 -841
  24. package/dist/components/checkbox.min.css +1 -1
  25. package/dist/components/checkbox.min.js +2 -2
  26. package/dist/components/comment.css +37 -51
  27. package/dist/components/comment.min.css +1 -1
  28. package/dist/components/container.css +6 -5
  29. package/dist/components/container.min.css +2 -2
  30. package/dist/components/dimmer.css +31 -41
  31. package/dist/components/dimmer.js +708 -737
  32. package/dist/components/dimmer.min.css +1 -1
  33. package/dist/components/dimmer.min.js +2 -2
  34. package/dist/components/divider.css +32 -44
  35. package/dist/components/divider.min.css +1 -1
  36. package/dist/components/dropdown.css +129 -166
  37. package/dist/components/dropdown.js +4161 -4234
  38. package/dist/components/dropdown.min.css +2 -2
  39. package/dist/components/dropdown.min.js +2 -2
  40. package/dist/components/embed.css +13 -19
  41. package/dist/components/embed.js +651 -675
  42. package/dist/components/embed.min.css +1 -1
  43. package/dist/components/embed.min.js +2 -2
  44. package/dist/components/emoji.css +7 -6
  45. package/dist/components/feed.css +24 -32
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +5 -3
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +44 -58
  50. package/dist/components/flyout.js +1464 -1465
  51. package/dist/components/flyout.min.css +2 -2
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +85 -111
  54. package/dist/components/form.js +1979 -2004
  55. package/dist/components/form.min.css +1 -1
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +70 -96
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +47 -65
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +45 -66
  62. package/dist/components/icon.min.css +2 -2
  63. package/dist/components/image.css +32 -42
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +182 -65
  66. package/dist/components/input.min.css +2 -2
  67. package/dist/components/item.css +55 -77
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +68 -91
  70. package/dist/components/label.min.css +2 -2
  71. package/dist/components/list.css +44 -59
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +16 -22
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +126 -186
  76. package/dist/components/message.css +25 -35
  77. package/dist/components/message.min.css +1 -1
  78. package/dist/components/modal.css +39 -40
  79. package/dist/components/modal.js +1491 -1485
  80. package/dist/components/modal.min.css +2 -2
  81. package/dist/components/modal.min.js +2 -2
  82. package/dist/components/nag.css +21 -28
  83. package/dist/components/nag.js +518 -526
  84. package/dist/components/nag.min.css +2 -2
  85. package/dist/components/nag.min.js +2 -2
  86. package/dist/components/placeholder.css +10 -12
  87. package/dist/components/placeholder.min.css +1 -1
  88. package/dist/components/popup.css +352 -59
  89. package/dist/components/popup.js +1437 -1456
  90. package/dist/components/popup.min.css +2 -2
  91. package/dist/components/popup.min.js +2 -2
  92. package/dist/components/progress.css +29 -39
  93. package/dist/components/progress.js +969 -997
  94. package/dist/components/progress.min.css +1 -1
  95. package/dist/components/progress.min.js +2 -2
  96. package/dist/components/rail.css +15 -20
  97. package/dist/components/rail.min.css +1 -1
  98. package/dist/components/rating.css +9 -13
  99. package/dist/components/rating.js +505 -523
  100. package/dist/components/rating.min.css +1 -1
  101. package/dist/components/rating.min.js +2 -2
  102. package/dist/components/reset.css +1 -1
  103. package/dist/components/reset.min.css +1 -1
  104. package/dist/components/reveal.css +19 -26
  105. package/dist/components/reveal.min.css +1 -1
  106. package/dist/components/search.css +43 -58
  107. package/dist/components/search.js +1498 -1534
  108. package/dist/components/search.min.css +2 -2
  109. package/dist/components/search.min.js +2 -2
  110. package/dist/components/segment.css +64 -83
  111. package/dist/components/segment.min.css +2 -2
  112. package/dist/components/shape.css +10 -14
  113. package/dist/components/shape.js +792 -809
  114. package/dist/components/shape.min.css +1 -1
  115. package/dist/components/shape.min.js +2 -2
  116. package/dist/components/sidebar.css +43 -58
  117. package/dist/components/sidebar.js +1071 -1098
  118. package/dist/components/sidebar.min.css +2 -2
  119. package/dist/components/sidebar.min.js +2 -2
  120. package/dist/components/site.css +5 -5
  121. package/dist/components/site.js +462 -476
  122. package/dist/components/site.min.css +1 -1
  123. package/dist/components/site.min.js +2 -2
  124. package/dist/components/slider.css +27 -37
  125. package/dist/components/slider.js +1287 -1306
  126. package/dist/components/slider.min.js +2 -2
  127. package/dist/components/state.js +639 -657
  128. package/dist/components/state.min.js +2 -2
  129. package/dist/components/statistic.css +32 -41
  130. package/dist/components/statistic.min.css +2 -2
  131. package/dist/components/step.css +26 -35
  132. package/dist/components/step.min.css +1 -1
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +857 -902
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +2 -2
  137. package/dist/components/tab.css +6 -8
  138. package/dist/components/tab.js +922 -963
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +2 -2
  141. package/dist/components/table.css +93 -119
  142. package/dist/components/table.min.css +2 -2
  143. package/dist/components/text.css +1 -1
  144. package/dist/components/text.min.css +1 -1
  145. package/dist/components/toast.css +4 -6
  146. package/dist/components/toast.js +886 -887
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +2 -2
  149. package/dist/components/transition.css +150 -3
  150. package/dist/components/transition.js +1041 -1077
  151. package/dist/components/transition.min.css +2 -2
  152. package/dist/components/transition.min.js +2 -2
  153. package/dist/components/visibility.js +1220 -1244
  154. package/dist/components/visibility.min.js +2 -2
  155. package/dist/semantic.css +2529 -1778
  156. package/dist/semantic.js +28928 -29383
  157. package/dist/semantic.min.css +2 -2
  158. package/dist/semantic.min.js +2 -2
  159. package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  160. package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  161. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  162. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  163. package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  164. package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  165. package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  166. package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  167. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  168. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  169. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  170. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  171. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  172. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  173. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  174. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  175. package/examples/assets/show-examples.js +13 -13
  176. package/gulpfile.js +9 -10
  177. package/package.json +13 -8
  178. package/scripts/nightly-version.js +81 -75
  179. package/src/definitions/behaviors/api.js +1162 -1180
  180. package/src/definitions/behaviors/form.js +1978 -2003
  181. package/src/definitions/behaviors/state.js +645 -663
  182. package/src/definitions/behaviors/visibility.js +1219 -1243
  183. package/src/definitions/collections/breadcrumb.less +41 -44
  184. package/src/definitions/collections/form.less +869 -879
  185. package/src/definitions/collections/grid.less +1690 -1695
  186. package/src/definitions/collections/menu.less +1493 -1503
  187. package/src/definitions/collections/message.less +292 -295
  188. package/src/definitions/collections/table.less +1616 -1620
  189. package/src/definitions/elements/button.less +1721 -1743
  190. package/src/definitions/elements/container.less +209 -209
  191. package/src/definitions/elements/divider.less +205 -206
  192. package/src/definitions/elements/emoji.less +38 -44
  193. package/src/definitions/elements/flag.less +44 -46
  194. package/src/definitions/elements/header.less +337 -345
  195. package/src/definitions/elements/icon.less +516 -443
  196. package/src/definitions/elements/image.less +221 -225
  197. package/src/definitions/elements/input.less +663 -659
  198. package/src/definitions/elements/label.less +803 -793
  199. package/src/definitions/elements/list.less +809 -809
  200. package/src/definitions/elements/loader.less +272 -266
  201. package/src/definitions/elements/placeholder.less +171 -168
  202. package/src/definitions/elements/rail.less +91 -91
  203. package/src/definitions/elements/reveal.less +192 -196
  204. package/src/definitions/elements/segment.less +743 -746
  205. package/src/definitions/elements/step.less +425 -433
  206. package/src/definitions/elements/text.less +32 -34
  207. package/src/definitions/globals/reset.less +9 -6
  208. package/src/definitions/globals/site.js +461 -475
  209. package/src/definitions/globals/site.less +106 -108
  210. package/src/definitions/modules/accordion.js +567 -594
  211. package/src/definitions/modules/accordion.less +242 -246
  212. package/src/definitions/modules/calendar.js +1894 -1808
  213. package/src/definitions/modules/calendar.less +98 -95
  214. package/src/definitions/modules/checkbox.js +841 -840
  215. package/src/definitions/modules/checkbox.less +536 -542
  216. package/src/definitions/modules/dimmer.js +707 -736
  217. package/src/definitions/modules/dimmer.less +300 -297
  218. package/src/definitions/modules/dropdown.js +4160 -4233
  219. package/src/definitions/modules/dropdown.less +1577 -1589
  220. package/src/definitions/modules/embed.js +650 -674
  221. package/src/definitions/modules/embed.less +81 -82
  222. package/src/definitions/modules/flyout.js +1463 -1464
  223. package/src/definitions/modules/flyout.less +445 -451
  224. package/src/definitions/modules/modal.js +1490 -1484
  225. package/src/definitions/modules/modal.less +459 -459
  226. package/src/definitions/modules/nag.js +517 -525
  227. package/src/definitions/modules/nag.less +134 -138
  228. package/src/definitions/modules/popup.js +1436 -1455
  229. package/src/definitions/modules/popup.less +742 -687
  230. package/src/definitions/modules/progress.js +968 -996
  231. package/src/definitions/modules/progress.less +521 -494
  232. package/src/definitions/modules/rating.js +504 -522
  233. package/src/definitions/modules/rating.less +94 -101
  234. package/src/definitions/modules/search.js +1497 -1533
  235. package/src/definitions/modules/search.less +375 -382
  236. package/src/definitions/modules/shape.js +791 -808
  237. package/src/definitions/modules/shape.less +71 -76
  238. package/src/definitions/modules/sidebar.js +1070 -1097
  239. package/src/definitions/modules/sidebar.less +463 -472
  240. package/src/definitions/modules/slider.js +1286 -1305
  241. package/src/definitions/modules/slider.less +307 -308
  242. package/src/definitions/modules/sticky.js +873 -918
  243. package/src/definitions/modules/sticky.less +21 -23
  244. package/src/definitions/modules/tab.js +921 -962
  245. package/src/definitions/modules/tab.less +51 -52
  246. package/src/definitions/modules/toast.js +885 -886
  247. package/src/definitions/modules/toast.less +584 -586
  248. package/src/definitions/modules/transition.js +1040 -1076
  249. package/src/definitions/modules/transition.less +62 -28
  250. package/src/definitions/views/ad.less +206 -206
  251. package/src/definitions/views/card.less +968 -970
  252. package/src/definitions/views/comment.less +190 -198
  253. package/src/definitions/views/feed.less +220 -224
  254. package/src/definitions/views/item.less +436 -446
  255. package/src/definitions/views/statistic.less +271 -277
  256. package/src/theme.less +29 -32
  257. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  258. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  259. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  260. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  261. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  262. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  263. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  264. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  265. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  266. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  267. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  268. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  269. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  270. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  271. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  272. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  273. package/src/themes/default/elements/container.variables +0 -7
  274. package/src/themes/default/elements/icon.variables +18 -0
  275. package/src/themes/default/elements/segment.variables +0 -7
  276. package/src/themes/default/globals/colors.less +589 -589
  277. package/src/themes/default/globals/site.variables +8 -0
  278. package/src/themes/default/globals/variation.variables +13 -1
  279. package/src/themes/default/modules/calendar.variables +2 -0
  280. package/src/themes/default/modules/nag.variables +1 -1
  281. package/src/themes/default/modules/popup.variables +2 -0
  282. package/src/themes/default/modules/transition.variables +8 -1
  283. package/tasks/admin/components/create.js +274 -276
  284. package/tasks/admin/components/init.js +123 -130
  285. package/tasks/admin/components/update.js +149 -157
  286. package/tasks/admin/distributions/create.js +184 -187
  287. package/tasks/admin/distributions/init.js +123 -130
  288. package/tasks/admin/distributions/update.js +145 -152
  289. package/tasks/admin/publish.js +5 -7
  290. package/tasks/admin/register.js +36 -38
  291. package/tasks/admin/release.js +8 -10
  292. package/tasks/build/assets.js +42 -39
  293. package/tasks/build/css.js +225 -216
  294. package/tasks/build/javascript.js +118 -113
  295. package/tasks/build.js +10 -10
  296. package/tasks/check-install.js +14 -16
  297. package/tasks/clean.js +5 -5
  298. package/tasks/collections/admin.js +34 -36
  299. package/tasks/collections/build.js +18 -20
  300. package/tasks/collections/docs.js +9 -11
  301. package/tasks/collections/install.js +9 -11
  302. package/tasks/collections/rtl.js +9 -11
  303. package/tasks/collections/various.js +8 -10
  304. package/tasks/config/admin/github.js +17 -17
  305. package/tasks/config/admin/oauth.example.js +4 -4
  306. package/tasks/config/admin/release.js +98 -98
  307. package/tasks/config/admin/templates/component-package.js +9 -10
  308. package/tasks/config/admin/templates/css-package.js +18 -20
  309. package/tasks/config/admin/templates/less-package.js +11 -13
  310. package/tasks/config/defaults.js +116 -114
  311. package/tasks/config/docs.js +23 -23
  312. package/tasks/config/npm/gulpfile.js +8 -9
  313. package/tasks/config/project/config.js +127 -134
  314. package/tasks/config/project/install.js +715 -713
  315. package/tasks/config/project/release.js +32 -38
  316. package/tasks/config/tasks.js +165 -156
  317. package/tasks/config/user.js +23 -26
  318. package/tasks/docs/build.js +97 -95
  319. package/tasks/docs/metadata.js +90 -96
  320. package/tasks/docs/serve.js +80 -81
  321. package/tasks/install.js +370 -378
  322. package/tasks/rtl/build.js +2 -2
  323. package/tasks/rtl/watch.js +2 -2
  324. package/tasks/version.js +4 -4
  325. package/tasks/watch.js +28 -30
  326. package/test/meteor/assets.js +10 -13
  327. package/test/meteor/fonts.js +12 -13
  328. package/test/modules/accordion.spec.js +6 -8
  329. package/test/modules/checkbox.spec.js +5 -7
  330. package/test/modules/dropdown.spec.js +5 -7
  331. package/test/modules/modal.spec.js +6 -8
  332. package/test/modules/module.spec.js +158 -178
  333. package/test/modules/popup.spec.js +5 -7
  334. package/test/modules/search.spec.js +5 -7
  335. package/test/modules/shape.spec.js +5 -7
  336. package/test/modules/sidebar.spec.js +5 -7
  337. package/test/modules/tab.spec.js +6 -8
  338. package/test/modules/transition.spec.js +5 -7
  339. package/test/modules/video.spec.js +5 -7
@@ -3,44 +3,44 @@
3
3
  *******************************/
4
4
 
5
5
  const
6
- gulp = require('gulp'),
7
-
8
- // node dependencies
9
- console = require('better-console'),
10
-
11
- // gulp dependencies
12
- autoprefixer = require('gulp-autoprefixer'),
13
- chmod = require('gulp-chmod'),
14
- concatCSS = require('gulp-concat-css'),
15
- dedupe = require('gulp-dedupe'),
16
- flatten = require('gulp-flatten'),
17
- gulpif = require('gulp-if'),
18
- header = require('gulp-header'),
19
- less = require('gulp-less'),
20
- minifyCSS = require('gulp-clean-css'),
21
- normalize = require('normalize-path'),
22
- plumber = require('gulp-plumber'),
23
- print = require('gulp-print').default,
24
- rename = require('gulp-rename'),
25
- replace = require('gulp-replace'),
26
- replaceExt = require('replace-ext'),
27
- rtlcss = require('gulp-rtlcss'),
28
-
29
- // config
30
- config = require('./../config/user'),
31
- docsConfig = require('./../config/docs'),
32
- tasks = require('../config/tasks'),
33
- install = require('../config/project/install'),
34
-
35
- // shorthand
36
- globs = config.globs,
37
- assets = config.paths.assets,
38
-
39
- banner = tasks.banner,
40
- filenames = tasks.filenames,
41
- comments = tasks.regExp.comments,
42
- log = tasks.log,
43
- settings = tasks.settings
6
+ gulp = require('gulp'),
7
+
8
+ // node dependencies
9
+ console = require('better-console'),
10
+
11
+ // gulp dependencies
12
+ autoprefixer = require('gulp-autoprefixer'),
13
+ chmod = require('gulp-chmod'),
14
+ concatCSS = require('gulp-concat-css'),
15
+ dedupe = require('gulp-dedupe'),
16
+ flatten = require('gulp-flatten'),
17
+ gulpif = require('gulp-if'),
18
+ header = require('gulp-header'),
19
+ less = require('gulp-less'),
20
+ minifyCSS = require('gulp-clean-css'),
21
+ normalize = require('normalize-path'),
22
+ plumber = require('gulp-plumber'),
23
+ print = require('gulp-print').default,
24
+ rename = require('gulp-rename'),
25
+ replace = require('gulp-replace'),
26
+ replaceExt = require('replace-ext'),
27
+ rtlcss = require('gulp-rtlcss'),
28
+
29
+ // config
30
+ config = require('../config/user'),
31
+ docsConfig = require('../config/docs'),
32
+ tasks = require('../config/tasks'),
33
+ install = require('../config/project/install'),
34
+
35
+ // shorthand
36
+ globs = config.globs,
37
+ assets = config.paths.assets,
38
+
39
+ banner = tasks.banner,
40
+ filenames = tasks.filenames,
41
+ comments = tasks.regExp.comments,
42
+ log = tasks.log,
43
+ settings = tasks.settings
44
44
  ;
45
45
 
46
46
  /**
@@ -53,33 +53,35 @@ const
53
53
  * @return {*}
54
54
  */
55
55
  function build(src, type, compress, config, opts) {
56
- let fileExtension;
57
- if (type === 'rtl' && compress) {
58
- fileExtension = settings.rename.rtlMinCSS;
59
- } else if (type === 'rtl') {
60
- fileExtension = settings.rename.rtlCSS;
61
- } else if (compress) {
62
- fileExtension = settings.rename.minCSS;
63
- }
64
-
65
- return gulp.src(src, opts)
66
- .pipe(plumber(settings.plumber.less))
67
- .pipe(less(settings.less))
68
- .pipe(autoprefixer(settings.prefix))
69
- .pipe(gulpif(type === 'rtl', rtlcss()))
70
- .pipe(replace(comments.variables.in, comments.variables.out))
71
- .pipe(replace(comments.license.in, comments.license.out))
72
- .pipe(replace(comments.large.in, comments.large.out))
73
- .pipe(replace(comments.small.in, comments.small.out))
74
- .pipe(replace(comments.tiny.in, comments.tiny.out))
75
- .pipe(flatten())
76
- .pipe(replace(config.paths.assets.source,
77
- compress ? config.paths.assets.compressed : config.paths.assets.uncompressed))
78
- .pipe(gulpif(compress, minifyCSS(settings.minify)))
79
- .pipe(gulpif(fileExtension, rename(fileExtension)))
80
- .pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions)))
81
- .pipe(gulp.dest(compress ? config.paths.output.compressed : config.paths.output.uncompressed))
82
- .pipe(print(log.created))
56
+ let fileExtension;
57
+ if (type === 'rtl' && compress) {
58
+ fileExtension = settings.rename.rtlMinCSS;
59
+ } else if (type === 'rtl') {
60
+ fileExtension = settings.rename.rtlCSS;
61
+ } else if (compress) {
62
+ fileExtension = settings.rename.minCSS;
63
+ }
64
+
65
+ return gulp.src(src, opts)
66
+ .pipe(plumber(settings.plumber.less))
67
+ .pipe(less(settings.less))
68
+ .pipe(autoprefixer(settings.prefix))
69
+ .pipe(gulpif(type === 'rtl', rtlcss()))
70
+ .pipe(replace(comments.variables.in, comments.variables.out))
71
+ .pipe(replace(comments.license.in, comments.license.out))
72
+ .pipe(replace(comments.large.in, comments.large.out))
73
+ .pipe(replace(comments.small.in, comments.small.out))
74
+ .pipe(replace(comments.tiny.in, comments.tiny.out))
75
+ .pipe(flatten())
76
+ .pipe(replace(
77
+ config.paths.assets.source,
78
+ compress ? config.paths.assets.compressed : config.paths.assets.uncompressed
79
+ ))
80
+ .pipe(gulpif(compress, minifyCSS(settings.minify)))
81
+ .pipe(gulpif(fileExtension, rename(fileExtension)))
82
+ .pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions)))
83
+ .pipe(gulp.dest(compress ? config.paths.output.compressed : config.paths.output.uncompressed))
84
+ .pipe(print(log.created))
83
85
  ;
84
86
  }
85
87
 
@@ -89,114 +91,118 @@ function build(src, type, compress, config, opts) {
89
91
  * @param {boolean} compress - should the output be compressed
90
92
  */
91
93
  function pack(type, compress) {
92
- const output = type === 'docs' ? docsConfig.paths.output : config.paths.output;
93
- const ignoredGlobs = type === 'rtl' ? globs.ignoredRTL + '.rtl.css' : globs.ignored + '.css';
94
-
95
- let concatenatedCSS;
96
- if (type === 'rtl') {
97
- concatenatedCSS = compress ? filenames.concatenatedMinifiedRTLCSS : filenames.concatenatedRTLCSS;
98
- } else {
99
- concatenatedCSS = compress ? filenames.concatenatedMinifiedCSS : filenames.concatenatedCSS;
100
- }
101
-
102
- let src = output.uncompressed + '/**/' + globs.components + ignoredGlobs;
103
- if (globs.components.indexOf('table') < 0 && globs.components.indexOf('tab') > 0) {
104
- src = [src, '!' + output.uncompressed + '/**/table.css'];
105
- }
106
-
107
- return gulp.src(src)
108
- .pipe(plumber())
109
- .pipe(dedupe())
110
- .pipe(replace(assets.uncompressed, assets.packaged))
111
- .pipe(concatCSS(concatenatedCSS, settings.concatCSS))
112
- .pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions)))
113
- .pipe(gulpif(compress, minifyCSS(settings.concatMinify)))
114
- .pipe(header(banner, settings.header))
115
- .pipe(gulp.dest(output.packaged))
116
- .pipe(print(log.created))
94
+ const output = type === 'docs' ? docsConfig.paths.output : config.paths.output;
95
+ const ignoredGlobs = type === 'rtl' ? globs.ignoredRTL + '.rtl.css' : globs.ignored + '.css';
96
+
97
+ let concatenatedCSS;
98
+ if (type === 'rtl') {
99
+ concatenatedCSS = compress ? filenames.concatenatedMinifiedRTLCSS : filenames.concatenatedRTLCSS;
100
+ } else {
101
+ concatenatedCSS = compress ? filenames.concatenatedMinifiedCSS : filenames.concatenatedCSS;
102
+ }
103
+
104
+ let src = output.uncompressed + '/**/' + globs.components + ignoredGlobs;
105
+ if (globs.components.indexOf('table') < 0 && globs.components.indexOf('tab') > 0) {
106
+ src = [src, '!' + output.uncompressed + '/**/table.css'];
107
+ }
108
+
109
+ return gulp.src(src)
110
+ .pipe(plumber())
111
+ .pipe(dedupe())
112
+ .pipe(replace(assets.uncompressed, assets.packaged))
113
+ .pipe(concatCSS(concatenatedCSS, settings.concatCSS))
114
+ .pipe(gulpif(config.stripHeaders, replace(comments.header.in, comments.header.out)))
115
+ .pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions)))
116
+ .pipe(gulpif(compress, minifyCSS(settings.concatMinify)))
117
+ .pipe(header(banner, settings.header))
118
+ .pipe(gulp.dest(output.packaged))
119
+ .pipe(print(log.created))
117
120
  ;
118
121
  }
119
122
 
120
123
  function buildCSS(src, type, config, opts, callback) {
121
- if (!install.isSetup()) {
122
- console.error('Cannot build CSS files. Run "gulp install" to set-up Semantic');
123
- callback();
124
- return;
125
- }
126
-
127
- if (callback === undefined) {
128
- callback = opts;
129
- opts = config;
130
- config = type;
131
- type = src;
132
- src = config.paths.source.definitions + '/**/' + config.globs.components + '.less';
133
- }
134
-
135
- if (globs.individuals !== undefined && typeof src === 'string') {
136
- const individuals = config.globs.individuals.replace(/\{/g,'');
137
- const components = config.globs.components.replace(/\}/g,',').concat(individuals);
138
-
139
- src = config.paths.source.definitions + '/**/' + components + '.less';
140
- }
141
-
142
- const buildUncompressed = () => build(src, type, false, config, opts);
143
- buildUncompressed.displayName = 'Building uncompressed CSS';
144
-
145
- const buildCompressed = () => build(src, type, true, config, opts);
146
- buildCompressed.displayName = 'Building compressed CSS';
147
-
148
- const packUncompressed = () => pack(type, false);
149
- packUncompressed.displayName = 'Packing uncompressed CSS';
150
-
151
- const packCompressed = () => pack(type, true);
152
- packCompressed.displayName = 'Packing compressed CSS';
153
-
154
- gulp.parallel(
155
- gulp.series(
156
- buildUncompressed,
157
- gulp.parallel(packUncompressed, packCompressed)
158
- ),
159
- gulp.series(buildCompressed)
160
- )(callback);
124
+ if (!install.isSetup()) {
125
+ console.error('Cannot build CSS files. Run "gulp install" to set-up Semantic');
126
+ callback();
127
+
128
+ return;
129
+ }
130
+
131
+ if (callback === undefined) {
132
+ callback = opts;
133
+ opts = config;
134
+ config = type;
135
+ type = src;
136
+ src = config.paths.source.definitions + '/**/' + config.globs.components + '.less';
137
+ }
138
+
139
+ if (globs.individuals !== undefined && typeof src === 'string') {
140
+ const components = config.globs.components.replace(/[{}]/g, '') + ',' + config.globs.individuals.replace(/[{}]/g, '');
141
+
142
+ src = config.paths.source.definitions + '/**/{' + components + '}.less';
143
+ }
144
+
145
+ const buildUncompressed = () => build(src, type, false, config, opts);
146
+ buildUncompressed.displayName = 'Building uncompressed CSS';
147
+
148
+ const buildCompressed = () => build(src, type, true, config, opts);
149
+ buildCompressed.displayName = 'Building compressed CSS';
150
+
151
+ const packUncompressed = () => pack(type, false);
152
+ packUncompressed.displayName = 'Packing uncompressed CSS';
153
+
154
+ const packCompressed = () => pack(type, true);
155
+ packCompressed.displayName = 'Packing compressed CSS';
156
+
157
+ gulp.parallel(
158
+ gulp.series(
159
+ buildUncompressed,
160
+ gulp.parallel(packUncompressed, packCompressed)
161
+ ),
162
+ gulp.series(buildCompressed)
163
+ )(callback);
161
164
  }
162
165
 
163
166
  function rtlAndNormal(src, callback) {
164
- if (callback === undefined) {
165
- callback = src;
166
- src = config.paths.source.definitions + '/**/' + config.globs.components + '.less';
167
- }
168
-
169
- const rtl = (callback) => buildCSS(src, 'rtl', config, {}, callback);
170
- rtl.displayName = "CSS Right-To-Left";
171
- const css = (callback) => buildCSS(src, 'default', config, {}, callback);
172
- css.displayName = "CSS";
173
-
174
- if (config.rtl === true || config.rtl === 'Yes') {
175
- rtl(callback);
176
- } else if (config.rtl === 'both') {
177
- gulp.series(rtl, css)(callback);
178
- } else {
179
- css(callback);
180
- }
167
+ if (callback === undefined) {
168
+ callback = src;
169
+ src = config.paths.source.definitions + '/**/' + config.globs.components + '.less';
170
+ }
171
+
172
+ const rtl = (callback) => buildCSS(src, 'rtl', config, {}, callback);
173
+ rtl.displayName = 'CSS Right-To-Left';
174
+ const css = (callback) => buildCSS(src, 'default', config, {}, callback);
175
+ css.displayName = 'CSS';
176
+
177
+ if (config.rtl === true || config.rtl === 'Yes') {
178
+ rtl(callback);
179
+ } else if (config.rtl === 'both') {
180
+ gulp.series(rtl, css)(callback);
181
+ } else {
182
+ css(callback);
183
+ }
181
184
  }
182
185
 
183
186
  function docs(src, callback) {
184
- if (callback === undefined) {
185
- callback = src;
186
- src = config.paths.source.definitions + '/**/' + config.globs.components + '.less';
187
- }
187
+ if (callback === undefined) {
188
+ callback = src;
189
+ src = config.paths.source.definitions + '/**/' + config.globs.components + '.less';
190
+ }
188
191
 
189
- const func = (callback) => buildCSS(src, 'docs', config, {}, callback);
190
- func.displayName = "CSS Docs";
192
+ const func = (callback) => buildCSS(src, 'docs', config, {}, callback);
193
+ func.displayName = 'CSS Docs';
191
194
 
192
- func(callback);
195
+ func(callback);
193
196
  }
194
197
 
195
198
  // Default tasks
196
199
  module.exports = rtlAndNormal;
197
200
 
198
201
  // We keep the changed files in an array to call build with all of them at the same time
199
- let timeout, files = [];
202
+ let
203
+ timeout,
204
+ files = []
205
+ ;
200
206
 
201
207
  /**
202
208
  * Watch changes in CSS files and call the correct build pipe
@@ -204,68 +210,71 @@ let timeout, files = [];
204
210
  * @param config
205
211
  */
206
212
  module.exports.watch = function (type, config) {
207
- const method = type === 'docs' ? docs : rtlAndNormal;
208
-
209
- // Watch theme.config file
210
- gulp.watch([
211
- normalize(config.paths.source.config),
212
- normalize(config.paths.source.site + '/**/site.variables'),
213
- normalize(config.paths.source.themes + '/**/site.variables')
214
- ])
215
- .on('all', function () {
216
- // Clear timeout and reset files
217
- timeout && clearTimeout(timeout);
218
- files = [];
219
- return gulp.series(method)();
220
- });
221
-
222
- // Watch any less / overrides / variables files
223
- gulp.watch([
224
- normalize(config.paths.source.definitions + '/**/*.less'),
225
- normalize(config.paths.source.site + '/**/*.{overrides,variables}'),
226
- normalize(config.paths.source.themes + '/**/*.{overrides,variables}')
227
- ])
228
- .on('all', function (event, path) {
229
- // We don't handle deleted files yet
230
- if (event === 'unlink' || event === 'unlinkDir') {
231
- return;
232
- }
233
-
234
- // Clear timeout
235
- timeout && clearTimeout(timeout);
213
+ const method = type === 'docs' ? docs : rtlAndNormal;
214
+
215
+ // Watch theme.config file
216
+ gulp.watch([
217
+ normalize(config.paths.source.config),
218
+ normalize(config.paths.source.site + '/**/site.variables'),
219
+ normalize(config.paths.source.themes + '/**/site.variables'),
220
+ ])
221
+ .on('all', function () {
222
+ // Clear timeout and reset files
223
+ timeout && clearTimeout(timeout);
224
+ files = [];
225
+
226
+ return gulp.series(method)();
227
+ })
228
+ ;
236
229
 
237
- // Determine which LESS file has to be recompiled
238
- let lessPath;
239
- if(path.indexOf('site.variables') !== -1) {
240
- return;
241
- } else if (path.indexOf(config.paths.source.themes) !== -1) {
242
- console.log('Change detected in packaged theme');
243
- lessPath = replaceExt(path, '.less');
244
- lessPath = lessPath.replace(tasks.regExp.theme, config.paths.source.definitions);
245
- } else if (path.indexOf(config.paths.source.site) !== -1) {
246
- console.log('Change detected in site theme');
247
- lessPath = replaceExt(path, '.less');
248
- lessPath = lessPath.replace(config.paths.source.site, config.paths.source.definitions);
249
- } else {
250
- console.log('Change detected in definition');
251
- lessPath = path;
252
- }
253
-
254
- // Add file to internal changed files array
255
- if (!files.includes(lessPath)) {
256
- files.push(lessPath);
257
- }
258
-
259
- // Update timeout
260
- timeout = setTimeout(() => {
261
- // Copy files to build in another array
262
- const buildFiles = [...files];
263
- // Call method
264
- gulp.series((callback) => method(buildFiles, callback))();
265
- // Reset internal changed files array
266
- files = [];
267
- }, 1000);
268
- });
230
+ // Watch any less / overrides / variables files
231
+ gulp.watch([
232
+ normalize(config.paths.source.definitions + '/**/*.less'),
233
+ normalize(config.paths.source.site + '/**/*.{overrides,variables}'),
234
+ normalize(config.paths.source.themes + '/**/*.{overrides,variables}'),
235
+ ])
236
+ .on('all', function (event, path) {
237
+ // We don't handle deleted files yet
238
+ if (event === 'unlink' || event === 'unlinkDir') {
239
+ return;
240
+ }
241
+
242
+ // Clear timeout
243
+ timeout && clearTimeout(timeout);
244
+
245
+ // Determine which LESS file has to be recompiled
246
+ let lessPath;
247
+ if (path.indexOf('site.variables') !== -1) {
248
+ return;
249
+ } else if (path.indexOf(config.paths.source.themes) !== -1) {
250
+ console.log('Change detected in packaged theme');
251
+ lessPath = replaceExt(path, '.less');
252
+ lessPath = lessPath.replace(tasks.regExp.theme, config.paths.source.definitions);
253
+ } else if (path.indexOf(config.paths.source.site) !== -1) {
254
+ console.log('Change detected in site theme');
255
+ lessPath = replaceExt(path, '.less');
256
+ lessPath = lessPath.replace(config.paths.source.site, config.paths.source.definitions);
257
+ } else {
258
+ console.log('Change detected in definition');
259
+ lessPath = path;
260
+ }
261
+
262
+ // Add file to internal changed files array
263
+ if (!files.includes(lessPath)) {
264
+ files.push(lessPath);
265
+ }
266
+
267
+ // Update timeout
268
+ timeout = setTimeout(() => {
269
+ // Copy files to build in another array
270
+ const buildFiles = [...files];
271
+ // Call method
272
+ gulp.series((callback) => method(buildFiles, callback))();
273
+ // Reset internal changed files array
274
+ files = [];
275
+ }, 1000);
276
+ })
277
+ ;
269
278
  };
270
279
 
271
280
  // Expose build css method