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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/.eslint/eqeqeq-rule.js +18 -0
  2. package/.eslint/index.js +29 -0
  3. package/.eslint/no-extra-parens-rule.js +17 -0
  4. package/.eslint/package.json +11 -0
  5. package/.eslintrc.js +123 -0
  6. package/.github/auto_assign.yml +0 -1
  7. package/.github/workflows/ci.yml +37 -4
  8. package/.github/workflows/nightly.yml +1 -1
  9. package/.github/workflows/release.yml +1 -1
  10. package/.prettierrc.js +12 -0
  11. package/.stylelintrc.js +48 -0
  12. package/README.md +1 -1
  13. package/dist/components/accordion.css +35 -53
  14. package/dist/components/accordion.js +568 -595
  15. package/dist/components/accordion.min.css +2 -2
  16. package/dist/components/accordion.min.js +3 -3
  17. package/dist/components/ad.css +34 -45
  18. package/dist/components/ad.min.css +2 -2
  19. package/dist/components/api.js +1157 -1179
  20. package/dist/components/api.min.js +3 -3
  21. package/dist/components/breadcrumb.css +5 -5
  22. package/dist/components/breadcrumb.min.css +2 -2
  23. package/dist/components/button.css +709 -1121
  24. package/dist/components/button.min.css +2 -2
  25. package/dist/components/calendar.css +24 -27
  26. package/dist/components/calendar.js +1934 -1809
  27. package/dist/components/calendar.min.css +2 -2
  28. package/dist/components/calendar.min.js +3 -3
  29. package/dist/components/card.css +219 -365
  30. package/dist/components/card.min.css +2 -2
  31. package/dist/components/checkbox.css +120 -191
  32. package/dist/components/checkbox.js +842 -841
  33. package/dist/components/checkbox.min.css +2 -2
  34. package/dist/components/checkbox.min.js +3 -3
  35. package/dist/components/comment.css +41 -59
  36. package/dist/components/comment.min.css +2 -2
  37. package/dist/components/container.css +7 -6
  38. package/dist/components/container.min.css +2 -2
  39. package/dist/components/dimmer.css +53 -172
  40. package/dist/components/dimmer.js +706 -737
  41. package/dist/components/dimmer.min.css +2 -2
  42. package/dist/components/dimmer.min.js +3 -3
  43. package/dist/components/divider.css +43 -61
  44. package/dist/components/divider.min.css +2 -2
  45. package/dist/components/dropdown.css +252 -386
  46. package/dist/components/dropdown.js +4179 -4236
  47. package/dist/components/dropdown.min.css +2 -2
  48. package/dist/components/dropdown.min.js +3 -3
  49. package/dist/components/embed.css +18 -29
  50. package/dist/components/embed.js +645 -675
  51. package/dist/components/embed.min.css +2 -2
  52. package/dist/components/embed.min.js +3 -3
  53. package/dist/components/emoji.css +3556 -3556
  54. package/dist/components/emoji.min.css +1 -1
  55. package/dist/components/feed.css +35 -57
  56. package/dist/components/feed.min.css +2 -2
  57. package/dist/components/flag.css +270 -268
  58. package/dist/components/flag.min.css +2 -2
  59. package/dist/components/flyout.css +94 -141
  60. package/dist/components/flyout.js +1460 -1465
  61. package/dist/components/flyout.min.css +2 -2
  62. package/dist/components/flyout.min.js +3 -3
  63. package/dist/components/form.css +244 -339
  64. package/dist/components/form.js +2020 -2004
  65. package/dist/components/form.min.css +2 -2
  66. package/dist/components/form.min.js +3 -3
  67. package/dist/components/grid.css +183 -329
  68. package/dist/components/grid.min.css +2 -2
  69. package/dist/components/header.css +118 -142
  70. package/dist/components/header.min.css +2 -2
  71. package/dist/components/icon.css +665 -745
  72. package/dist/components/icon.min.css +2 -2
  73. package/dist/components/image.css +39 -63
  74. package/dist/components/image.min.css +2 -2
  75. package/dist/components/input.css +356 -274
  76. package/dist/components/input.min.css +2 -2
  77. package/dist/components/item.css +84 -131
  78. package/dist/components/item.min.css +2 -2
  79. package/dist/components/label.css +359 -410
  80. package/dist/components/label.min.css +2 -2
  81. package/dist/components/list.css +49 -70
  82. package/dist/components/list.min.css +2 -2
  83. package/dist/components/loader.css +67 -155
  84. package/dist/components/loader.min.css +2 -2
  85. package/dist/components/menu.css +269 -431
  86. package/dist/components/menu.min.css +1 -1
  87. package/dist/components/message.css +125 -197
  88. package/dist/components/message.min.css +2 -2
  89. package/dist/components/modal.css +119 -154
  90. package/dist/components/modal.js +1488 -1486
  91. package/dist/components/modal.min.css +2 -2
  92. package/dist/components/modal.min.js +3 -3
  93. package/dist/components/nag.css +53 -63
  94. package/dist/components/nag.js +520 -526
  95. package/dist/components/nag.min.css +2 -2
  96. package/dist/components/nag.min.js +3 -3
  97. package/dist/components/placeholder.css +22 -42
  98. package/dist/components/placeholder.min.css +2 -2
  99. package/dist/components/popup.css +424 -202
  100. package/dist/components/popup.js +1454 -1456
  101. package/dist/components/popup.min.css +2 -2
  102. package/dist/components/popup.min.js +3 -3
  103. package/dist/components/progress.css +106 -211
  104. package/dist/components/progress.js +969 -997
  105. package/dist/components/progress.min.css +2 -2
  106. package/dist/components/progress.min.js +3 -3
  107. package/dist/components/rail.css +15 -20
  108. package/dist/components/rail.min.css +1 -1
  109. package/dist/components/rating.css +80 -121
  110. package/dist/components/rating.js +505 -523
  111. package/dist/components/rating.min.css +2 -2
  112. package/dist/components/rating.min.js +3 -3
  113. package/dist/components/reset.css +8 -13
  114. package/dist/components/reset.min.css +2 -2
  115. package/dist/components/reveal.css +44 -83
  116. package/dist/components/reveal.min.css +2 -2
  117. package/dist/components/search.css +69 -98
  118. package/dist/components/search.js +1520 -1534
  119. package/dist/components/search.min.css +2 -2
  120. package/dist/components/search.min.js +3 -3
  121. package/dist/components/segment.css +148 -224
  122. package/dist/components/segment.min.css +2 -2
  123. package/dist/components/shape.css +14 -30
  124. package/dist/components/shape.js +781 -810
  125. package/dist/components/shape.min.css +2 -2
  126. package/dist/components/shape.min.js +3 -3
  127. package/dist/components/sidebar.css +103 -206
  128. package/dist/components/sidebar.js +1061 -1099
  129. package/dist/components/sidebar.min.css +2 -2
  130. package/dist/components/sidebar.min.js +3 -3
  131. package/dist/components/site.css +28 -41
  132. package/dist/components/site.js +436 -476
  133. package/dist/components/site.min.css +2 -2
  134. package/dist/components/site.min.js +3 -3
  135. package/dist/components/slider.css +93 -121
  136. package/dist/components/slider.js +1310 -1311
  137. package/dist/components/slider.min.css +1 -1
  138. package/dist/components/slider.min.js +3 -3
  139. package/dist/components/state.js +639 -657
  140. package/dist/components/state.min.js +3 -3
  141. package/dist/components/statistic.css +75 -116
  142. package/dist/components/statistic.min.css +2 -2
  143. package/dist/components/step.css +77 -150
  144. package/dist/components/step.min.css +2 -2
  145. package/dist/components/sticky.css +1 -5
  146. package/dist/components/sticky.js +848 -901
  147. package/dist/components/sticky.min.css +2 -2
  148. package/dist/components/sticky.min.js +3 -3
  149. package/dist/components/tab.css +10 -14
  150. package/dist/components/tab.js +902 -966
  151. package/dist/components/tab.min.css +2 -2
  152. package/dist/components/tab.min.js +3 -3
  153. package/dist/components/table.css +547 -774
  154. package/dist/components/table.min.css +2 -2
  155. package/dist/components/text.css +32 -32
  156. package/dist/components/text.min.css +1 -1
  157. package/dist/components/toast.css +69 -147
  158. package/dist/components/toast.js +910 -884
  159. package/dist/components/toast.min.css +2 -2
  160. package/dist/components/toast.min.js +3 -3
  161. package/dist/components/transition.css +369 -1280
  162. package/dist/components/transition.js +1047 -1077
  163. package/dist/components/transition.min.css +2 -2
  164. package/dist/components/transition.min.js +3 -3
  165. package/dist/components/visibility.js +1213 -1245
  166. package/dist/components/visibility.min.js +3 -3
  167. package/dist/semantic.css +9482 -12264
  168. package/dist/semantic.js +29051 -29426
  169. package/dist/semantic.min.css +3 -3
  170. package/dist/semantic.min.js +3 -3
  171. package/dist/themes/basic/assets/fonts/icons.woff2 +0 -0
  172. package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  173. package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  174. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  175. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  176. package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  177. package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  178. package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  179. package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  180. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  181. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  182. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  183. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  184. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  185. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  186. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  187. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  188. package/dist/themes/github/assets/fonts/octicons.woff2 +0 -0
  189. package/examples/.eslintrc.js +6 -0
  190. package/examples/assets/library/jquery.min.js +2 -4
  191. package/examples/assets/show-examples.js +13 -13
  192. package/examples/attached.html +1 -1
  193. package/examples/bootstrap.html +1 -1
  194. package/examples/components/button.html +1 -1
  195. package/examples/components/card.html +6 -6
  196. package/examples/components/input.html +1 -1
  197. package/examples/components/menu.html +1 -1
  198. package/examples/components/site.html +1 -1
  199. package/examples/components/sticky-context.html +2 -2
  200. package/examples/components/table.html +1 -1
  201. package/examples/fixed.html +3 -3
  202. package/examples/grid.html +5 -5
  203. package/examples/homepage.html +1 -1
  204. package/examples/login.html +2 -2
  205. package/examples/responsive.html +2 -2
  206. package/examples/sticky.html +4 -4
  207. package/examples/theming.html +1 -1
  208. package/gulpfile.js +13 -11
  209. package/package.json +17 -10
  210. package/scripts/nightly-version.js +83 -75
  211. package/src/_site/collections/menu.overrides +1 -1
  212. package/src/_site/elements/flag.variables +2 -2
  213. package/src/_site/globals/site.variables +1 -1
  214. package/src/_site/modules/embed.variables +3 -0
  215. package/src/definitions/behaviors/api.js +1158 -1180
  216. package/src/definitions/behaviors/form.js +2019 -2003
  217. package/src/definitions/behaviors/state.js +645 -663
  218. package/src/definitions/behaviors/visibility.js +1212 -1244
  219. package/src/definitions/collections/breadcrumb.less +43 -47
  220. package/src/definitions/collections/form.less +866 -884
  221. package/src/definitions/collections/grid.less +1681 -1699
  222. package/src/definitions/collections/menu.less +1521 -1544
  223. package/src/definitions/collections/message.less +294 -298
  224. package/src/definitions/collections/table.less +1657 -1661
  225. package/src/definitions/elements/button.less +1714 -1756
  226. package/src/definitions/elements/container.less +211 -211
  227. package/src/definitions/elements/divider.less +198 -211
  228. package/src/definitions/elements/emoji.less +41 -48
  229. package/src/definitions/elements/flag.less +46 -48
  230. package/src/definitions/elements/header.less +351 -359
  231. package/src/definitions/elements/icon.less +541 -484
  232. package/src/definitions/elements/image.less +216 -227
  233. package/src/definitions/elements/input.less +692 -698
  234. package/src/definitions/elements/label.less +784 -806
  235. package/src/definitions/elements/list.less +810 -814
  236. package/src/definitions/elements/loader.less +273 -268
  237. package/src/definitions/elements/placeholder.less +173 -170
  238. package/src/definitions/elements/rail.less +93 -93
  239. package/src/definitions/elements/reveal.less +192 -198
  240. package/src/definitions/elements/segment.less +742 -749
  241. package/src/definitions/elements/step.less +423 -437
  242. package/src/definitions/elements/text.less +34 -36
  243. package/src/definitions/globals/reset.less +11 -8
  244. package/src/definitions/globals/site.js +435 -475
  245. package/src/definitions/globals/site.less +108 -110
  246. package/src/definitions/modules/accordion.js +567 -594
  247. package/src/definitions/modules/accordion.less +244 -248
  248. package/src/definitions/modules/calendar.js +1933 -1808
  249. package/src/definitions/modules/calendar.less +100 -97
  250. package/src/definitions/modules/checkbox.js +841 -840
  251. package/src/definitions/modules/checkbox.less +531 -552
  252. package/src/definitions/modules/dimmer.js +705 -736
  253. package/src/definitions/modules/dimmer.less +294 -305
  254. package/src/definitions/modules/dropdown.js +4178 -4235
  255. package/src/definitions/modules/dropdown.less +1568 -1598
  256. package/src/definitions/modules/embed.js +644 -674
  257. package/src/definitions/modules/embed.less +82 -84
  258. package/src/definitions/modules/flyout.js +1459 -1464
  259. package/src/definitions/modules/flyout.less +452 -455
  260. package/src/definitions/modules/modal.js +1487 -1485
  261. package/src/definitions/modules/modal.less +458 -467
  262. package/src/definitions/modules/nag.js +519 -525
  263. package/src/definitions/modules/nag.less +136 -149
  264. package/src/definitions/modules/popup.js +1453 -1455
  265. package/src/definitions/modules/popup.less +738 -693
  266. package/src/definitions/modules/progress.js +968 -996
  267. package/src/definitions/modules/progress.less +523 -499
  268. package/src/definitions/modules/rating.js +504 -522
  269. package/src/definitions/modules/rating.less +98 -103
  270. package/src/definitions/modules/search.js +1519 -1533
  271. package/src/definitions/modules/search.less +374 -394
  272. package/src/definitions/modules/shape.js +780 -809
  273. package/src/definitions/modules/shape.less +70 -79
  274. package/src/definitions/modules/sidebar.js +1060 -1098
  275. package/src/definitions/modules/sidebar.less +463 -476
  276. package/src/definitions/modules/slider.js +1309 -1310
  277. package/src/definitions/modules/slider.less +309 -310
  278. package/src/definitions/modules/sticky.js +864 -917
  279. package/src/definitions/modules/sticky.less +17 -25
  280. package/src/definitions/modules/tab.js +901 -965
  281. package/src/definitions/modules/tab.less +48 -54
  282. package/src/definitions/modules/toast.js +909 -883
  283. package/src/definitions/modules/toast.less +589 -589
  284. package/src/definitions/modules/transition.js +1046 -1076
  285. package/src/definitions/modules/transition.less +65 -31
  286. package/src/definitions/views/ad.less +207 -208
  287. package/src/definitions/views/card.less +955 -973
  288. package/src/definitions/views/comment.less +192 -200
  289. package/src/definitions/views/feed.less +222 -226
  290. package/src/definitions/views/item.less +437 -448
  291. package/src/definitions/views/statistic.less +273 -279
  292. package/src/semantic.less +8 -6
  293. package/src/theme.config.example +53 -53
  294. package/src/theme.less +44 -35
  295. package/src/themes/amazon/elements/button.overrides +23 -24
  296. package/src/themes/amazon/elements/button.variables +18 -23
  297. package/src/themes/amazon/globals/site.variables +16 -17
  298. package/src/themes/basic/assets/fonts/icons.woff2 +0 -0
  299. package/src/themes/basic/collections/table.overrides +0 -1
  300. package/src/themes/basic/collections/table.variables +3 -3
  301. package/src/themes/basic/elements/button.overrides +0 -1
  302. package/src/themes/basic/elements/button.variables +9 -9
  303. package/src/themes/basic/elements/icon.overrides +9 -169
  304. package/src/themes/basic/elements/icon.variables +161 -18
  305. package/src/themes/basic/elements/step.overrides +2 -2
  306. package/src/themes/basic/elements/step.variables +2 -2
  307. package/src/themes/basic/globals/reset.overrides +1 -1
  308. package/src/themes/basic/globals/reset.variables +1 -1
  309. package/src/themes/basic/modules/progress.variables +2 -2
  310. package/src/themes/basic/views/card.overrides +0 -1
  311. package/src/themes/basic/views/card.variables +6 -6
  312. package/src/themes/bookish/elements/header.overrides +4 -4
  313. package/src/themes/bookish/elements/header.variables +5 -5
  314. package/src/themes/bootstrap3/elements/button.overrides +3 -0
  315. package/src/themes/bootstrap3/elements/button.variables +20 -25
  316. package/src/themes/chubby/collections/form.overrides +9 -9
  317. package/src/themes/chubby/collections/form.variables +3 -3
  318. package/src/themes/chubby/collections/menu.overrides +3 -0
  319. package/src/themes/chubby/collections/menu.variables +3 -3
  320. package/src/themes/chubby/elements/button.overrides +8 -10
  321. package/src/themes/chubby/elements/button.variables +10 -10
  322. package/src/themes/chubby/elements/header.overrides +1 -1
  323. package/src/themes/chubby/elements/header.variables +4 -4
  324. package/src/themes/chubby/modules/accordion.overrides +2 -2
  325. package/src/themes/chubby/modules/accordion.variables +4 -4
  326. package/src/themes/chubby/views/comment.overrides +5 -5
  327. package/src/themes/chubby/views/comment.variables +11 -11
  328. package/src/themes/classic/collections/table.variables +3 -3
  329. package/src/themes/classic/elements/button.variables +36 -43
  330. package/src/themes/classic/elements/header.variables +4 -4
  331. package/src/themes/classic/modules/progress.variables +3 -3
  332. package/src/themes/classic/views/card.overrides +25 -27
  333. package/src/themes/classic/views/card.variables +7 -7
  334. package/src/themes/colored/modules/checkbox.overrides +3 -0
  335. package/src/themes/colored/modules/checkbox.variables +1 -3
  336. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  337. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  338. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  339. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  340. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  341. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  342. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  343. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  344. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  345. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  346. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  347. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  348. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  349. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  350. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  351. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  352. package/src/themes/default/collections/breadcrumb.variables +4 -4
  353. package/src/themes/default/collections/form.variables +15 -16
  354. package/src/themes/default/collections/grid.overrides +0 -1
  355. package/src/themes/default/collections/grid.variables +15 -16
  356. package/src/themes/default/collections/menu.variables +31 -45
  357. package/src/themes/default/collections/message.variables +84 -123
  358. package/src/themes/default/collections/table.overrides +3 -0
  359. package/src/themes/default/collections/table.variables +30 -34
  360. package/src/themes/default/elements/button.variables +44 -53
  361. package/src/themes/default/elements/container.variables +8 -16
  362. package/src/themes/default/elements/divider.overrides +8 -9
  363. package/src/themes/default/elements/divider.variables +5 -6
  364. package/src/themes/default/elements/emoji.overrides +0 -1
  365. package/src/themes/default/elements/emoji.variables +3556 -3556
  366. package/src/themes/default/elements/flag.variables +1595 -1595
  367. package/src/themes/default/elements/header.overrides +0 -1
  368. package/src/themes/default/elements/header.variables +21 -21
  369. package/src/themes/default/elements/icon.variables +2016 -2009
  370. package/src/themes/default/elements/image.variables +6 -7
  371. package/src/themes/default/elements/input.variables +11 -12
  372. package/src/themes/default/elements/label.variables +25 -26
  373. package/src/themes/default/elements/list.variables +17 -21
  374. package/src/themes/default/elements/loader.variables +16 -17
  375. package/src/themes/default/elements/placeholder.variables +12 -9
  376. package/src/themes/default/elements/rail.variables +4 -5
  377. package/src/themes/default/elements/reveal.variables +1 -1
  378. package/src/themes/default/elements/segment.variables +24 -36
  379. package/src/themes/default/elements/step.overrides +4 -4
  380. package/src/themes/default/elements/step.variables +19 -22
  381. package/src/themes/default/elements/text.variables +2 -3
  382. package/src/themes/default/globals/colors.less +588 -588
  383. package/src/themes/default/globals/reset.overrides +63 -59
  384. package/src/themes/default/globals/reset.variables +1 -1
  385. package/src/themes/default/globals/site.variables +1075 -1123
  386. package/src/themes/default/globals/variation.variables +13 -4
  387. package/src/themes/default/modules/accordion.overrides +11 -11
  388. package/src/themes/default/modules/accordion.variables +15 -20
  389. package/src/themes/default/modules/calendar.variables +2 -0
  390. package/src/themes/default/modules/chatroom.variables +1 -1
  391. package/src/themes/default/modules/checkbox.overrides +9 -13
  392. package/src/themes/default/modules/checkbox.variables +24 -33
  393. package/src/themes/default/modules/dimmer.variables +14 -17
  394. package/src/themes/default/modules/dropdown.overrides +17 -17
  395. package/src/themes/default/modules/dropdown.variables +29 -31
  396. package/src/themes/default/modules/embed.variables +9 -13
  397. package/src/themes/default/modules/flyout.variables +10 -8
  398. package/src/themes/default/modules/modal.variables +64 -67
  399. package/src/themes/default/modules/nag.variables +11 -14
  400. package/src/themes/default/modules/popup.variables +14 -13
  401. package/src/themes/default/modules/progress.variables +17 -19
  402. package/src/themes/default/modules/rating.variables +10 -12
  403. package/src/themes/default/modules/search.variables +12 -17
  404. package/src/themes/default/modules/shape.variables +7 -8
  405. package/src/themes/default/modules/sidebar.variables +4 -4
  406. package/src/themes/default/modules/slider.variables +55 -54
  407. package/src/themes/default/modules/sticky.variables +1 -1
  408. package/src/themes/default/modules/toast.variables +8 -8
  409. package/src/themes/default/modules/transition.overrides +936 -915
  410. package/src/themes/default/modules/transition.variables +8 -1
  411. package/src/themes/default/views/ad.variables +1 -1
  412. package/src/themes/default/views/card.variables +33 -45
  413. package/src/themes/default/views/comment.variables +7 -9
  414. package/src/themes/default/views/feed.variables +10 -10
  415. package/src/themes/default/views/item.variables +20 -23
  416. package/src/themes/default/views/statistic.variables +8 -8
  417. package/src/themes/duo/elements/loader.variables +1 -1
  418. package/src/themes/famfamfam/elements/flag.overrides +263 -268
  419. package/src/themes/famfamfam/elements/flag.variables +4 -4
  420. package/src/themes/fixed-width/collections/grid.variables +4 -4
  421. package/src/themes/fixed-width/modules/modal.variables +11 -13
  422. package/src/themes/flat/collections/form.overrides +9 -9
  423. package/src/themes/flat/collections/form.variables +16 -17
  424. package/src/themes/flat/globals/site.variables +69 -74
  425. package/src/themes/github/assets/fonts/octicons.woff2 +0 -0
  426. package/src/themes/github/collections/breadcrumb.variables +0 -1
  427. package/src/themes/github/collections/form.overrides +7 -8
  428. package/src/themes/github/collections/form.variables +16 -18
  429. package/src/themes/github/collections/grid.variables +1 -2
  430. package/src/themes/github/collections/menu.overrides +2 -2
  431. package/src/themes/github/collections/menu.variables +24 -26
  432. package/src/themes/github/collections/message.overrides +3 -3
  433. package/src/themes/github/collections/message.variables +12 -14
  434. package/src/themes/github/collections/table.variables +2 -2
  435. package/src/themes/github/elements/button.overrides +0 -1
  436. package/src/themes/github/elements/button.variables +26 -30
  437. package/src/themes/github/elements/header.variables +2 -2
  438. package/src/themes/github/elements/icon.overrides +3 -208
  439. package/src/themes/github/elements/icon.variables +234 -19
  440. package/src/themes/github/elements/image.variables +1 -1
  441. package/src/themes/github/elements/input.overrides +16 -16
  442. package/src/themes/github/elements/input.variables +4 -5
  443. package/src/themes/github/elements/label.overrides +3 -3
  444. package/src/themes/github/elements/label.variables +0 -1
  445. package/src/themes/github/elements/segment.variables +9 -10
  446. package/src/themes/github/elements/step.overrides +13 -13
  447. package/src/themes/github/elements/step.variables +6 -6
  448. package/src/themes/github/globals/site.variables +16 -16
  449. package/src/themes/github/modules/dropdown.overrides +18 -19
  450. package/src/themes/github/modules/dropdown.variables +8 -10
  451. package/src/themes/github/modules/popup.variables +0 -2
  452. package/src/themes/gmail/collections/message.overrides +3 -0
  453. package/src/themes/gmail/collections/message.variables +4 -4
  454. package/src/themes/instagram/views/card.overrides +4 -5
  455. package/src/themes/instagram/views/card.variables +7 -8
  456. package/src/themes/joypixels/elements/emoji.overrides +0 -2
  457. package/src/themes/joypixels/elements/emoji.variables +3554 -3554
  458. package/src/themes/material/collections/menu.overrides +1 -1
  459. package/src/themes/material/collections/menu.variables +4 -4
  460. package/src/themes/material/elements/button.overrides +7 -9
  461. package/src/themes/material/elements/button.variables +44 -46
  462. package/src/themes/material/elements/header.overrides +3 -3
  463. package/src/themes/material/elements/header.variables +8 -10
  464. package/src/themes/material/elements/icon.overrides +3 -934
  465. package/src/themes/material/elements/icon.variables +958 -18
  466. package/src/themes/material/globals/site.overrides +3 -0
  467. package/src/themes/material/globals/site.variables +83 -84
  468. package/src/themes/material/modules/dropdown.overrides +2 -2
  469. package/src/themes/material/modules/dropdown.variables +5 -5
  470. package/src/themes/material/modules/modal.overrides +3 -3
  471. package/src/themes/material/modules/modal.variables +4 -5
  472. package/src/themes/pulsar/elements/loader.overrides +23 -61
  473. package/src/themes/raised/elements/button.variables +8 -9
  474. package/src/themes/resetcss/globals/reset.overrides +115 -33
  475. package/src/themes/resetcss/globals/reset.variables +1 -1
  476. package/src/themes/round/elements/button.overrides +3 -0
  477. package/src/themes/round/elements/button.variables +33 -38
  478. package/src/themes/rtl/globals/site.overrides +1 -1
  479. package/src/themes/rtl/globals/site.variables +5 -6
  480. package/src/themes/striped/modules/progress.overrides +20 -16
  481. package/src/themes/systemfont/globals/reset.overrides +1 -1
  482. package/src/themes/systemfont/globals/site.variables +6 -6
  483. package/src/themes/timeline/views/feed.overrides +12 -12
  484. package/src/themes/timeline/views/feed.variables +8 -8
  485. package/src/themes/twitter/elements/button.overrides +4 -5
  486. package/src/themes/twitter/elements/button.variables +17 -18
  487. package/src/themes/twitter/elements/emoji.variables +3556 -3556
  488. package/tasks/.eslintrc.js +9 -0
  489. package/tasks/README.md +2 -4
  490. package/tasks/admin/components/create.js +268 -277
  491. package/tasks/admin/components/init.js +123 -129
  492. package/tasks/admin/components/update.js +151 -158
  493. package/tasks/admin/distributions/create.js +183 -189
  494. package/tasks/admin/distributions/init.js +125 -131
  495. package/tasks/admin/distributions/update.js +147 -153
  496. package/tasks/admin/publish.js +5 -9
  497. package/tasks/admin/register.js +37 -39
  498. package/tasks/admin/release.js +8 -12
  499. package/tasks/build/assets.js +43 -40
  500. package/tasks/build/css.js +230 -217
  501. package/tasks/build/javascript.js +120 -114
  502. package/tasks/build.js +11 -11
  503. package/tasks/check-install.js +15 -17
  504. package/tasks/clean.js +6 -6
  505. package/tasks/collections/README.md +3 -5
  506. package/tasks/collections/admin.js +34 -36
  507. package/tasks/collections/build.js +19 -21
  508. package/tasks/collections/docs.js +11 -13
  509. package/tasks/collections/install.js +11 -13
  510. package/tasks/collections/rtl.js +9 -12
  511. package/tasks/collections/various.js +10 -12
  512. package/tasks/config/admin/github.js +17 -19
  513. package/tasks/config/admin/oauth.example.js +4 -4
  514. package/tasks/config/admin/release.js +98 -98
  515. package/tasks/config/admin/templates/README.md +8 -8
  516. package/tasks/config/admin/templates/bower.json +3 -2
  517. package/tasks/config/admin/templates/component-package.js +9 -10
  518. package/tasks/config/admin/templates/css-package.js +19 -21
  519. package/tasks/config/admin/templates/less-package.js +12 -14
  520. package/tasks/config/admin/templates/package.json +6 -6
  521. package/tasks/config/defaults.js +116 -116
  522. package/tasks/config/docs.js +23 -23
  523. package/tasks/config/npm/gulpfile.js +15 -14
  524. package/tasks/config/project/config.js +124 -136
  525. package/tasks/config/project/install.js +722 -719
  526. package/tasks/config/project/release.js +34 -41
  527. package/tasks/config/tasks.js +168 -167
  528. package/tasks/config/user.js +28 -29
  529. package/tasks/docs/build.js +100 -96
  530. package/tasks/docs/metadata.js +91 -98
  531. package/tasks/docs/serve.js +84 -82
  532. package/tasks/install.js +373 -382
  533. package/tasks/rtl/build.js +4 -3
  534. package/tasks/rtl/watch.js +4 -3
  535. package/tasks/version.js +4 -6
  536. package/tasks/watch.js +29 -31
  537. package/test/.eslintrc.js +23 -0
  538. package/test/meteor/assets.js +11 -14
  539. package/test/meteor/fonts.js +12 -13
  540. package/test/modules/accordion.spec.js +6 -8
  541. package/test/modules/checkbox.spec.js +5 -7
  542. package/test/modules/dropdown.spec.js +5 -7
  543. package/test/modules/modal.spec.js +6 -8
  544. package/test/modules/module.spec.js +158 -178
  545. package/test/modules/popup.spec.js +5 -7
  546. package/test/modules/search.spec.js +5 -7
  547. package/test/modules/shape.spec.js +5 -7
  548. package/test/modules/sidebar.spec.js +5 -7
  549. package/test/modules/tab.spec.js +6 -8
  550. package/test/modules/transition.spec.js +5 -7
  551. package/test/modules/video.spec.js +5 -7
  552. package/.github/workflows/codeql.yml +0 -68
