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

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 (493) hide show
  1. package/.eslintrc.js +111 -0
  2. package/.github/workflows/ci.yml +14 -4
  3. package/.stylelintrc.js +59 -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 +1156 -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 +1902 -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 +179 -42
  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 +2558 -1807
  156. package/dist/semantic.js +28960 -29413
  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/_site/collections/menu.overrides +1 -1
  180. package/src/_site/elements/flag.variables +2 -2
  181. package/src/_site/globals/site.variables +1 -1
  182. package/src/definitions/behaviors/api.js +1157 -1180
  183. package/src/definitions/behaviors/form.js +1978 -2003
  184. package/src/definitions/behaviors/state.js +645 -663
  185. package/src/definitions/behaviors/visibility.js +1219 -1243
  186. package/src/definitions/collections/breadcrumb.less +41 -45
  187. package/src/definitions/collections/form.less +864 -882
  188. package/src/definitions/collections/grid.less +1689 -1697
  189. package/src/definitions/collections/menu.less +1490 -1508
  190. package/src/definitions/collections/message.less +292 -295
  191. package/src/definitions/collections/table.less +1616 -1620
  192. package/src/definitions/elements/button.less +1710 -1754
  193. package/src/definitions/elements/container.less +209 -209
  194. package/src/definitions/elements/divider.less +200 -209
  195. package/src/definitions/elements/emoji.less +38 -45
  196. package/src/definitions/elements/flag.less +44 -46
  197. package/src/definitions/elements/header.less +337 -345
  198. package/src/definitions/elements/icon.less +516 -451
  199. package/src/definitions/elements/image.less +219 -225
  200. package/src/definitions/elements/input.less +657 -663
  201. package/src/definitions/elements/label.less +783 -804
  202. package/src/definitions/elements/list.less +808 -812
  203. package/src/definitions/elements/loader.less +269 -266
  204. package/src/definitions/elements/placeholder.less +171 -168
  205. package/src/definitions/elements/rail.less +91 -91
  206. package/src/definitions/elements/reveal.less +190 -196
  207. package/src/definitions/elements/segment.less +738 -747
  208. package/src/definitions/elements/step.less +424 -435
  209. package/src/definitions/elements/text.less +32 -34
  210. package/src/definitions/globals/reset.less +9 -6
  211. package/src/definitions/globals/site.js +461 -475
  212. package/src/definitions/globals/site.less +106 -108
  213. package/src/definitions/modules/accordion.js +567 -594
  214. package/src/definitions/modules/accordion.less +242 -246
  215. package/src/definitions/modules/calendar.js +1901 -1808
  216. package/src/definitions/modules/calendar.less +98 -95
  217. package/src/definitions/modules/checkbox.js +841 -840
  218. package/src/definitions/modules/checkbox.less +524 -545
  219. package/src/definitions/modules/dimmer.js +707 -736
  220. package/src/definitions/modules/dimmer.less +300 -303
  221. package/src/definitions/modules/dropdown.js +4160 -4233
  222. package/src/definitions/modules/dropdown.less +1570 -1596
  223. package/src/definitions/modules/embed.js +650 -674
  224. package/src/definitions/modules/embed.less +80 -82
  225. package/src/definitions/modules/flyout.js +1463 -1464
  226. package/src/definitions/modules/flyout.less +444 -454
  227. package/src/definitions/modules/modal.js +1490 -1484
  228. package/src/definitions/modules/modal.less +459 -465
  229. package/src/definitions/modules/nag.js +517 -525
  230. package/src/definitions/modules/nag.less +134 -147
  231. package/src/definitions/modules/popup.js +1436 -1455
  232. package/src/definitions/modules/popup.less +733 -690
  233. package/src/definitions/modules/progress.js +968 -996
  234. package/src/definitions/modules/progress.less +521 -497
  235. package/src/definitions/modules/rating.js +504 -522
  236. package/src/definitions/modules/rating.less +94 -101
  237. package/src/definitions/modules/search.js +1497 -1533
  238. package/src/definitions/modules/search.less +373 -392
  239. package/src/definitions/modules/shape.js +791 -808
  240. package/src/definitions/modules/shape.less +68 -77
  241. package/src/definitions/modules/sidebar.js +1070 -1097
  242. package/src/definitions/modules/sidebar.less +462 -474
  243. package/src/definitions/modules/slider.js +1286 -1305
  244. package/src/definitions/modules/slider.less +307 -308
  245. package/src/definitions/modules/sticky.js +873 -918
  246. package/src/definitions/modules/sticky.less +22 -23
  247. package/src/definitions/modules/tab.js +921 -962
  248. package/src/definitions/modules/tab.less +46 -52
  249. package/src/definitions/modules/toast.js +885 -886
  250. package/src/definitions/modules/toast.less +584 -586
  251. package/src/definitions/modules/transition.js +1040 -1076
  252. package/src/definitions/modules/transition.less +62 -28
  253. package/src/definitions/views/ad.less +205 -206
  254. package/src/definitions/views/card.less +963 -969
  255. package/src/definitions/views/comment.less +190 -198
  256. package/src/definitions/views/feed.less +220 -224
  257. package/src/definitions/views/item.less +435 -446
  258. package/src/definitions/views/statistic.less +271 -277
  259. package/src/theme.less +29 -32
  260. package/src/themes/amazon/elements/button.overrides +23 -24
  261. package/src/themes/amazon/elements/button.variables +11 -11
  262. package/src/themes/amazon/globals/site.variables +2 -3
  263. package/src/themes/basic/collections/table.overrides +0 -1
  264. package/src/themes/basic/collections/table.variables +3 -3
  265. package/src/themes/basic/elements/button.overrides +0 -1
  266. package/src/themes/basic/elements/button.variables +2 -2
  267. package/src/themes/basic/elements/icon.overrides +12 -13
  268. package/src/themes/basic/elements/icon.variables +13 -13
  269. package/src/themes/basic/elements/step.overrides +2 -2
  270. package/src/themes/basic/elements/step.variables +2 -2
  271. package/src/themes/basic/globals/reset.overrides +1 -1
  272. package/src/themes/basic/globals/reset.variables +1 -1
  273. package/src/themes/basic/views/card.overrides +0 -1
  274. package/src/themes/basic/views/card.variables +3 -3
  275. package/src/themes/bookish/elements/header.overrides +3 -3
  276. package/src/themes/bookish/elements/header.variables +2 -2
  277. package/src/themes/bootstrap3/elements/button.variables +7 -8
  278. package/src/themes/chubby/collections/form.overrides +9 -9
  279. package/src/themes/chubby/collections/form.variables +3 -3
  280. package/src/themes/chubby/collections/menu.variables +1 -1
  281. package/src/themes/chubby/elements/button.overrides +7 -9
  282. package/src/themes/chubby/elements/button.variables +2 -2
  283. package/src/themes/chubby/elements/header.variables +3 -3
  284. package/src/themes/chubby/modules/accordion.overrides +2 -2
  285. package/src/themes/chubby/modules/accordion.variables +3 -3
  286. package/src/themes/chubby/views/comment.overrides +5 -5
  287. package/src/themes/chubby/views/comment.variables +4 -4
  288. package/src/themes/classic/collections/table.variables +2 -2
  289. package/src/themes/classic/elements/button.variables +20 -21
  290. package/src/themes/classic/elements/header.variables +3 -3
  291. package/src/themes/classic/modules/progress.variables +1 -1
  292. package/src/themes/classic/views/card.overrides +14 -14
  293. package/src/themes/classic/views/card.variables +4 -4
  294. package/src/themes/colored/modules/checkbox.variables +1 -1
  295. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  296. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  297. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  298. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  299. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  300. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  301. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  302. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  303. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  304. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  305. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  306. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  307. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  308. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  309. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  310. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  311. package/src/themes/default/collections/breadcrumb.variables +4 -4
  312. package/src/themes/default/collections/form.variables +12 -12
  313. package/src/themes/default/collections/grid.overrides +0 -1
  314. package/src/themes/default/collections/grid.variables +14 -16
  315. package/src/themes/default/collections/menu.variables +19 -31
  316. package/src/themes/default/collections/message.variables +83 -84
  317. package/src/themes/default/collections/table.variables +16 -18
  318. package/src/themes/default/elements/button.variables +30 -31
  319. package/src/themes/default/elements/container.variables +4 -12
  320. package/src/themes/default/elements/divider.overrides +8 -9
  321. package/src/themes/default/elements/divider.variables +4 -5
  322. package/src/themes/default/elements/emoji.overrides +0 -1
  323. package/src/themes/default/elements/emoji.variables +3555 -3555
  324. package/src/themes/default/elements/flag.variables +1594 -1594
  325. package/src/themes/default/elements/header.overrides +0 -1
  326. package/src/themes/default/elements/header.variables +16 -16
  327. package/src/themes/default/elements/icon.variables +2017 -2001
  328. package/src/themes/default/elements/image.variables +6 -7
  329. package/src/themes/default/elements/input.variables +10 -10
  330. package/src/themes/default/elements/label.variables +19 -20
  331. package/src/themes/default/elements/list.variables +16 -16
  332. package/src/themes/default/elements/loader.variables +15 -16
  333. package/src/themes/default/elements/placeholder.variables +6 -7
  334. package/src/themes/default/elements/rail.variables +4 -5
  335. package/src/themes/default/elements/segment.variables +18 -29
  336. package/src/themes/default/elements/step.overrides +4 -4
  337. package/src/themes/default/elements/step.variables +14 -16
  338. package/src/themes/default/elements/text.variables +2 -3
  339. package/src/themes/default/globals/colors.less +588 -588
  340. package/src/themes/default/globals/reset.overrides +57 -57
  341. package/src/themes/default/globals/reset.variables +1 -1
  342. package/src/themes/default/globals/site.variables +869 -875
  343. package/src/themes/default/globals/variation.variables +13 -4
  344. package/src/themes/default/modules/accordion.overrides +11 -11
  345. package/src/themes/default/modules/accordion.variables +14 -15
  346. package/src/themes/default/modules/calendar.variables +2 -0
  347. package/src/themes/default/modules/chatroom.variables +1 -1
  348. package/src/themes/default/modules/checkbox.overrides +6 -7
  349. package/src/themes/default/modules/checkbox.variables +17 -22
  350. package/src/themes/default/modules/dimmer.variables +7 -8
  351. package/src/themes/default/modules/dropdown.overrides +17 -17
  352. package/src/themes/default/modules/dropdown.variables +20 -21
  353. package/src/themes/default/modules/embed.variables +9 -10
  354. package/src/themes/default/modules/flyout.variables +6 -6
  355. package/src/themes/default/modules/modal.variables +18 -18
  356. package/src/themes/default/modules/nag.variables +11 -14
  357. package/src/themes/default/modules/popup.variables +14 -13
  358. package/src/themes/default/modules/progress.variables +10 -11
  359. package/src/themes/default/modules/rating.variables +10 -11
  360. package/src/themes/default/modules/search.variables +9 -11
  361. package/src/themes/default/modules/shape.variables +6 -6
  362. package/src/themes/default/modules/sidebar.variables +4 -4
  363. package/src/themes/default/modules/slider.variables +48 -49
  364. package/src/themes/default/modules/sticky.variables +1 -1
  365. package/src/themes/default/modules/toast.variables +1 -1
  366. package/src/themes/default/modules/transition.overrides +936 -915
  367. package/src/themes/default/modules/transition.variables +8 -1
  368. package/src/themes/default/views/card.variables +20 -22
  369. package/src/themes/default/views/comment.variables +6 -8
  370. package/src/themes/default/views/feed.variables +6 -6
  371. package/src/themes/default/views/item.variables +6 -9
  372. package/src/themes/default/views/statistic.variables +8 -8
  373. package/src/themes/duo/elements/loader.variables +1 -1
  374. package/src/themes/famfamfam/elements/flag.overrides +263 -268
  375. package/src/themes/famfamfam/elements/flag.variables +3 -3
  376. package/src/themes/fixed-width/collections/grid.variables +1 -1
  377. package/src/themes/fixed-width/modules/modal.variables +3 -5
  378. package/src/themes/flat/collections/form.overrides +9 -9
  379. package/src/themes/flat/collections/form.variables +4 -5
  380. package/src/themes/flat/globals/site.variables +61 -66
  381. package/src/themes/github/collections/breadcrumb.variables +0 -1
  382. package/src/themes/github/collections/form.overrides +7 -8
  383. package/src/themes/github/collections/form.variables +12 -13
  384. package/src/themes/github/collections/grid.variables +1 -2
  385. package/src/themes/github/collections/menu.overrides +2 -2
  386. package/src/themes/github/collections/menu.variables +11 -12
  387. package/src/themes/github/collections/message.overrides +3 -3
  388. package/src/themes/github/collections/message.variables +5 -5
  389. package/src/themes/github/collections/table.variables +1 -1
  390. package/src/themes/github/elements/button.overrides +0 -1
  391. package/src/themes/github/elements/button.variables +14 -14
  392. package/src/themes/github/elements/header.variables +2 -2
  393. package/src/themes/github/elements/icon.overrides +179 -179
  394. package/src/themes/github/elements/icon.variables +10 -10
  395. package/src/themes/github/elements/image.variables +1 -1
  396. package/src/themes/github/elements/input.overrides +16 -16
  397. package/src/themes/github/elements/input.variables +3 -3
  398. package/src/themes/github/elements/label.overrides +3 -3
  399. package/src/themes/github/elements/label.variables +0 -1
  400. package/src/themes/github/elements/segment.variables +2 -3
  401. package/src/themes/github/elements/step.overrides +13 -13
  402. package/src/themes/github/elements/step.variables +2 -2
  403. package/src/themes/github/globals/site.variables +2 -2
  404. package/src/themes/github/modules/dropdown.overrides +18 -19
  405. package/src/themes/github/modules/dropdown.variables +1 -1
  406. package/src/themes/github/modules/popup.variables +0 -2
  407. package/src/themes/instagram/views/card.overrides +3 -4
  408. package/src/themes/instagram/views/card.variables +3 -4
  409. package/src/themes/joypixels/elements/emoji.overrides +0 -2
  410. package/src/themes/joypixels/elements/emoji.variables +3554 -3554
  411. package/src/themes/material/collections/menu.variables +1 -1
  412. package/src/themes/material/elements/button.overrides +6 -8
  413. package/src/themes/material/elements/button.variables +28 -28
  414. package/src/themes/material/elements/header.overrides +2 -2
  415. package/src/themes/material/elements/header.variables +2 -4
  416. package/src/themes/material/elements/icon.overrides +932 -932
  417. package/src/themes/material/elements/icon.variables +11 -11
  418. package/src/themes/material/globals/site.variables +78 -79
  419. package/src/themes/material/modules/dropdown.overrides +1 -1
  420. package/src/themes/material/modules/dropdown.variables +1 -1
  421. package/src/themes/material/modules/modal.overrides +2 -2
  422. package/src/themes/material/modules/modal.variables +1 -2
  423. package/src/themes/pulsar/elements/loader.overrides +58 -58
  424. package/src/themes/raised/elements/button.variables +8 -8
  425. package/src/themes/resetcss/globals/reset.overrides +115 -33
  426. package/src/themes/resetcss/globals/reset.variables +1 -1
  427. package/src/themes/round/elements/button.variables +11 -14
  428. package/src/themes/rtl/globals/site.variables +5 -6
  429. package/src/themes/striped/modules/progress.overrides +20 -16
  430. package/src/themes/systemfont/globals/reset.overrides +1 -1
  431. package/src/themes/systemfont/globals/site.variables +5 -5
  432. package/src/themes/timeline/views/feed.overrides +12 -12
  433. package/src/themes/timeline/views/feed.variables +4 -4
  434. package/src/themes/twitter/elements/button.overrides +4 -5
  435. package/src/themes/twitter/elements/button.variables +6 -7
  436. package/src/themes/twitter/elements/emoji.variables +3555 -3555
  437. package/tasks/admin/components/create.js +274 -276
  438. package/tasks/admin/components/init.js +123 -130
  439. package/tasks/admin/components/update.js +149 -157
  440. package/tasks/admin/distributions/create.js +184 -187
  441. package/tasks/admin/distributions/init.js +123 -130
  442. package/tasks/admin/distributions/update.js +145 -152
  443. package/tasks/admin/publish.js +5 -7
  444. package/tasks/admin/register.js +36 -38
  445. package/tasks/admin/release.js +8 -10
  446. package/tasks/build/assets.js +42 -39
  447. package/tasks/build/css.js +225 -216
  448. package/tasks/build/javascript.js +118 -113
  449. package/tasks/build.js +10 -10
  450. package/tasks/check-install.js +14 -16
  451. package/tasks/clean.js +5 -5
  452. package/tasks/collections/admin.js +34 -36
  453. package/tasks/collections/build.js +18 -20
  454. package/tasks/collections/docs.js +9 -11
  455. package/tasks/collections/install.js +9 -11
  456. package/tasks/collections/rtl.js +9 -11
  457. package/tasks/collections/various.js +8 -10
  458. package/tasks/config/admin/github.js +17 -17
  459. package/tasks/config/admin/oauth.example.js +4 -4
  460. package/tasks/config/admin/release.js +98 -98
  461. package/tasks/config/admin/templates/component-package.js +9 -10
  462. package/tasks/config/admin/templates/css-package.js +18 -20
  463. package/tasks/config/admin/templates/less-package.js +11 -13
  464. package/tasks/config/defaults.js +116 -114
  465. package/tasks/config/docs.js +23 -23
  466. package/tasks/config/npm/gulpfile.js +8 -9
  467. package/tasks/config/project/config.js +127 -134
  468. package/tasks/config/project/install.js +715 -713
  469. package/tasks/config/project/release.js +32 -38
  470. package/tasks/config/tasks.js +165 -156
  471. package/tasks/config/user.js +23 -26
  472. package/tasks/docs/build.js +97 -95
  473. package/tasks/docs/metadata.js +90 -96
  474. package/tasks/docs/serve.js +80 -81
  475. package/tasks/install.js +370 -378
  476. package/tasks/rtl/build.js +2 -2
  477. package/tasks/rtl/watch.js +2 -2
  478. package/tasks/version.js +4 -4
  479. package/tasks/watch.js +28 -30
  480. package/test/meteor/assets.js +10 -13
  481. package/test/meteor/fonts.js +12 -13
  482. package/test/modules/accordion.spec.js +6 -8
  483. package/test/modules/checkbox.spec.js +5 -7
  484. package/test/modules/dropdown.spec.js +5 -7
  485. package/test/modules/modal.spec.js +6 -8
  486. package/test/modules/module.spec.js +158 -178
  487. package/test/modules/popup.spec.js +5 -7
  488. package/test/modules/search.spec.js +5 -7
  489. package/test/modules/shape.spec.js +5 -7
  490. package/test/modules/sidebar.spec.js +5 -7
  491. package/test/modules/tab.spec.js +6 -8
  492. package/test/modules/transition.spec.js +5 -7
  493. package/test/modules/video.spec.js +5 -7
@@ -3,12 +3,12 @@
3
3
  *******************************/
4
4
 
5
5
  var
6
- fs = require('fs'),
7
- path = require('path'),
8
- defaults = require('../defaults'),
9
- release = require('./release'),
6
+ fs = require('fs'),
7
+ path = require('path'),
8
+ defaults = require('../defaults'),
9
+ release = require('./release'),
10
10
 
11
- requireDotFile = require('require-dot-file')
11
+ requireDotFile = require('require-dot-file')
12
12
  ;
13
13
 
14
14
  /*******************************
@@ -19,44 +19,44 @@ var
19
19
 
20
20
  var when = {
21
21
 
22
- // path
23
- changeRoot: function(questions) {
24
- return (questions.useRoot !== undefined && questions.useRoot !== true);
25
- },
26
-
27
- // permissions
28
- changePermissions: function(questions) {
29
- return (questions.changePermissions && questions.changePermissions === true);
30
- },
31
-
32
- // install
33
- hasConfig: function() {
34
- return requireDotFile('semantic.json', process.cwd());
35
- },
36
-
37
- allowOverwrite: function(questions) {
38
- return (questions.overwrite === undefined || questions.overwrite == 'yes');
39
- },
40
- notAuto: function(questions) {
41
- return (questions.install !== 'auto' && (questions.overwrite === undefined || questions.overwrite == 'yes'));
42
- },
43
- custom: function(questions) {
44
- return (questions.install === 'custom' && (questions.overwrite === undefined || questions.overwrite == 'yes'));
45
- },
46
- express: function(questions) {
47
- return (questions.install === 'express' && (questions.overwrite === undefined || questions.overwrite == 'yes'));
48
- },
49
-
50
- // customize
51
- customize: function(questions) {
52
- return (questions.customize === true);
53
- },
54
- primaryColor: function(questions) {
55
- return (questions.primaryColor);
56
- },
57
- secondaryColor: function(questions) {
58
- return (questions.secondaryColor);
59
- }
22
+ // path
23
+ changeRoot: function (questions) {
24
+ return (questions.useRoot !== undefined && questions.useRoot !== true);
25
+ },
26
+
27
+ // permissions
28
+ changePermissions: function (questions) {
29
+ return (questions.changePermissions && questions.changePermissions === true);
30
+ },
31
+
32
+ // install
33
+ hasConfig: function () {
34
+ return requireDotFile('semantic.json', process.cwd());
35
+ },
36
+
37
+ allowOverwrite: function (questions) {
38
+ return (questions.overwrite === undefined || questions.overwrite == 'yes');
39
+ },
40
+ notAuto: function (questions) {
41
+ return (questions.install !== 'auto' && (questions.overwrite === undefined || questions.overwrite == 'yes'));
42
+ },
43
+ custom: function (questions) {
44
+ return (questions.install === 'custom' && (questions.overwrite === undefined || questions.overwrite == 'yes'));
45
+ },
46
+ express: function (questions) {
47
+ return (questions.install === 'express' && (questions.overwrite === undefined || questions.overwrite == 'yes'));
48
+ },
49
+
50
+ // customize
51
+ customize: function (questions) {
52
+ return (questions.customize === true);
53
+ },
54
+ primaryColor: function (questions) {
55
+ return (questions.primaryColor);
56
+ },
57
+ secondaryColor: function (questions) {
58
+ return (questions.secondaryColor);
59
+ },
60
60
  };
61
61
 
62
62
  /*******************************
@@ -66,9 +66,9 @@ var when = {
66
66
  /* Filters to user input from install questions */