@@ -4,123 +4,123 @@
4
4
 
5
5
  module.exports = {
6
6
 
7
- // base path added to all other paths
8
- base : '',
9
-
10
- // base path when installed with npm
11
- pmRoot: 'semantic/',
12
-
13
- // octal permission for output files, i.e. 0o644 or '644' (false does not adjust)
14
- permission : '744',
15
-
16
- // whether to generate rtl files
17
- rtl : false,
18
-
19
- // file paths
20
- files: {
21
- config : 'semantic.json',
22
- site : 'src/site',
23
- theme : 'src/theme.config'
24
- },
25
-
26
- // folder paths
27
- paths: {
28
- source: {
29
- config : 'src/theme.config',
30
- definitions : 'src/definitions/',
31
- site : 'src/site/',
32
- themes : 'src/themes/'
7
+ // base path added to all other paths
8
+ base: '',
9
+
10
+ // base path when installed with npm
11
+ pmRoot: 'semantic/',
12
+
13
+ // octal permission for output files, i.e. 0o644 or '644' (false does not adjust)
14
+ permission: '744',
15
+
16
+ // whether to generate rtl files
17
+ rtl: false,
18
+
19
+ // file paths
20
+ files: {
21
+ config: 'semantic.json',
22
+ site: 'src/site',
23
+ theme: 'src/theme.config',
33
24
  },
34
- output: {
35
- packaged : 'dist/',
36
- uncompressed : 'dist/components/',
37
- compressed : 'dist/components/',
38
- themes : 'dist/themes/'
25
+
26
+ // folder paths
27
+ paths: {
28
+ source: {
29
+ config: 'src/theme.config',
30
+ definitions: 'src/definitions/',
31
+ site: 'src/site/',
32
+ themes: 'src/themes/',
33
+ },
34
+ output: {
35
+ packaged: 'dist/',
36
+ uncompressed: 'dist/components/',
37
+ compressed: 'dist/components/',
38
+ themes: 'dist/themes/',
39
+ },
40
+ clean: 'dist/',
41
+ },
42
+
43
+ // components to include in package
44
+ components: [
45
+
46
+ // global
47
+ 'reset',
48
+ 'site',
49
+
50
+ // elements
51
+ 'button',
52
+ 'container',
53
+ 'divider',
54
+ 'emoji',
55
+ 'flag',
56
+ 'header',
57
+ 'icon',
58
+ 'image',
59
+ 'input',
60
+ 'label',
61
+ 'list',
62
+ 'loader',
63
+ 'placeholder',
64
+ 'rail',
65
+ 'reveal',
66
+ 'segment',
67
+ 'step',
68
+ 'text',
69
+
70
+ // collections
71
+ 'breadcrumb',
72
+ 'form',
73
+ 'grid',
74
+ 'menu',
75
+ 'message',
76
+ 'table',
77
+
78
+ // views
79
+ 'ad',
80
+ 'card',
81
+ 'comment',
82
+ 'feed',
83
+ 'item',
84
+ 'statistic',
85
+
86
+ // modules
87
+ 'accordion',
88
+ 'calendar',
89
+ 'checkbox',
90
+ 'dimmer',
91
+ 'dropdown',
92
+ 'embed',
93
+ 'flyout',
94
+ 'modal',
95
+ 'nag',
96
+ 'popup',
97
+ 'progress',
98
+ 'slider',
99
+ 'rating',
100
+ 'search',
101
+ 'shape',
102
+ 'sidebar',
103
+ 'sticky',
104
+ 'tab',
105
+ 'toast',
106
+ 'transition',
107
+
108
+ // behaviors
109
+ 'api',
110
+ 'form',
111
+ 'state',
112
+ 'visibility',
113
+ ],
114
+
115
+ // whether to load admin tasks
116
+ admin: false,
117
+
118
+ header: {},
119
+
120
+ // globs used for matching file patterns
121
+ globs: {
122
+ ignored: '!(*.min|*.map|*.rtl)',
123
+ ignoredRTL: '!(*.min|*.map)',
39
124
  },
40
- clean : 'dist/'
41
- },
42
-
43
- // components to include in package
44
- components: [
45
-
46
- // global
47
- 'reset',
48
- 'site',
49
-
50
- // elements
51
- 'button',
52
- 'container',
53
- 'divider',
54
- 'emoji',
55
- 'flag',
56
- 'header',
57
- 'icon',
58
- 'image',
59
- 'input',
60
- 'label',
61
- 'list',
62
- 'loader',
63
- 'placeholder',
64
- 'rail',
65
- 'reveal',
66
- 'segment',
67
- 'step',
68
- 'text',
69
-
70
- // collections
71
- 'breadcrumb',
72
- 'form',
73
- 'grid',
74
- 'menu',
75
- 'message',
76
- 'table',
77
-
78
- // views
79
- 'ad',
80
- 'card',
81
- 'comment',
82
- 'feed',
83
- 'item',
84
- 'statistic',
85
-
86
- // modules
87
- 'accordion',
88
- 'calendar',
89
- 'checkbox',
90
- 'dimmer',
91
- 'dropdown',
92
- 'embed',
93
- 'flyout',
94
- 'modal',
95
- 'nag',
96
- 'popup',
97
- 'progress',
98
- 'slider',
99
- 'rating',
100
- 'search',
101
- 'shape',
102
- 'sidebar',
103
- 'sticky',
104
- 'tab',
105
- 'toast',
106
- 'transition',
107
-
108
- // behaviors
109
- 'api',
110
- 'form',
111
- 'state',
112
- 'visibility'
113
- ],
114
-
115
- // whether to load admin tasks
116
- admin: false,
117
-
118
- header: {},
119
-
120
- // globs used for matching file patterns
121
- globs : {
122
- ignored : '!(*.min|*.map|*.rtl)',
123
- ignoredRTL : '!(*.min|*.map)'
124
- }
125
125
 
126
126
  };
@@ -4,29 +4,29 @@
4
4
 
5
5
  /* Paths used for "serve-docs" and "build-docs" tasks */
6
6
  module.exports = {
7
- base: '',
8
- globs: {
9
- eco: '**/*.html.eco'
10
- },
11
- paths: {
12
- clean: '../docs/out/dist/',
13
- source: {
14
- config : 'src/theme.config',
15
- definitions : 'src/definitions/',
16
- site : 'src/site/',
17
- themes : 'src/themes/'
7
+ base: '',
8
+ globs: {
9
+ eco: '**/*.html.eco',
18
10
  },
19
- output: {
20
- examples : '../docs/out/examples/',
21
- less : '../docs/out/src/',
22
- metadata : '../docs/out/',
23
- packaged : '../docs/out/dist/',
24
- uncompressed : '../docs/out/dist/components/',
25
- compressed : '../docs/out/dist/components/',
26
- themes : '../docs/out/dist/themes/'
11
+ paths: {
12
+ clean: '../docs/out/dist/',
13
+ source: {
14
+ config: 'src/theme.config',
15
+ definitions: 'src/definitions/',
16
+ site: 'src/site/',
17
+ themes: 'src/themes/',
18
+ },
19
+ output: {
20
+ examples: '../docs/out/examples/',
21
+ less: '../docs/out/src/',
22
+ metadata: '../docs/out/',
23
+ packaged: '../docs/out/dist/',
24
+ uncompressed: '../docs/out/dist/components/',
25
+ compressed: '../docs/out/dist/components/',
26
+ themes: '../docs/out/dist/themes/',
27
+ },
28
+ template: {
29
+ eco: '../docs/server/documents/',
30
+ },
27
31
  },
28
- template: {
29
- eco: '../docs/server/documents/'
30
- },
31
- }
32
32
  };
@@ -2,34 +2,35 @@
2
2
  * Set-up
3
3
  *******************************/
4
4
 
5
- var
6
- gulp = require('gulp'),
5
+ const
6
+ gulp = require('gulp'),
7
7
 
8
- // read user config to know what task to load
9
- config = require('./tasks/config/user')
10
- ;
8
+ // read user config to know what task to load
9
+ config = require('./tasks/config/user'), // eslint-disable-line import/extensions
11
10
 
11
+ rtl = require('./tasks/collections/rtl') // eslint-disable-line import/extensions
12
+ ;
12
13
 
13
14
  /*******************************
14
15
  * Tasks
15
16
  *******************************/
16
17
 
17
- require('./tasks/collections/build')(gulp);
18
- require('./tasks/collections/various')(gulp);
19
- require('./tasks/collections/install')(gulp);
18
+ require('./tasks/collections/build')(gulp); // eslint-disable-line import/extensions
19
+ require('./tasks/collections/various')(gulp); // eslint-disable-line import/extensions
20
+ require('./tasks/collections/install')(gulp); // eslint-disable-line import/extensions
20
21
 
21
22
  gulp.task('default', gulp.series('watch'));
22
23
 
23
- /*--------------
24
+ /* --------------
24
25
  Docs
25
- ---------------*/
26
+ --------------- */
26
27
 
27
- require('./tasks/collections/docs')(gulp);
28
+ require('./tasks/collections/docs')(gulp); // eslint-disable-line import/extensions
28
29
 
29
- /*--------------
30
+ /* --------------
30
31
  RTL
31
- ---------------*/
32
+ --------------- */
32
33
 
33
34
  if (config.rtl) {
34
- require('./tasks/collections/rtl')(gulp);
35
+ rtl(gulp);
35
36
  }
@@ -2,153 +2,141 @@
2
2
  Set-up
3
3
  *******************************/
4
4
 
5
- var
6
- extend = require('extend'),
7
- fs = require('fs'),
8
- path = require('path'),
5
+ const
6
+ fs = require('fs'),
7
+ path = require('path'),
9
8
 
10
- defaults = require('../defaults')
9
+ defaults = require('../defaults')
11
10
  ;
12
11
 
13
-
14
12
  /*******************************
15
13
  Exports
16
14
  *******************************/
17
15
 
18
16
  module.exports = {
19
17
 
20
- getPath: function(file, directory) {
21
- var
22
- configPath,
23
- walk = function(directory) {
24
- var
25
- nextDirectory = path.resolve( path.join(directory, path.sep, '..') ),
26
- currentPath = path.normalize( path.join(directory, file) )
18
+ getPath: function (file, directory) {
19
+ let
20
+ configPath,
21
+ walk = function (directory) {
22
+ let
23
+ nextDirectory = path.resolve(path.join(directory, path.sep, '..')),
24
+ currentPath = path.normalize(path.join(directory, file))
25
+ ;
26
+ if (fs.existsSync(currentPath)) {
27
+ // found file
28
+ configPath = path.normalize(directory);
29
+ } else {
30
+ // reached file system root, let's stop
31
+ if (nextDirectory === directory) {
32
+ return;
33
+ }
34
+ // otherwise recurse
35
+ walk(nextDirectory, file);
36
+ }
37
+ }
38
+ ;
39
+
40
+ // start walk from outside require-dot-files directory
41
+ file = file || defaults.files.config;
42
+ directory = directory || path.join(__dirname, path.sep, '..');
43
+ walk(directory);
44
+
45
+ return configPath || '';
46
+ },
47
+
48
+ // adds additional derived values to a config object
49
+ addDerivedValues: function (config) {
50
+ /* --------------
51
+ File Paths
52
+ --------------- */
53
+
54
+ let
55
+ configPath = this.getPath(),
56
+ sourcePaths = {},
57
+ outputPaths = {},
58
+ folder
27
59
  ;
28
- if( fs.existsSync(currentPath) ) {
29
- // found file
30
- configPath = path.normalize(directory);
31
- return;
60
+
61
+ // resolve paths (config location + base + path)
62
+ for (folder in config.paths.source) {
63
+ if (Object.prototype.hasOwnProperty.call(config.paths.source, folder)) {
64
+ sourcePaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.source[folder]));
65
+ }
32
66
  }
33
- else {
34
- // reached file system root, let's stop
35
- if(nextDirectory == directory) {
36
- return;
37
- }
38
- // otherwise recurse
39
- walk(nextDirectory, file);
67
+ for (folder in config.paths.output) {
68
+ if (Object.prototype.hasOwnProperty.call(config.paths.output, folder)) {
69
+ outputPaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.output[folder]));
70
+ }
40
71
  }
41
- }
42
- ;
43
-
44
- // start walk from outside require-dot-files directory
45
- file = file || defaults.files.config;
46
- directory = directory || path.join(__dirname, path.sep, '..');
47
- walk(directory);
48
- return configPath || '';
49
- },
50
-
51
- // adds additional derived values to a config object
52
- addDerivedValues: function(config) {
53
-
54
- config = config || extend(false, {}, defaults);
55
-
56
- /*--------------
57
- File Paths
58
- ---------------*/
59
-
60
- var
61
- configPath = this.getPath(),
62
- sourcePaths = {},
63
- outputPaths = {},
64
- folder
65
- ;
66
-
67
- // resolve paths (config location + base + path)
68
- for(folder in config.paths.source) {
69
- if(config.paths.source.hasOwnProperty(folder)) {
70
- sourcePaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.source[folder]));
71
- }
72
- }
73
- for(folder in config.paths.output) {
74
- if(config.paths.output.hasOwnProperty(folder)) {
75
- outputPaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.output[folder]));
76
- }
77
- }
78
-
79
- // set config paths to full paths
80
- config.paths.source = sourcePaths;
81
- config.paths.output = outputPaths;
82
-
83
- // resolve "clean" command path
84
- config.paths.clean = path.resolve( path.join(configPath, config.base, config.paths.clean) );
85
-
86
- /*--------------
87
- CSS URLs
88
- ---------------*/
89
-
90
- // determine asset paths in css by finding relative path between themes and output
91
- // force forward slashes
92
-
93
- config.paths.assets = {
94
- source : '../../themes', // source asset path is always the same
95
- uncompressed : './' + path.relative(config.paths.output.uncompressed, config.paths.output.themes).replace(/\\/g, '/'),
96
- compressed : './' + path.relative(config.paths.output.compressed, config.paths.output.themes).replace(/\\/g, '/'),
97
- packaged : './' + path.relative(config.paths.output.packaged, config.paths.output.themes).replace(/\\/g, '/')
98
- };
99
-
100
- /*--------------
101
- Permission
102
- ---------------*/
103
-
104
- if(config.permission) {
105
- config.hasPermissions = true;
106
- config.parsedPermissions = typeof config.permission === 'string' ? parseInt(config.permission, 8) : config.permission;
107
- }
108
- else {
109
- // pass blank object to avoid causing errors
110
- config.permission = {};
111
- config.hasPermissions = false;
112
- config.parsedPermissions = {};
113
- }
114
-
115
- /*--------------
116
- Globs
117
- ---------------*/
118
-
119
- if(!config.globs) {
120
- config.globs = {};
121
- }
122
-
123
- // remove duplicates from component array
124
- if(config.components instanceof Array) {
125
- config.components = config.components.filter(function(component, index) {
126
- return config.components.indexOf(component) == index;
127
- });
128
- }
129
-
130
- const components = (Array.isArray(config.components) && config.components.length >= 1)
131
- ? config.components
132
- : defaults.components
133
- ;
134
- const individuals = (Array.isArray(config.individuals) && config.individuals.length >= 1)
135
- ? config.individuals
136
- : []
137
- ;
138
- const componentsExceptIndividuals = components.filter((component) => !individuals.includes(component));
139
-
140
- // takes component object and creates file glob matching selected components
141
- config.globs.components = '{' + componentsExceptIndividuals.join(',') + '}';
142
-
143
- // components that should be built, but excluded from main .css/.js files
144
- config.globs.individuals = (individuals.length >= 1)
145
- ? '{' + individuals.join(',') + '}'
146
- : undefined
147
- ;
148
-
149
- return config;
150
-
151
- }
152
72
 