67
67
 
68
68
  var filter = {
69
- removeTrailingSlash: function(path) {
70
- return path.replace(/(\/$|\\$)+/mg, '');
71
- }
69
+ removeTrailingSlash: function (path) {
70
+ return path.replace(/(\/$|\\$)+/mg, '');
71
+ },
72
72
  };
73
73
 
74
74
  /*******************************
@@ -77,690 +77,692 @@ var filter = {
77
77
 
78
78
  module.exports = {
79
79
 
80
- // check whether install is setup
81
- isSetup: function() {
82
- return when.hasConfig();
83
- },
84
-
85
- // detect whether there is a semantic.json configuration and that the auto-install option is set to true
86
- shouldAutoInstall: function() {
87
- var
88
- config = when.hasConfig()
89
- ;
90
- return config['autoInstall'];
91
- },
92
-
93
- // checks if files are in a PM directory
94
- getPackageManager: function(directory) {
95
- var
96
- // returns last matching result (avoid sub-module detection)
97
- walk = function(directory) {
80
+ // check whether install is setup
81
+ isSetup: function () {
82
+ return when.hasConfig();
83
+ },
84
+
85
+ // detect whether there is a semantic.json configuration and that the auto-install option is set to true
86
+ shouldAutoInstall: function () {
98
87
  var
99
- pathArray = directory.split(path.sep),
100
- folder = pathArray[pathArray.length - 1],
101
- nextDirectory = path.join(directory, path.sep, '..')
88
+ config = when.hasConfig()
102
89
  ;
103
- if( folder == 'bower_components') {
104
- return {
105
- name: 'Bower',
106
- root: nextDirectory
107
- };
90
+
91
+ return config.autoInstall;
92
+ },
93
+
94
+ // checks if files are in a PM directory
95
+ getPackageManager: function (directory) {
96
+ var
97
+ // returns last matching result (avoid sub-module detection)
98
+ walk = function (directory) {
99
+ var
100
+ pathArray = directory.split(path.sep),
101
+ folder = pathArray[pathArray.length - 1],
102
+ nextDirectory = path.join(directory, path.sep, '..')
103
+ ;
104
+ if (folder == 'bower_components') {
105
+ return {
106
+ name: 'Bower',
107
+ root: nextDirectory,
108
+ };
109
+ } else if (folder == 'node_modules') {
110
+ return {
111
+ name: 'NPM',
112
+ root: nextDirectory,
113
+ };
114
+ } else if (folder == 'composer') {
115
+ return {
116
+ name: 'Composer',
117
+ root: nextDirectory,
118
+ };
119
+ }
120
+ if (path.resolve(directory) == path.resolve(nextDirectory)) {
121
+ return false;
122
+ }
123
+
124
+ // recurse downward
125
+ return walk(nextDirectory);
126
+ }
127
+ ;
128
+ // start walk from current directory if none specified
129
+ directory = directory || (__dirname + path.sep);
130
+
131
+ return walk(directory);
132
+ },
133
+
134
+ // checks if files is PMed submodule
135
+ isSubModule: function (directory) {
136
+ var
137
+ moduleFolders = 0,
138
+ walk = function (directory) {
139
+ var
140
+ pathArray = directory.split(path.sep),
141
+ folder = pathArray[pathArray.length - 2],
142
+ nextDirectory = path.join(directory, path.sep, '..')
143
+ ;
144
+ if (['bower_components', 'node_modules', 'composer'].includes(folder)) {
145
+ moduleFolders++;
146
+ } else if (folder === '.pnpm') {
147
+ moduleFolders--;
148
+ }
149
+ if (path.resolve(directory) === path.resolve(nextDirectory)) {
150
+ return (moduleFolders > 1);
151
+ }
152
+
153
+ // recurse downward
154
+ return walk(nextDirectory);
155
+ }
156
+ ;
157
+ // start walk from current directory if none specified
158
+ directory = directory || (__dirname + path.sep);
159
+
160
+ return walk(directory);
161
+ },
162
+
163
+ createJSON: function (answers) {
164
+ var
165
+ json = {
166
+ paths: {
167
+ source: {},
168
+ output: {},
169
+ },
170
+ }
171
+ ;
172
+
173
+ // add components
174
+ if (answers.components) {
175
+ json.components = answers.components;
108
176
  }
109
- else if(folder == 'node_modules') {
110
- return {
111
- name: 'NPM',
112
- root: nextDirectory
113
- };
177
+
178
+ // add rtl choice
179
+ if (answers.rtl) {
180
+ json.rtl = answers.rtl;
114
181
  }
115
- else if(folder == 'composer') {
116
- return {
117
- name: 'Composer',
118
- root: nextDirectory
119
- };
182
+
183
+ // add permissions
184
+ if (answers.permission) {
185
+ json.permission = answers.permission;
120
186
  }
121
- if(path.resolve(directory) == path.resolve(nextDirectory)) {
122
- return false;
187
+
188
+ // add path to semantic
189
+ if (answers.semanticRoot) {
190
+ json.base = path.normalize(answers.semanticRoot);
123
191
  }
124
- // recurse downward
125
- return walk(nextDirectory);
126
- }
127
- ;
128
- // start walk from current directory if none specified
129
- directory = directory || (__dirname + path.sep);
130
- return walk(directory);
131
- },
132
-
133
- // checks if files is PMed submodule
134
- isSubModule: function(directory) {
135
- var
136
- moduleFolders = 0,
137
- walk = function(directory) {
138
- var
139
- pathArray = directory.split(path.sep),
140
- folder = pathArray[pathArray.length - 2],
141
- nextDirectory = path.join(directory, path.sep, '..')
142
- ;
143
- if(['bower_components', 'node_modules', 'composer'].includes(folder)) {
144
- moduleFolders++;
145
- } else if(folder === '.pnpm') {
146
- moduleFolders--;
192
+
193
+ // record version number to avoid re-installing on same version
194
+ json.version = release.version;
195
+
196
+ // add dist folder paths
197
+ if (answers.dist) {
198
+ answers.dist = path.normalize(answers.dist);
199
+
200
+ json.paths.output = {
201
+ packaged: path.normalize(answers.dist + '/'),
202
+ uncompressed: path.normalize(answers.dist + '/components/'),
203
+ compressed: path.normalize(answers.dist + '/components/'),
204
+ themes: path.normalize(answers.dist + '/themes/'),
205
+ };
147
206
  }
148
- if(path.resolve(directory) === path.resolve(nextDirectory)) {
149
- return (moduleFolders > 1);
207
+
208
+ // add site path
209
+ if (answers.site) {
210
+ json.paths.source.site = path.normalize(answers.site + '/');
150
211
  }
151
- // recurse downward
152
- return walk(nextDirectory);
153
- }
154
- ;
155
- // start walk from current directory if none specified
156
- directory = directory || (__dirname + path.sep);
157
- return walk(directory);
158
- },
159
-
160
-
161
- createJSON: function(answers) {
162
- var
163
- json = {
164
- paths: {
165
- source: {},
166
- output: {}
212
+ if (answers.packaged) {
213
+ json.paths.output.packaged = path.normalize(answers.packaged + '/');
214
+ }
215
+ if (answers.compressed) {
216
+ json.paths.output.compressed = path.normalize(answers.compressed + '/');
217
+ }
218
+ if (answers.uncompressed) {
219
+ json.paths.output.uncompressed = path.normalize(answers.uncompressed + '/');
167
220
  }
168
- }
169
- ;
170
-
171
- // add components
172
- if(answers.components) {
173
- json.components = answers.components;
174
- }
175
-
176
- // add rtl choice
177
- if(answers.rtl) {
178
- json.rtl = answers.rtl;
179
- }
180
-
181
- // add permissions
182
- if(answers.permission) {
183
- json.permission = answers.permission;
184
- }
185
-
186
- // add path to semantic
187
- if(answers.semanticRoot) {
188
- json.base = path.normalize(answers.semanticRoot);
189
- }
190
-
191
- // record version number to avoid re-installing on same version
192
- json.version = release.version;
193
-
194
- // add dist folder paths
195
- if(answers.dist) {
196
- answers.dist = path.normalize(answers.dist);
197
-
198
- json.paths.output = {
199
- packaged : path.normalize(answers.dist + '/'),
200
- uncompressed : path.normalize(answers.dist + '/components/'),
201
- compressed : path.normalize(answers.dist + '/components/'),
202
- themes : path.normalize(answers.dist + '/themes/')
203
- };
204
- }
205
-
206
- // add site path
207
- if(answers.site) {
208
- json.paths.source.site = path.normalize(answers.site + '/');
209
- }
210
- if(answers.packaged) {
211
- json.paths.output.packaged = path.normalize(answers.packaged + '/');
212
- }
213
- if(answers.compressed) {
214
- json.paths.output.compressed = path.normalize(answers.compressed + '/');
215
- }
216
- if(answers.uncompressed) {
217
- json.paths.output.uncompressed = path.normalize(answers.uncompressed + '/');
218
- }
219
- return json;
220
- },
221
-
222
- // files cleaned up after install
223
- setupFiles: [
224
- './src/theme.config.example',
225
- './semantic.json.example',
226
- './src/_site'
227
- ],
228
-
229
- regExp: {
230
- // used to match siteFolder variable in theme.less
231
- siteVariable: /@siteFolder .*\'(.*)/mg
232
- },
233
-
234
- // source paths (when installing)
235
- source: {
236
- config : './semantic.json.example',
237
- definitions : './src/definitions',
238
- gulpFile : './gulpfile.js',
239
- lessImport : './src/semantic.less',
240
- site : './src/_site',
241
- tasks : './tasks',
242
- themeConfig : './src/theme.config.example',
243
- themeImport : './src/theme.less',
244
- themes : './src/themes',
245
- defaultTheme : './src/themes/default',
246
- userGulpFile : './tasks/config/npm/gulpfile.js'
247
- },
248
-
249
- // expected final filenames
250
- files: {
251
- config : 'semantic.json',
252
- lessImport : 'src/semantic.less',
253
- site : 'src/site',
254
- themeConfig : 'src/theme.config',
255
- themeImport : 'src/theme.less'
256
- },
257
-
258
- // folder paths to files relative to root
259
- folders: {
260
- config : './',
261
- definitions : 'src/definitions/',
262
- lessImport : 'src/',
263
- modules : 'node_modules/',
264
- site : 'src/site/',
265
- tasks : 'tasks/',
266
- themeConfig : 'src/',
267
- themeImport : 'src/',
268
- themes : 'src/themes/',
269
-
270
- defaultTheme : 'default/' // only path that is relative to another directory and not root
271
- },
272
-
273
- // questions asked during install
274
- questions: {
275
-
276
- root: [
277
- {
278
- type : 'list',
279
- name : 'useRoot',
280
- message :
281
- '{packageMessage} Is this your project folder? {root}',
282
- choices: [
283
- {
284
- name : 'Yes',
285
- value : true
286
- },
287
- {
288
- name : 'No, let me specify',
289
- value : false
290
- }
291
- ]
292
- },
293
- {
294
- type : 'input',
295
- name : 'customRoot',
296
- message : 'Please enter the absolute path to your project root',
297
- default : '/my/project/path',
298
- when : when.changeRoot
299
- },
300
- {
301
- type : 'input',
302
- name : 'semanticRoot',
303
- message : 'Where should we put Fomantic UI inside your project?',
304
- default : 'semantic/'
305
- }
306
- ],
307
221
 
308
- setup: [
309
- {
310
- type: 'list',
311
- name: 'overwrite',
312
- message: 'It looks like you have a semantic.json file already.',
313
- when: when.hasConfig,
314
- choices: [
315
- {
316
- name: 'Yes, extend my current settings.',
317
- value: 'yes'
318
- },
319
- {
320
- name: 'Skip install',
321
- value: 'no'
322
- }
323
- ]
324
- },
325
- {
326
- type: 'list',
327
- name: 'install',
328
- message: 'Set-up Fomantic UI',
329
- when: when.allowOverwrite,
330
- choices: [
331
- {
332
- name: 'Automatic (Use default locations and all components)',
333
- value: 'auto'
334
- },
335
- {
336
- name: 'Express (Set components and output folder)',
337
- value: 'express'
338
- },
339
- {
340
- name: 'Custom (Customize all src/dist values)',
341
- value: 'custom'
342
- }
343
- ]
344
- },
345
- {
346
- type: 'checkbox',
347
- name: 'components',
348
- message: 'What components should we include in the package?',
349
-
350
- // duplicated manually from tasks/defaults.js with additional property
351
- choices: [
352
- { name: "\x1b[4mGlobal\x1b[0m", disabled: "Styles that are applied across a site"},
353
- { name: "reset", checked: true },
354
- { name: "site", checked: true },
355
- { name: "\x1b[4mElements\x1b[0m", disabled: "Page elements with a single function"},
356
- { name: "button", checked: true },
357
- { name: "container", checked: true },
358
- { name: "divider", checked: true },
359
- { name: "emoji", checked: true },
360
- { name: "flag", checked: true },
361
- { name: "header", checked: true },
362
- { name: "icon", checked: true },
363
- { name: "image", checked: true },
364
- { name: "input", checked: true },
365
- { name: "label", checked: true },
366
- { name: "list", checked: true },
367
- { name: "loader", checked: true },
368
- { name: "rail", checked: true },
369
- { name: "reveal", checked: true },
370
- { name: "segment", checked: true },
371
- { name: "step", checked: true },
372
- { name: "\x1b[4mCollections\x1b[0m", disabled: "Heterogeneous groups of components"},
373
- { name: "breadcrumb", checked: true },
374
- { name: "form", checked: true },
375
- { name: "grid", checked: true },
376
- { name: "menu", checked: true },
377
- { name: "message", checked: true },
378
- { name: "table", checked: true },
379
- { name: "\x1b[4mViews\x1b[0m", disabled: "Convention for presenting specific types of content"},
380
- { name: "ad", checked: true },
381
- { name: "card", checked: true },
382
- { name: "comment", checked: true },
383
- { name: "feed", checked: true },
384
- { name: "item", checked: true },
385
- { name: "statistic", checked: true },
386
- { name: "\x1b[4mModules\x1b[0m", disabled: "Components which need Javascript for interactivity"},
387
- { name: "accordion", checked: true },
388
- { name: "calendar", checked: true },
389
- { name: "checkbox", checked: true },
390
- { name: "dimmer", checked: true },
391
- { name: "dropdown", checked: true },
392
- { name: "embed", checked: true },
393
- { name: "flyout", checked: true },
394
- { name: "modal", checked: true },
395
- { name: "nag", checked: true },
396
- { name: "placeholder", checked: true },
397
- { name: "popup", checked: true },
398
- { name: "progress", checked: true },
399
- { name: "slider", checked: true },
400
- { name: "rating", checked: true },
401
- { name: "search", checked: true },
402
- { name: "shape", checked: true },
403
- { name: "sidebar", checked: true },
404
- { name: "sticky", checked: true },
405
- { name: "tab", checked: true },
406
- { name: "text", checked: true },
407
- { name: "toast", checked: true },
408
- { name: "transition", checked: true },
409
- { name: "\x1b[4mBehaviors\x1b[0m", disabled: "Standalone javascript components"},
410
- { name: "api", checked: true },
411
- { name: "form", checked: true },
412
- { name: "state", checked: true },
413
- { name: "visibility", checked: true }
414
- ],
415
- when: when.notAuto
416
- },
417
- {
418
- type: 'list',
419
- name: 'changePermissions',
420
- when: when.notAuto,
421
- message: 'Should we set permissions on outputted files?',
422
- choices: [
423
- {
424
- name: 'No',
425
- value: false
426
- },
427
- {
428
- name: 'Yes',
429
- value: true
430
- }
431
- ]
432
- },
433
- {
434
- type: 'input',
435
- name: 'permission',
436
- message: 'What octal file permission should outputted files receive?',
437
- default: defaults.permission,
438
- when: when.changePermissions
439
- },
440
- {
441
- type: 'list',
442
- name: 'rtl',
443
- message: 'Do you use a RTL (Right-To-Left) language?',
444
- when: when.notAuto,
445
- choices: [
446
- {
447
- name: 'No',
448
- value: false
449
- },
450
- {
451
- name: 'Yes',
452
- value: true
453
- },
454
- {
455
- name: 'Build Both',
456
- value: 'both'
457
- }
458
- ]
459
- },
460
- {
461
- type: 'input',
462
- name: 'dist',
463
- message: 'Where should we output Fomantic UI?',
464
- default: defaults.paths.output.packaged,
465
- filter: filter.removeTrailingSlash,
466
- when: when.express
467
- },
468
- {
469
- type: 'input',
470
- name: 'site',
471
- message: 'Where should we put your site folder?',
472
- default: defaults.paths.source.site,
473
- filter: filter.removeTrailingSlash,
474
- when: when.custom
475
- },
476
- {
477
- type: 'input',
478
- name: 'packaged',
479
- message: 'Where should we output a packaged version?',
480
- default: defaults.paths.output.packaged,
481
- filter: filter.removeTrailingSlash,
482
- when: when.custom
483
- },
484
- {
485
- type: 'input',
486
- name: 'compressed',
487
- message: 'Where should we output compressed components?',
488
- default: defaults.paths.output.compressed,
489
- filter: filter.removeTrailingSlash,
490
- when: when.custom
491
- },
492
- {
493
- type: 'input',
494
- name: 'uncompressed',
495
- message: 'Where should we output uncompressed components?',
496
- default: defaults.paths.output.uncompressed,
497
- filter: filter.removeTrailingSlash,
498
- when: when.custom
499
- }
222
+ return json;
223
+ },
224
+
225
+ // files cleaned up after install
226
+ setupFiles: [
227
+ './src/theme.config.example',
228
+ './semantic.json.example',
229
+ './src/_site',
500
230
  ],
501
231
 
232
+ regExp: {
233
+ // used to match siteFolder variable in theme.less
234
+ siteVariable: /@siteFolder .*\'(.*)/mg,
235
+ },
502
236
 
503
- cleanup: [
504
- {
505
- type: 'list',
506
- name: 'cleanup',
507
- message: 'Should we remove set-up files?',
508
- choices: [
509
- {
510
- name: 'Yes (re-install will require redownloading fomantic).',
511
- value: 'yes'
512
- },
513
- {
514
- name: 'No Thanks',
515
- value: 'no'
516
- }
517
- ]
518
- },
519
- {
520
- type: 'list',
521
- name: 'build',
522
- message: 'Do you want to build Fomantic now?',
523
- choices: [
524
- {
525
- name: 'Yes',
526
- value: 'yes'
527
- },
528
- {
529
- name: 'No',
530
- value: 'no'
531
- }
532
- ]
533
- },
534
- ],
535
- site: [
536
- {
537
- type: 'list',
538
- name: 'customize',
539
- message: 'You have not yet customized your site, can we help you do that?',
540
- choices: [
541
- {
542
- name: 'Yes, ask me a few questions',
543
- value: true
544
- },
545
- {
546
- name: 'No I\'ll do it myself',
547
- value: false
548
- }
549
- ]
550
- },
551
- {
552
- type: 'list',
553
- name: 'headerFont',
554
- message: 'Select your header font',
555
- choices: [
556
- {
557
- name: 'Helvetica Neue, Arial, sans-serif',
558
- value: 'Helvetica Neue, Arial, sans-serif;'
559
- },
560
- {
561
- name: 'Lato (Google Fonts)',
562
- value: 'Lato'
563
- },
564
- {
565
- name: 'Open Sans (Google Fonts)',
566
- value: 'Open Sans'
567
- },
568
- {
569
- name: 'Source Sans Pro (Google Fonts)',
570
- value: 'Source Sans Pro'
571
- },
572
- {
573
- name: 'Droid (Google Fonts)',
574
- value: 'Droid'
575
- },
576
- {
577
- name: 'I\'ll choose on my own',
578
- value: false
579
- }
580
- ],
581
- when: when.customize
582
- },
583
- {
584
- type: 'list',
585
- name: 'pageFont',
586
- message: 'Select your page font',
587
- choices: [
588
- {
589
- name: 'Helvetica Neue, Arial, sans-serif',
590
- value: 'Helvetica Neue, Arial, sans-serif;'
591
- },
592
- {
593
- name: 'Lato (Import from Google Fonts)',
594
- value: 'Lato'
595
- },
596
- {
597
- name: 'Open Sans (Import from Google Fonts)',
598
- value: 'Open Sans'
599
- },
600
- {
601
- name: 'Source Sans Pro (Import from Google Fonts)',
602
- value: 'Source Sans Pro'
603
- },
604
- {
605
- name: 'Droid (Google Fonts)',
606
- value: 'Droid'
607
- },
608
- {
609
- name: 'I\'ll choose on my own',
610
- value: false
611
- }
237
+ // source paths (when installing)
238
+ source: {
239
+ config: './semantic.json.example',
240
+ definitions: './src/definitions',
241
+ gulpFile: './gulpfile.js',
242
+ lessImport: './src/semantic.less',
243
+ site: './src/_site',
244
+ tasks: './tasks',
245
+ themeConfig: './src/theme.config.example',
246
+ themeImport: './src/theme.less',
247
+ themes: './src/themes',
248
+ defaultTheme: './src/themes/default',
249
+ userGulpFile: './tasks/config/npm/gulpfile.js',
250
+ },
251
+
252
+ // expected final filenames
253
+ files: {
254
+ config: 'semantic.json',
255
+ lessImport: 'src/semantic.less',
256
+ site: 'src/site',
257
+ themeConfig: 'src/theme.config',
258
+ themeImport: 'src/theme.less',
259
+ },
260
+
261
+ // folder paths to files relative to root
262
+ folders: {
263
+ config: './',
264
+ definitions: 'src/definitions/',
265
+ lessImport: 'src/',
266
+ modules: 'node_modules/',
267
+ site: 'src/site/',
268
+ tasks: 'tasks/',
269
+ themeConfig: 'src/',
270
+ themeImport: 'src/',
271
+ themes: 'src/themes/',
272
+
273
+ defaultTheme: 'default/', // only path that is relative to another directory and not root
274
+ },
275
+
276
+ // questions asked during install
277
+ questions: {
278
+
279
+ root: [
280
+ {
281
+ type: 'list',
282
+ name: 'useRoot',
283
+ message:
284
+ '{packageMessage} Is this your project folder? {root}',
285
+ choices: [
286
+ {
287
+ name: 'Yes',
288
+ value: true,
289
+ },
290
+ {
291
+ name: 'No, let me specify',
292
+ value: false,
293
+ },
294
+ ],
295
+ },
296
+ {
297
+ type: 'input',
298
+ name: 'customRoot',
299
+ message: 'Please enter the absolute path to your project root',
300
+ default: '/my/project/path',
301
+ when: when.changeRoot,
302
+ },
303
+ {
304
+ type: 'input',
305
+ name: 'semanticRoot',
306
+ message: 'Where should we put Fomantic UI inside your project?',
307
+ default: 'semantic/',
308
+ },
612
309
  ],
613
- when: when.customize
614
- },
615
- {
616
- type: 'list',
617
- name: 'fontSize',
618
- message: 'Select your base font size',
619
- default: '14px',
620
- choices: [
621
- {
622
- name: '12px',
623
- },
624
- {
625
- name: '13px',
626
- },
627
- {
628
- name: '14px (Recommended)',
629
- value: '14px'
630
- },
631
- {
632
- name: '15px',
633
- },
634
- {
635
- name: '16px',
636
- },
637
- {
638
- name: 'I\'ll choose on my own',
639
- value: false
640
- }
310
+
311
+ setup: [
312
+ {
313
+ type: 'list',
314
+ name: 'overwrite',
315
+ message: 'It looks like you have a semantic.json file already.',
316
+ when: when.hasConfig,
317
+ choices: [
318
+ {
319
+ name: 'Yes, extend my current settings.',
320
+ value: 'yes',
321
+ },
322
+ {
323
+ name: 'Skip install',
324
+ value: 'no',
325
+ },
326
+ ],
327
+ },
328
+ {
329
+ type: 'list',
330
+ name: 'install',
331
+ message: 'Set-up Fomantic UI',
332
+ when: when.allowOverwrite,
333
+ choices: [
334
+ {
335
+ name: 'Automatic (Use default locations and all components)',
336
+ value: 'auto',
337
+ },
338
+ {
339
+ name: 'Express (Set components and output folder)',
340
+ value: 'express',
341
+ },
342
+ {
343
+ name: 'Custom (Customize all src/dist values)',
344
+ value: 'custom',
345
+ },
346
+ ],
347
+ },
348
+ {
349
+ type: 'checkbox',
350
+ name: 'components',
351
+ message: 'What components should we include in the package?',
352
+
353
+ // duplicated manually from tasks/defaults.js with additional property
354
+ choices: [
355
+ { name: '\x1b[4mGlobal\x1b[0m', disabled: 'Styles that are applied across a site' },
356
+ { name: 'reset', checked: true },
357
+ { name: 'site', checked: true },
358
+ { name: '\x1b[4mElements\x1b[0m', disabled: 'Page elements with a single function' },
359
+ { name: 'button', checked: true },
360
+ { name: 'container', checked: true },
361
+ { name: 'divider', checked: true },
362
+ { name: 'emoji', checked: true },
363
+ { name: 'flag', checked: true },
364
+ { name: 'header', checked: true },
365
+ { name: 'icon', checked: true },
366
+ { name: 'image', checked: true },
367
+ { name: 'input', checked: true },
368
+ { name: 'label', checked: true },
369
+ { name: 'list', checked: true },
370
+ { name: 'loader', checked: true },
371
+ { name: 'rail', checked: true },
372
+ { name: 'reveal', checked: true },
373
+ { name: 'segment', checked: true },
374
+ { name: 'step', checked: true },
375
+ { name: '\x1b[4mCollections\x1b[0m', disabled: 'Heterogeneous groups of components' },
376
+ { name: 'breadcrumb', checked: true },
377
+ { name: 'form', checked: true },
378
+ { name: 'grid', checked: true },
379
+ { name: 'menu', checked: true },
380
+ { name: 'message', checked: true },
381
+ { name: 'table', checked: true },
382
+ { name: '\x1b[4mViews\x1b[0m', disabled: 'Convention for presenting specific types of content' },
383
+ { name: 'ad', checked: true },
384
+ { name: 'card', checked: true },
385
+ { name: 'comment', checked: true },
386
+ { name: 'feed', checked: true },
387
+ { name: 'item', checked: true },
388
+ { name: 'statistic', checked: true },
389
+ { name: '\x1b[4mModules\x1b[0m', disabled: 'Components which need Javascript for interactivity' },
390
+ { name: 'accordion', checked: true },
391
+ { name: 'calendar', checked: true },
392
+ { name: 'checkbox', checked: true },
393
+ { name: 'dimmer', checked: true },
394
+ { name: 'dropdown', checked: true },
395
+ { name: 'embed', checked: true },
396
+ { name: 'flyout', checked: true },
397
+ { name: 'modal', checked: true },
398
+ { name: 'nag', checked: true },
399
+ { name: 'placeholder', checked: true },
400
+ { name: 'popup', checked: true },
401
+ { name: 'progress', checked: true },
402
+ { name: 'slider', checked: true },
403
+ { name: 'rating', checked: true },
404
+ { name: 'search', checked: true },
405
+ { name: 'shape', checked: true },
406
+ { name: 'sidebar', checked: true },
407
+ { name: 'sticky', checked: true },
408
+ { name: 'tab', checked: true },
409
+ { name: 'text', checked: true },
410
+ { name: 'toast', checked: true },
411
+ { name: 'transition', checked: true },
412
+ { name: '\x1b[4mBehaviors\x1b[0m', disabled: 'Standalone javascript components' },
413
+ { name: 'api', checked: true },
414
+ { name: 'form', checked: true },
415
+ { name: 'state', checked: true },
416
+ { name: 'visibility', checked: true },
417
+ ],
418
+ when: when.notAuto,
419
+ },
420
+ {
421
+ type: 'list',
422
+ name: 'changePermissions',
423
+ when: when.notAuto,
424
+ message: 'Should we set permissions on outputted files?',
425
+ choices: [
426
+ {
427
+ name: 'No',
428
+ value: false,
429
+ },
430
+ {
431
+ name: 'Yes',
432
+ value: true,
433
+ },
434
+ ],
435
+ },
436
+ {
437
+ type: 'input',
438
+ name: 'permission',
439
+ message: 'What octal file permission should outputted files receive?',
440
+ default: defaults.permission,
441
+ when: when.changePermissions,
442
+ },
443
+ {
444
+ type: 'list',
445
+ name: 'rtl',
446
+ message: 'Do you use a RTL (Right-To-Left) language?',
447
+ when: when.notAuto,
448
+ choices: [
449
+ {
450
+ name: 'No',
451
+ value: false,
452
+ },
453
+ {
454
+ name: 'Yes',
455
+ value: true,
456
+ },
457
+ {
458
+ name: 'Build Both',
459
+ value: 'both',
460
+ },
461
+ ],
462
+ },
463
+ {
464
+ type: 'input',
465
+ name: 'dist',
466
+ message: 'Where should we output Fomantic UI?',
467
+ default: defaults.paths.output.packaged,
468
+ filter: filter.removeTrailingSlash,
469
+ when: when.express,
470
+ },
471
+ {
472
+ type: 'input',
473
+ name: 'site',
474
+ message: 'Where should we put your site folder?',
475
+ default: defaults.paths.source.site,
476
+ filter: filter.removeTrailingSlash,
477
+ when: when.custom,
478
+ },
479
+ {
480
+ type: 'input',
481
+ name: 'packaged',
482
+ message: 'Where should we output a packaged version?',
483
+ default: defaults.paths.output.packaged,
484
+ filter: filter.removeTrailingSlash,
485
+ when: when.custom,
486
+ },
487
+ {
488
+ type: 'input',
489
+ name: 'compressed',
490
+ message: 'Where should we output compressed components?',
491
+ default: defaults.paths.output.compressed,
492
+ filter: filter.removeTrailingSlash,
493
+ when: when.custom,
494
+ },
495
+ {
496
+ type: 'input',
497
+ name: 'uncompressed',
498
+ message: 'Where should we output uncompressed components?',
499
+ default: defaults.paths.output.uncompressed,
500
+ filter: filter.removeTrailingSlash,
501
+ when: when.custom,
502
+ },
641
503
  ],
642
- when: when.customize
643
- },
644
- {
645
- type: 'list',
646
- name: 'primaryColor',
647
- message: 'Select the closest name for your primary brand color',
648
- default: '14px',
649
- choices: [
650
- {
651
- name: 'Blue'
652
- },
653
- {
654
- name: 'Green'
655
- },
656
- {
657
- name: 'Orange'
658
- },
659
- {
660
- name: 'Pink'
661
- },
662
- {
663
- name: 'Purple'
664
- },
665
- {
666
- name: 'Red'
667
- },
668
- {
669
- name: 'Teal'
670
- },
671
- {
672
- name: 'Yellow'
673
- },
674
- {
675
- name: 'Black'
676
- },
677
- {
678
- name: 'I\'ll choose on my own',
679
- value: false
680
- }
504
+
505
+ cleanup: [
506
+ {
507
+ type: 'list',
508
+ name: 'cleanup',
509
+ message: 'Should we remove set-up files?',
510
+ choices: [
511
+ {
512
+ name: 'Yes (re-install will require redownloading fomantic).',
513
+ value: 'yes',
514
+ },
515
+ {
516
+ name: 'No Thanks',
517
+ value: 'no',
518
+ },
519
+ ],
520
+ },
521
+ {
522
+ type: 'list',
523
+ name: 'build',
524
+ message: 'Do you want to build Fomantic now?',
525
+ choices: [
526
+ {
527
+ name: 'Yes',
528
+ value: 'yes',
529
+ },
530
+ {
531
+ name: 'No',
532
+ value: 'no',
533
+ },
534
+ ],
535
+ },
681
536
  ],
682
- when: when.customize
683
- },
684
- {
685
- type: 'input',
686
- name: 'PrimaryHex',
687
- message: 'Enter a hexcode for your primary brand color',
688
- when: when.primaryColor
689
- },
690
- {
691
- type: 'list',
692
- name: 'secondaryColor',
693
- message: 'Select the closest name for your secondary brand color',
694
- default: '14px',
695
- choices: [
696
- {
697
- name: 'Blue'
698
- },
699
- {
700
- name: 'Green'
701
- },
702
- {
703
- name: 'Orange'
704
- },
705
- {
706
- name: 'Pink'
707
- },
708
- {
709
- name: 'Purple'
710
- },
711
- {
712
- name: 'Red'
713
- },
714
- {
715
- name: 'Teal'
716
- },
717
- {
718
- name: 'Yellow'
719
- },
720
- {
721
- name: 'Black'
722
- },
723
- {
724
- name: 'I\'ll choose on my own',
725
- value: false
726
- }
537
+ site: [
538
+ {
539
+ type: 'list',
540
+ name: 'customize',
541
+ message: 'You have not yet customized your site, can we help you do that?',
542
+ choices: [
543
+ {
544
+ name: 'Yes, ask me a few questions',
545
+ value: true,
546
+ },
547
+ {
548
+ name: 'No I\'ll do it myself',
549
+ value: false,
550
+ },
551
+ ],
552
+ },
553
+ {
554
+ type: 'list',
555
+ name: 'headerFont',
556
+ message: 'Select your header font',
557
+ choices: [
558
+ {
559
+ name: 'Helvetica Neue, Arial, sans-serif',
560
+ value: 'Helvetica Neue, Arial, sans-serif;',
561
+ },
562
+ {
563
+ name: 'Lato (Google Fonts)',
564
+ value: 'Lato',
565
+ },
566
+ {
567
+ name: 'Open Sans (Google Fonts)',
568
+ value: 'Open Sans',
569
+ },
570
+ {
571
+ name: 'Source Sans Pro (Google Fonts)',
572
+ value: 'Source Sans Pro',
573
+ },
574
+ {
575
+ name: 'Droid (Google Fonts)',
576
+ value: 'Droid',
577
+ },
578
+ {
579
+ name: 'I\'ll choose on my own',
580
+ value: false,
581
+ },
582
+ ],
583
+ when: when.customize,
584
+ },
585
+ {
586
+ type: 'list',
587
+ name: 'pageFont',
588
+ message: 'Select your page font',
589
+ choices: [
590
+ {
591
+ name: 'Helvetica Neue, Arial, sans-serif',
592
+ value: 'Helvetica Neue, Arial, sans-serif;',
593
+ },
594
+ {
595
+ name: 'Lato (Import from Google Fonts)',
596
+ value: 'Lato',
597
+ },
598
+ {
599
+ name: 'Open Sans (Import from Google Fonts)',
600
+ value: 'Open Sans',
601
+ },
602
+ {
603
+ name: 'Source Sans Pro (Import from Google Fonts)',
604
+ value: 'Source Sans Pro',
605
+ },
606
+ {
607
+ name: 'Droid (Google Fonts)',
608
+ value: 'Droid',
609
+ },
610
+ {
611
+ name: 'I\'ll choose on my own',
612
+ value: false,
613
+ },
614
+ ],
615
+ when: when.customize,
616
+ },
617
+ {
618
+ type: 'list',
619
+ name: 'fontSize',
620
+ message: 'Select your base font size',
621
+ default: '14px',
622
+ choices: [
623
+ {
624
+ name: '12px',
625
+ },
626
+ {
627
+ name: '13px',
628
+ },
629
+ {
630
+ name: '14px (Recommended)',
631
+ value: '14px',
632
+ },
633
+ {
634
+ name: '15px',
635
+ },
636
+ {
637
+ name: '16px',
638
+ },
639
+ {
640
+ name: 'I\'ll choose on my own',
641
+ value: false,
642
+ },
643
+ ],
644
+ when: when.customize,
645
+ },
646
+ {
647
+ type: 'list',
648
+ name: 'primaryColor',
649
+ message: 'Select the closest name for your primary brand color',
650
+ default: '14px',
651
+ choices: [
652
+ {
653
+ name: 'Blue',
654
+ },
655
+ {
656
+ name: 'Green',
657
+ },
658
+ {
659
+ name: 'Orange',
660
+ },
661
+ {
662
+ name: 'Pink',
663
+ },
664
+ {
665
+ name: 'Purple',
666
+ },
667
+ {
668
+ name: 'Red',
669
+ },
670
+ {
671
+ name: 'Teal',
672
+ },
673
+ {
674
+ name: 'Yellow',
675
+ },
676
+ {
677
+ name: 'Black',
678
+ },
679
+ {
680
+ name: 'I\'ll choose on my own',
681
+ value: false,
682
+ },
683
+ ],
684
+ when: when.customize,
685
+ },
686
+ {
687
+ type: 'input',
688
+ name: 'PrimaryHex',
689
+ message: 'Enter a hexcode for your primary brand color',
690
+ when: when.primaryColor,
691
+ },
692
+ {
693
+ type: 'list',
694
+ name: 'secondaryColor',
695
+ message: 'Select the closest name for your secondary brand color',
696
+ default: '14px',
697
+ choices: [
698
+ {
699
+ name: 'Blue',
700
+ },
701
+ {
702
+ name: 'Green',
703
+ },
704
+ {
705
+ name: 'Orange',
706
+ },
707
+ {
708
+ name: 'Pink',
709
+ },
710
+ {
711
+ name: 'Purple',
712
+ },
713
+ {
714
+ name: 'Red',
715
+ },
716
+ {
717
+ name: 'Teal',
718
+ },
719
+ {
720
+ name: 'Yellow',
721
+ },
722
+ {
723
+ name: 'Black',
724
+ },
725
+ {
726
+ name: 'I\'ll choose on my own',
727
+ value: false,
728
+ },
729
+ ],
730
+ when: when.customize,
731
+ },
732
+ {
733
+ type: 'input',
734
+ name: 'secondaryHex',
735
+ message: 'Enter a hexcode for your secondary brand color',
736
+ when: when.secondaryColor,
737
+ },
727
738
  ],
728
- when: when.customize
729
- },
730
- {
731
- type: 'input',
732
- name: 'secondaryHex',
733
- message: 'Enter a hexcode for your secondary brand color',
734
- when: when.secondaryColor
735
- }
736
- ]
737
-
738
- },
739
-
740
- settings: {
741
-
742
- /* Rename Files */
743
- rename: {
744
- json : { extname : '.json' }
739
+
745
740
  },
746
741
 
747
- /* Copy Install Folders */
748
- wrench: {
749
-
750
- // overwrite existing files update & install (default theme / definition)
751
- overwrite: {
752
- forceDelete : true,
753
- excludeHiddenUnix : true,
754
- preserveFiles : false
755
- },
756
-
757
- // only create files that don't exist (site theme update)
758
- merge: {
759
- forceDelete : false,
760
- excludeHiddenUnix : true,
761
- preserveFiles : true
762
- }
763
-
764
- }
765
- }
742
+ settings: {
743
+
744
+ /* Rename Files */
745
+ rename: {
746
+ json: { extname: '.json' },
747
+ },
748
+
749
+ /* Copy Install Folders */
750
+ wrench: {
751
+
752
+ // overwrite existing files update & install (default theme / definition)
753
+ overwrite: {
754
+ forceDelete: true,
755
+ excludeHiddenUnix: true,
756
+ preserveFiles: false,
757
+ },
758
+
759
+ // only create files that don't exist (site theme update)
760
+ merge: {
761
+ forceDelete: false,
762
+ excludeHiddenUnix: true,
763
+ preserveFiles: true,
764
+ },
765
+
766
+ },
767
+ },
766
768
  };