153
- };
73
+ // set config paths to full paths
74
+ config.paths.source = sourcePaths;
75
+ config.paths.output = outputPaths;
76
+
77
+ // resolve "clean" command path
78
+ config.paths.clean = path.resolve(path.join(configPath, config.base, config.paths.clean));
79
+
80
+ /* --------------
81
+ CSS URLs
82
+ --------------- */
83
+
84
+ // determine asset paths in css by finding relative path between themes and output
85
+ // force forward slashes
86
+
87
+ config.paths.assets = {
88
+ source: '../../themes', // source asset path is always the same
89
+ uncompressed: './' + path.relative(config.paths.output.uncompressed, config.paths.output.themes).replace(/\\/g, '/'),
90
+ compressed: './' + path.relative(config.paths.output.compressed, config.paths.output.themes).replace(/\\/g, '/'),
91
+ packaged: './' + path.relative(config.paths.output.packaged, config.paths.output.themes).replace(/\\/g, '/'),
92
+ };
93
+
94
+ /* --------------
95
+ Permission
96
+ --------------- */
97
+
98
+ if (config.permission) {
99
+ config.hasPermissions = true;
100
+ config.parsedPermissions = typeof config.permission === 'string' ? parseInt(config.permission, 8) : config.permission;
101
+ } else {
102
+ // pass blank object to avoid causing errors
103
+ config.permission = {};
104
+ config.hasPermissions = false;
105
+ config.parsedPermissions = {};
106
+ }
107
+
108
+ /* --------------
109
+ Globs
110
+ --------------- */
154
111
 
112
+ if (!config.globs) {
113
+ config.globs = {};
114
+ }
115
+
116
+ // remove duplicates from component array
117
+ if (Array.isArray(config.components)) {
118
+ config.components = config.components.filter(function (component, index) {
119
+ return config.components.indexOf(component) === index;
120
+ });
121
+ }
122
+
123
+ const components = Array.isArray(config.components) && config.components.length > 0
124
+ ? config.components
125
+ : defaults.components;
126
+ const individuals = Array.isArray(config.individuals) && config.individuals.length > 0
127
+ ? config.individuals
128
+ : [];
129
+ const componentsExceptIndividuals = components.filter((component) => !individuals.includes(component));
130
+
131
+ // takes component object and creates file glob matching selected components
132
+ config.globs.components = componentsExceptIndividuals.length === 1 ? componentsExceptIndividuals[0] : '{' + componentsExceptIndividuals.join(',') + '}';
133
+
134
+ // components that should be built, but excluded from main .css/.js files
135
+ config.globs.individuals = individuals.length === 1
136
+ ? individuals[0]
137
+ : (individuals.length > 1
138
+ ? '{' + individuals.join(',') + '}'
139
+ : undefined);
140
+ },
141
+
142
+ };