fomantic-ui 2.9.1-beta.16 → 2.9.1-beta.18

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 (252) hide show
  1. package/.eslintrc.js +109 -0
  2. package/.github/workflows/ci.yml +13 -3
  3. package/dist/components/accordion.css +1 -1
  4. package/dist/components/accordion.js +571 -598
  5. package/dist/components/accordion.min.css +1 -1
  6. package/dist/components/accordion.min.js +1 -1
  7. package/dist/components/ad.css +1 -1
  8. package/dist/components/ad.min.css +1 -1
  9. package/dist/components/api.js +1164 -1186
  10. package/dist/components/api.min.js +1 -1
  11. package/dist/components/breadcrumb.css +1 -1
  12. package/dist/components/breadcrumb.min.css +1 -1
  13. package/dist/components/button.css +1 -1
  14. package/dist/components/button.min.css +1 -1
  15. package/dist/components/calendar.css +1 -1
  16. package/dist/components/calendar.js +1897 -1818
  17. package/dist/components/calendar.min.css +1 -1
  18. package/dist/components/calendar.min.js +1 -1
  19. package/dist/components/card.css +1 -1
  20. package/dist/components/card.min.css +1 -1
  21. package/dist/components/checkbox.css +1 -1
  22. package/dist/components/checkbox.js +844 -841
  23. package/dist/components/checkbox.min.css +1 -1
  24. package/dist/components/checkbox.min.js +1 -1
  25. package/dist/components/comment.css +1 -1
  26. package/dist/components/comment.min.css +1 -1
  27. package/dist/components/container.css +3 -1
  28. package/dist/components/container.min.css +2 -2
  29. package/dist/components/dimmer.css +1 -1
  30. package/dist/components/dimmer.js +710 -737
  31. package/dist/components/dimmer.min.css +1 -1
  32. package/dist/components/dimmer.min.js +1 -1
  33. package/dist/components/divider.css +1 -1
  34. package/dist/components/divider.min.css +1 -1
  35. package/dist/components/dropdown.css +11 -8
  36. package/dist/components/dropdown.js +4163 -4234
  37. package/dist/components/dropdown.min.css +2 -2
  38. package/dist/components/dropdown.min.js +2 -2
  39. package/dist/components/embed.css +1 -1
  40. package/dist/components/embed.js +653 -675
  41. package/dist/components/embed.min.css +1 -1
  42. package/dist/components/embed.min.js +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/flyout.css +6 -3
  48. package/dist/components/flyout.js +1466 -1467
  49. package/dist/components/flyout.min.css +2 -2
  50. package/dist/components/flyout.min.js +1 -1
  51. package/dist/components/form.css +1 -1
  52. package/dist/components/form.js +1981 -2004
  53. package/dist/components/form.min.css +1 -1
  54. package/dist/components/form.min.js +1 -1
  55. package/dist/components/grid.css +1 -1
  56. package/dist/components/grid.min.css +1 -1
  57. package/dist/components/header.css +1 -1
  58. package/dist/components/header.min.css +1 -1
  59. package/dist/components/icon.css +1 -1
  60. package/dist/components/icon.min.css +1 -1
  61. package/dist/components/image.css +1 -1
  62. package/dist/components/image.min.css +1 -1
  63. package/dist/components/input.css +1 -1
  64. package/dist/components/input.min.css +1 -1
  65. package/dist/components/item.css +1 -1
  66. package/dist/components/item.min.css +1 -1
  67. package/dist/components/label.css +1 -1
  68. package/dist/components/label.min.css +1 -1
  69. package/dist/components/list.css +1 -1
  70. package/dist/components/list.min.css +1 -1
  71. package/dist/components/loader.css +1 -1
  72. package/dist/components/loader.min.css +1 -1
  73. package/dist/components/message.css +1 -1
  74. package/dist/components/message.min.css +1 -1
  75. package/dist/components/modal.css +7 -1
  76. package/dist/components/modal.js +1493 -1487
  77. package/dist/components/modal.min.css +2 -2
  78. package/dist/components/modal.min.js +1 -1
  79. package/dist/components/nag.css +1 -1
  80. package/dist/components/nag.js +520 -529
  81. package/dist/components/nag.min.css +1 -1
  82. package/dist/components/nag.min.js +1 -1
  83. package/dist/components/placeholder.css +1 -1
  84. package/dist/components/placeholder.min.css +1 -1
  85. package/dist/components/popup.css +1 -1
  86. package/dist/components/popup.js +1439 -1456
  87. package/dist/components/popup.min.css +1 -1
  88. package/dist/components/popup.min.js +1 -1
  89. package/dist/components/progress.css +1 -1
  90. package/dist/components/progress.js +971 -997
  91. package/dist/components/progress.min.css +1 -1
  92. package/dist/components/progress.min.js +1 -1
  93. package/dist/components/rail.css +1 -1
  94. package/dist/components/rail.min.css +1 -1
  95. package/dist/components/rating.css +1 -1
  96. package/dist/components/rating.js +508 -524
  97. package/dist/components/rating.min.css +1 -1
  98. package/dist/components/rating.min.js +1 -1
  99. package/dist/components/reset.css +1 -1
  100. package/dist/components/reset.min.css +1 -1
  101. package/dist/components/reveal.css +1 -1
  102. package/dist/components/reveal.min.css +1 -1
  103. package/dist/components/search.css +3 -1
  104. package/dist/components/search.js +1500 -1534
  105. package/dist/components/search.min.css +2 -2
  106. package/dist/components/search.min.js +1 -1
  107. package/dist/components/segment.css +3 -1
  108. package/dist/components/segment.min.css +2 -2
  109. package/dist/components/shape.css +1 -1
  110. package/dist/components/shape.js +794 -809
  111. package/dist/components/shape.min.css +1 -1
  112. package/dist/components/shape.min.js +1 -1
  113. package/dist/components/sidebar.css +3 -1
  114. package/dist/components/sidebar.js +1079 -1104
  115. package/dist/components/sidebar.min.css +2 -2
  116. package/dist/components/sidebar.min.js +1 -1
  117. package/dist/components/site.css +1 -1
  118. package/dist/components/site.js +457 -472
  119. package/dist/components/site.min.css +1 -1
  120. package/dist/components/site.min.js +1 -1
  121. package/dist/components/slider.js +1289 -1311
  122. package/dist/components/slider.min.js +1 -1
  123. package/dist/components/state.js +641 -657
  124. package/dist/components/state.min.js +1 -1
  125. package/dist/components/statistic.css +1 -1
  126. package/dist/components/statistic.min.css +1 -1
  127. package/dist/components/step.css +1 -1
  128. package/dist/components/step.min.css +1 -1
  129. package/dist/components/sticky.css +1 -1
  130. package/dist/components/sticky.js +859 -903
  131. package/dist/components/sticky.min.css +1 -1
  132. package/dist/components/sticky.min.js +1 -1
  133. package/dist/components/tab.css +1 -1
  134. package/dist/components/tab.js +923 -963
  135. package/dist/components/tab.min.css +1 -1
  136. package/dist/components/tab.min.js +1 -1
  137. package/dist/components/table.css +5 -1
  138. package/dist/components/table.min.css +2 -2
  139. package/dist/components/text.css +1 -1
  140. package/dist/components/text.min.css +1 -1
  141. package/dist/components/toast.css +1 -1
  142. package/dist/components/toast.js +889 -891
  143. package/dist/components/toast.min.css +1 -1
  144. package/dist/components/toast.min.js +1 -1
  145. package/dist/components/transition.css +1 -1
  146. package/dist/components/transition.js +1043 -1077
  147. package/dist/components/transition.min.css +1 -1
  148. package/dist/components/transition.min.js +1 -1
  149. package/dist/components/visibility.js +1222 -1244
  150. package/dist/components/visibility.min.js +1 -1
  151. package/dist/semantic.css +84 -60
  152. package/dist/semantic.js +29033 -29475
  153. package/dist/semantic.min.css +2 -2
  154. package/dist/semantic.min.js +2 -2
  155. package/examples/assets/show-examples.js +13 -13
  156. package/gulpfile.js +9 -10
  157. package/package.json +5 -2
  158. package/scripts/nightly-version.js +81 -75
  159. package/src/definitions/behaviors/api.js +1163 -1185
  160. package/src/definitions/behaviors/form.js +1980 -2003
  161. package/src/definitions/behaviors/state.js +647 -663
  162. package/src/definitions/behaviors/visibility.js +1221 -1243
  163. package/src/definitions/collections/table.less +2 -0
  164. package/src/definitions/elements/container.less +1 -0
  165. package/src/definitions/elements/segment.less +1 -0
  166. package/src/definitions/globals/site.js +456 -471
  167. package/src/definitions/modules/accordion.js +570 -597
  168. package/src/definitions/modules/calendar.js +1896 -1817
  169. package/src/definitions/modules/checkbox.js +849 -846
  170. package/src/definitions/modules/dimmer.js +709 -736
  171. package/src/definitions/modules/dropdown.js +4162 -4233
  172. package/src/definitions/modules/dropdown.less +5 -8
  173. package/src/definitions/modules/embed.js +652 -674
  174. package/src/definitions/modules/flyout.js +1465 -1466
  175. package/src/definitions/modules/flyout.less +15 -12
  176. package/src/definitions/modules/modal.js +1492 -1486
  177. package/src/definitions/modules/modal.less +3 -0
  178. package/src/definitions/modules/nag.js +519 -528
  179. package/src/definitions/modules/popup.js +1438 -1455
  180. package/src/definitions/modules/progress.js +970 -996
  181. package/src/definitions/modules/rating.js +507 -523
  182. package/src/definitions/modules/search.js +1499 -1533
  183. package/src/definitions/modules/search.less +1 -0
  184. package/src/definitions/modules/shape.js +801 -816
  185. package/src/definitions/modules/sidebar.js +1078 -1103
  186. package/src/definitions/modules/sidebar.less +1 -0
  187. package/src/definitions/modules/slider.js +1288 -1310
  188. package/src/definitions/modules/sticky.js +875 -919
  189. package/src/definitions/modules/tab.js +922 -962
  190. package/src/definitions/modules/toast.js +888 -890
  191. package/src/definitions/modules/transition.js +1048 -1082
  192. package/src/themes/default/elements/container.variables +0 -7
  193. package/src/themes/default/elements/segment.variables +0 -7
  194. package/src/themes/default/globals/site.variables +7 -0
  195. package/src/themes/default/globals/variation.variables +1 -0
  196. package/tasks/admin/components/create.js +274 -276
  197. package/tasks/admin/components/init.js +123 -130
  198. package/tasks/admin/components/update.js +149 -157
  199. package/tasks/admin/distributions/create.js +184 -187
  200. package/tasks/admin/distributions/init.js +123 -130
  201. package/tasks/admin/distributions/update.js +145 -152
  202. package/tasks/admin/publish.js +5 -7
  203. package/tasks/admin/register.js +36 -38
  204. package/tasks/admin/release.js +8 -10
  205. package/tasks/build/assets.js +42 -39
  206. package/tasks/build/css.js +225 -216
  207. package/tasks/build/javascript.js +118 -113
  208. package/tasks/build.js +10 -10
  209. package/tasks/check-install.js +14 -16
  210. package/tasks/clean.js +5 -5
  211. package/tasks/collections/admin.js +34 -36
  212. package/tasks/collections/build.js +18 -20
  213. package/tasks/collections/docs.js +9 -11
  214. package/tasks/collections/install.js +9 -11
  215. package/tasks/collections/rtl.js +9 -11
  216. package/tasks/collections/various.js +8 -10
  217. package/tasks/config/admin/github.js +17 -17
  218. package/tasks/config/admin/oauth.example.js +4 -4
  219. package/tasks/config/admin/release.js +98 -98
  220. package/tasks/config/admin/templates/component-package.js +9 -10
  221. package/tasks/config/admin/templates/css-package.js +18 -20
  222. package/tasks/config/admin/templates/less-package.js +11 -13
  223. package/tasks/config/defaults.js +116 -116
  224. package/tasks/config/docs.js +23 -23
  225. package/tasks/config/npm/gulpfile.js +8 -9
  226. package/tasks/config/project/config.js +127 -134
  227. package/tasks/config/project/install.js +715 -713
  228. package/tasks/config/project/release.js +32 -38
  229. package/tasks/config/tasks.js +163 -164
  230. package/tasks/config/user.js +23 -29
  231. package/tasks/docs/build.js +97 -95
  232. package/tasks/docs/metadata.js +90 -96
  233. package/tasks/docs/serve.js +80 -81
  234. package/tasks/install.js +370 -378
  235. package/tasks/rtl/build.js +2 -2
  236. package/tasks/rtl/watch.js +2 -2
  237. package/tasks/version.js +4 -4
  238. package/tasks/watch.js +28 -30
  239. package/test/meteor/assets.js +10 -13
  240. package/test/meteor/fonts.js +12 -13
  241. package/test/modules/accordion.spec.js +6 -8
  242. package/test/modules/checkbox.spec.js +5 -7
  243. package/test/modules/dropdown.spec.js +5 -7
  244. package/test/modules/modal.spec.js +6 -8
  245. package/test/modules/module.spec.js +158 -178
  246. package/test/modules/popup.spec.js +5 -7
  247. package/test/modules/search.spec.js +5 -7
  248. package/test/modules/shape.spec.js +5 -7
  249. package/test/modules/sidebar.spec.js +5 -7
  250. package/test/modules/tab.spec.js +6 -8
  251. package/test/modules/transition.spec.js +5 -7
  252. package/test/modules/video.spec.js +5 -7
@@ -51,13 +51,6 @@
51
51
  @computerVeryRelaxedGridWidth: e(%("calc(%d + %d)", @computerWidth, @veryRelaxedGridGutterWidth));
52
52
  @largeMonitorVeryRelaxedGridWidth: e(%("calc(%d + %d)", @largeMonitorWidth, @veryRelaxedGridGutterWidth));
53
53
 
54
- /*-------------------
55
- Scrolling
56
- --------------------*/
57
- @scrollingMobileMaxHeight: 15em;
58
- @scrollingTabletMaxHeight: 18em;
59
- @scrollingComputerMaxHeight: 24em;
60
- @scrollingWidescreenMaxHeight: 30em;
61
54
 
62
55
  /*-------------------
63
56
  Types
@@ -154,10 +154,3 @@
154
154
  ;
155
155
  @tertiaryInvertedColor: @invertedMutedTextColor;
156
156
 
157
- /*-------------------
158
- Scrolling
159
- --------------------*/
160
- @scrollingMobileMaxHeight: 15em;
161
- @scrollingTabletMaxHeight: 18em;
162
- @scrollingComputerMaxHeight: 24em;
163
- @scrollingWidescreenMaxHeight: 30em;
@@ -275,6 +275,13 @@
275
275
  @trackInvertedBackgroundHex: #323232;
276
276
  @thumbInvertedBackgroundHex: #656565;
277
277
 
278
+ /* Scrolling */
279
+ @scrollingMobileMaxHeight: 15em;
280
+ @scrollingTabletMaxHeight: 18em;
281
+ @scrollingComputerMaxHeight: 24em;
282
+ @scrollingWidescreenMaxHeight: 30em;
283
+ @overscrollBehavior: none;
284
+
278
285
  /*-------------------
279
286
  Highlighted Text
280
287
  --------------------*/
@@ -572,6 +572,7 @@
572
572
  @variationFlyoutLeft: true;
573
573
  @variationFlyoutRight: true;
574
574
  @variationFlyoutOverlay: true;
575
+ @variationFlyoutScrolling: true;
575
576
 
576
577
  /* Modal */
577
578
  @variationModalInverted: true;
@@ -15,305 +15,303 @@
15
15
  */
16
16
 
17
17
  var
18
- gulp = require('gulp'),
18
+ gulp = require('gulp'),
19
19
 
20
- // node dependencies
21
- fs = require('fs'),
22
- path = require('path'),
20
+ // node dependencies
21
+ fs = require('fs'),
22
+ path = require('path'),
23
23
 
24
- // admin dependencies
25
- concatFileNames = require('gulp-concat-filenames'),
26
- flatten = require('gulp-flatten'),
27
- jsonEditor = require('gulp-json-editor'),
28
- plumber = require('gulp-plumber'),
29
- rename = require('gulp-rename'),
30
- replace = require('gulp-replace'),
31
- tap = require('gulp-tap'),
24
+ // admin dependencies
25
+ concatFileNames = require('gulp-concat-filenames'),
26
+ flatten = require('gulp-flatten'),
27
+ jsonEditor = require('gulp-json-editor'),
28
+ plumber = require('gulp-plumber'),
29
+ rename = require('gulp-rename'),
30
+ replace = require('gulp-replace'),
31
+ tap = require('gulp-tap'),
32
32
 
33
- // config
34
- config = require('../../config/user'),
35
- release = require('../../config/admin/release'),
36
- project = require('../../config/project/release'),
37
-
38
- // shorthand
39
- version = project.version,
40
- output = config.paths.output
33
+ // config
34
+ config = require('../../config/user'),
35
+ release = require('../../config/admin/release'),
36
+ project = require('../../config/project/release'),
41
37
 
38
+ // shorthand
39
+ version = project.version,
40
+ output = config.paths.output
42
41
  ;
43
42
 
44
-
45
- module.exports = function(callback) {
46
- var
47
- stream,
48
- index,
49
- tasks = []
50
- ;
51
-
52
- for(index in release.components) {
53
-
43
+ module.exports = function (callback) {
54
44
  var
55
- component = release.components[index]
45
+ stream,
46
+ index,
47
+ tasks = []
56
48
  ;
57
49
 
58
- // streams... designed to save time and make coding fun...
59
- (function(component) {
60
-
61
- var
62
- outputDirectory = path.join(release.outputRoot, component),
63
- isJavascript = fs.existsSync(output.compressed + component + '.js'),
64
- isCSS = fs.existsSync(output.compressed + component + '.css'),
65
- capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1),
66
- packageName = release.packageRoot + component,
67
- repoName = release.componentRepoRoot + capitalizedComponent,
68
- gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git',
69
- repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
70
- concatSettings = {
71
- newline : '',
72
- root : outputDirectory,
73
- prepend : " '",
74
- append : "',"
75
- },
76
- regExp = {
77
- match : {
78
- // templated values
79
- name : '{component}',
80
- titleName : '{Component}',
81
- version : '{version}',
82
- files : '{files}',
83
- // release notes
84
- spacedVersions : /(###.*\n)\n+(?=###)/gm,
85
- spacedLists : /(^- .*\n)\n+(?=^-)/gm,
86
- trim : /^\s+|\s+$/g,
87
- unrelatedNotes : new RegExp('^((?!(^.*(' + component + ').*$|###.*)).)*$', 'gmi'),
88
- whitespace : /\n\s*\n\s*\n/gm,
89
- // npm
90
- componentExport : /(.*)\$\.fn\.\w+\s*=\s*function\(([^\)]*)\)\s*{/g,
91
- componentReference: '$.fn.' + component,
92
- settingsExport : /\$\.fn\.\w+\.settings\s*=/g,
93
- settingsReference : /\$\.fn\.\w+\.settings/g,
94
- trailingComma : /,(?=[^,]*$)/,
95
- jQuery : /jQuery/g,
96
- },
97
- replace : {
98
- // readme
99
- name : component,
100
- titleName : capitalizedComponent,
101
- // release notes
102
- spacedVersions : '',
103
- spacedLists : '$1',
104
- trim : '',
105
- unrelatedNotes : '',
106
- whitespace : '\n\n',
107
- // npm
108
- componentExport : 'var _module = module;\n$1module.exports = function($2) {',
109
- componentReference: '_module.exports',
110
- settingsExport : 'module.exports.settings =',
111
- settingsReference : '_module.exports.settings',
112
- jQuery : 'require("jquery")'
113
- }
114
- },
115
- task = {
116
- all : component + ' creating',
117
- repo : component + ' create repo',
118
- bower : component + ' create bower.json',
119
- readme : component + ' create README',
120
- npm : component + ' create NPM Module',
121
- notes : component + ' create release notes',
122
- composer : component + ' create composer.json',
123
- package : component + ' create package.json',
124
- meteor : component + ' create meteor package.js',
125
- },
126
- // paths to includable assets
127
- manifest = {
128
- assets : outputDirectory + '/assets/**/' + component + '?(s).*',
129
- component : outputDirectory + '/' + component + '+(.js|.css)'
130
- }
131
- ;
132
-
133
- // copy dist files into output folder adjusting asset paths
134
- function copyDist() {
135
- return gulp.src(release.source + component + '.*')
136
- .pipe(plumber())
137
- .pipe(flatten())
138
- .pipe(replace(release.paths.source, release.paths.output))
139
- .pipe(gulp.dest(outputDirectory))
140
- ;
141
- }
50
+ for (index in release.components) {
51
+ var
52
+ component = release.components[index]
53
+ ;
142
54
 
143
- // create npm module
144
- function createNpmModule() {
145
- return gulp.src(release.source + component + '!(*.min|*.map).js')
146
- .pipe(plumber())
147
- .pipe(flatten())
148
- .pipe(replace(regExp.match.componentExport, regExp.replace.componentExport))
149
- .pipe(replace(regExp.match.componentReference, regExp.replace.componentReference))
150
- .pipe(replace(regExp.match.settingsExport, regExp.replace.settingsExport))
151
- .pipe(replace(regExp.match.settingsReference, regExp.replace.settingsReference))
152
- .pipe(replace(regExp.match.jQuery, regExp.replace.jQuery))
153
- .pipe(rename('index.js'))
154
- .pipe(gulp.dest(outputDirectory))
155
- ;
156
- }
55
+ // streams... designed to save time and make coding fun...
56
+ (function (component) {
57
+ var
58
+ outputDirectory = path.join(release.outputRoot, component),
59
+ isJavascript = fs.existsSync(output.compressed + component + '.js'),
60
+ isCSS = fs.existsSync(output.compressed + component + '.css'),
61
+ capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1),
62
+ packageName = release.packageRoot + component,
63
+ repoName = release.componentRepoRoot + capitalizedComponent,
64
+ gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git',
65
+ repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
66
+ concatSettings = {
67
+ newline: '',
68
+ root: outputDirectory,
69
+ prepend: " '",
70
+ append: "',",
71
+ },
72
+ regExp = {
73
+ match: {
74
+ // templated values
75
+ name: '{component}',
76
+ titleName: '{Component}',
77
+ version: '{version}',
78
+ files: '{files}',
79
+ // release notes
80
+ spacedVersions: /(###.*\n)\n+(?=###)/gm,
81
+ spacedLists: /(^- .*\n)\n+(?=^-)/gm,
82
+ trim: /^\s+|\s+$/g,
83
+ unrelatedNotes: new RegExp('^((?!(^.*(' + component + ').*$|###.*)).)*$', 'gmi'),
84
+ whitespace: /\n\s*\n\s*\n/gm,
85
+ // npm
86
+ componentExport: /(.*)\$\.fn\.\w+\s*=\s*function\(([^\)]*)\)\s*{/g,
87
+ componentReference: '$.fn.' + component,
88
+ settingsExport: /\$\.fn\.\w+\.settings\s*=/g,
89
+ settingsReference: /\$\.fn\.\w+\.settings/g,
90
+ trailingComma: /,(?=[^,]*$)/,
91
+ jQuery: /jQuery/g,
92
+ },
93
+ replace: {
94
+ // readme
95
+ name: component,
96
+ titleName: capitalizedComponent,
97
+ // release notes
98
+ spacedVersions: '',
99
+ spacedLists: '$1',
100
+ trim: '',
101
+ unrelatedNotes: '',
102
+ whitespace: '\n\n',
103
+ // npm
104
+ componentExport: 'var _module = module;\n$1module.exports = function($2) {',
105
+ componentReference: '_module.exports',
106
+ settingsExport: 'module.exports.settings =',
107
+ settingsReference: '_module.exports.settings',
108
+ jQuery: 'require("jquery")',
109
+ },
110
+ },
111
+ task = {
112
+ all: component + ' creating',
113
+ repo: component + ' create repo',
114
+ bower: component + ' create bower.json',
115
+ readme: component + ' create README',
116
+ npm: component + ' create NPM Module',
117
+ notes: component + ' create release notes',
118
+ composer: component + ' create composer.json',
119
+ package: component + ' create package.json',
120
+ meteor: component + ' create meteor package.js',
121
+ },
122
+ // paths to includable assets
123
+ manifest = {
124
+ assets: outputDirectory + '/assets/**/' + component + '?(s).*',
125
+ component: outputDirectory + '/' + component + '+(.js|.css)',
126
+ }
127
+ ;
157
128
 
158
- // create readme
159
- function createReadme() {
160
- return gulp.src(release.templates.readme)
161
- .pipe(plumber())
162
- .pipe(flatten())
163
- .pipe(replace(regExp.match.name, regExp.replace.name))
164
- .pipe(replace(regExp.match.titleName, regExp.replace.titleName))
165
- .pipe(gulp.dest(outputDirectory))
166
- ;
167
- }
129
+ // copy dist files into output folder adjusting asset paths
130
+ function copyDist() {
131
+ return gulp.src(release.source + component + '.*')
132
+ .pipe(plumber())
133
+ .pipe(flatten())
134
+ .pipe(replace(release.paths.source, release.paths.output))
135
+ .pipe(gulp.dest(outputDirectory))
136
+ ;
137
+ }
168
138
 
169
- // extend bower.json
170
- function extendBower() {
171
- return gulp.src(release.templates.bower)
172
- .pipe(plumber())
173
- .pipe(flatten())
174
- .pipe(jsonEditor(function(bower) {
175
- bower.name = packageName;
176
- bower.description = capitalizedComponent + ' - Semantic UI';
177
- if(isJavascript) {
178
- if(isCSS) {
179
- bower.main = [
180
- component + '.js',
181
- component + '.css'
182
- ];
183
- }
184
- else {
185
- bower.main = [
186
- component + '.js'
187
- ];
188
- }
189
- bower.dependencies = {
190
- jquery: '>=1.8'
191
- };
139
+ // create npm module
140
+ function createNpmModule() {
141
+ return gulp.src(release.source + component + '!(*.min|*.map).js')
142
+ .pipe(plumber())
143
+ .pipe(flatten())
144
+ .pipe(replace(regExp.match.componentExport, regExp.replace.componentExport))
145
+ .pipe(replace(regExp.match.componentReference, regExp.replace.componentReference))
146
+ .pipe(replace(regExp.match.settingsExport, regExp.replace.settingsExport))
147
+ .pipe(replace(regExp.match.settingsReference, regExp.replace.settingsReference))
148
+ .pipe(replace(regExp.match.jQuery, regExp.replace.jQuery))
149
+ .pipe(rename('index.js'))
150
+ .pipe(gulp.dest(outputDirectory))
151
+ ;
192
152
  }
193
- else {
194
- bower.main = [
195
- component + '.css'
196
- ];
153
+
154
+ // create readme
155
+ function createReadme() {
156
+ return gulp.src(release.templates.readme)
157
+ .pipe(plumber())
158
+ .pipe(flatten())
159
+ .pipe(replace(regExp.match.name, regExp.replace.name))
160
+ .pipe(replace(regExp.match.titleName, regExp.replace.titleName))
161
+ .pipe(gulp.dest(outputDirectory))
162
+ ;
197
163
  }
198
- return bower;
199
- }))
200
- .pipe(gulp.dest(outputDirectory))
201
- ;
202
- }
203
164
 
204
- // extend package.json
205
- function extendPackage() {
206
- return gulp.src(release.templates.package)
207
- .pipe(plumber())
208
- .pipe(flatten())
209
- .pipe(jsonEditor(function(npm) {
210
- if(isJavascript) {
211
- npm.dependencies = {
212
- jquery: 'x.x.x'
213
- };
214
- npm.main = 'index.js';
165
+ // extend bower.json
166
+ function extendBower() {
167
+ return gulp.src(release.templates.bower)
168
+ .pipe(plumber())
169
+ .pipe(flatten())
170
+ .pipe(jsonEditor(function (bower) {
171
+ bower.name = packageName;
172
+ bower.description = capitalizedComponent + ' - Semantic UI';
173
+ if (isJavascript) {
174
+ if (isCSS) {
175
+ bower.main = [
176
+ component + '.js',
177
+ component + '.css',
178
+ ];
179
+ } else {
180
+ bower.main = [
181
+ component + '.js',
182
+ ];
183
+ }
184
+ bower.dependencies = {
185
+ jquery: '>=1.8',
186
+ };
187
+ } else {
188
+ bower.main = [
189
+ component + '.css',
190
+ ];
191
+ }
192
+
193
+ return bower;
194
+ }))
195
+ .pipe(gulp.dest(outputDirectory))
196
+ ;
215
197
  }
216
- npm.name = packageName;
217
- if(version) {
218
- npm.version = version;
198
+
199
+ // extend package.json
200
+ function extendPackage() {
201
+ return gulp.src(release.templates.package)
202
+ .pipe(plumber())
203
+ .pipe(flatten())
204
+ .pipe(jsonEditor(function (npm) {
205
+ if (isJavascript) {
206
+ npm.dependencies = {
207
+ jquery: 'x.x.x',
208
+ };
209
+ npm.main = 'index.js';
210
+ }
211
+ npm.name = packageName;
212
+ if (version) {
213
+ npm.version = version;
214
+ }
215
+ npm.title = 'Semantic UI - ' + capitalizedComponent;
216
+ npm.description = 'Single component release of ' + component;
217
+ npm.repository = {
218
+ type: 'git',
219
+ url: gitURL,
220
+ };
221
+
222
+ return npm;
223
+ }))
224
+ .pipe(gulp.dest(outputDirectory))
225
+ ;
219
226
  }
220
- npm.title = 'Semantic UI - ' + capitalizedComponent;
221
- npm.description = 'Single component release of ' + component;
222
- npm.repository = {
223
- type : 'git',
224
- url : gitURL
225
- };
226
- return npm;
227
- }))
228
- .pipe(gulp.dest(outputDirectory))
229
- ;
230
- }
231
227
 
232
- // extend composer.json
233
- function extendComposer(){
234
- return gulp.src(release.templates.composer)
235
- .pipe(plumber())
236
- .pipe(flatten())
237
- .pipe(jsonEditor(function(composer) {
238
- if(isJavascript) {
239
- composer.dependencies = {
240
- jquery: 'x.x.x'
241
- };
242
- composer.main = component + '.js';
228
+ // extend composer.json
229
+ function extendComposer() {
230
+ return gulp.src(release.templates.composer)
231
+ .pipe(plumber())
232
+ .pipe(flatten())
233
+ .pipe(jsonEditor(function (composer) {
234
+ if (isJavascript) {
235
+ composer.dependencies = {
236
+ jquery: 'x.x.x',
237
+ };
238
+ composer.main = component + '.js';
239
+ }
240
+ composer.name = 'semantic/' + component;
241
+ if (version) {
242
+ composer.version = version;
243
+ }
244
+ composer.description = 'Single component release of ' + component;
245
+
246
+ return composer;
247
+ }))
248
+ .pipe(gulp.dest(outputDirectory))
249
+ ;
243
250
  }
244
- composer.name = 'semantic/' + component;
245
- if(version) {
246
- composer.version = version;
251
+
252
+ // create release notes
253
+ function createReleaseNotes() {
254
+ return gulp.src(release.templates.notes)
255
+ .pipe(plumber())
256
+ .pipe(flatten())
257
+ // Remove release notes for lines not mentioning component
258
+ .pipe(replace(regExp.match.unrelatedNotes, regExp.replace.unrelatedNotes))
259
+ .pipe(replace(regExp.match.whitespace, regExp.replace.whitespace))
260
+ .pipe(replace(regExp.match.spacedVersions, regExp.replace.spacedVersions))
261
+ .pipe(replace(regExp.match.spacedLists, regExp.replace.spacedLists))
262
+ .pipe(replace(regExp.match.trim, regExp.replace.trim))
263
+ .pipe(gulp.dest(outputDirectory))
264
+ ;
247
265
  }
248
- composer.description = 'Single component release of ' + component;
249
- return composer;
250
- }))
251
- .pipe(gulp.dest(outputDirectory))
252
- ;
253
- }
254
266
 
255
- // create release notes
256
- function createReleaseNotes() {
257
- return gulp.src(release.templates.notes)
258
- .pipe(plumber())
259
- .pipe(flatten())
260
- // Remove release notes for lines not mentioning component
261
- .pipe(replace(regExp.match.unrelatedNotes, regExp.replace.unrelatedNotes))
262
- .pipe(replace(regExp.match.whitespace, regExp.replace.whitespace))
263
- .pipe(replace(regExp.match.spacedVersions, regExp.replace.spacedVersions))
264
- .pipe(replace(regExp.match.spacedLists, regExp.replace.spacedLists))
265
- .pipe(replace(regExp.match.trim, regExp.replace.trim))
266
- .pipe(gulp.dest(outputDirectory))
267
- ;
268
- }
267
+ // Creates meteor package.js
268
+ function createMeteorPackage() {
269
+ var
270
+ filenames = ''
271
+ ;
269
272
 
270
- // Creates meteor package.js
271
- function createMeteorPackage() {
272
- var
273
- filenames = ''
274
- ;
275
- return gulp.src(manifest.component)
276
- .pipe(concatFileNames('empty.txt', concatSettings))
277
- .pipe(tap(function(file) {
278
- filenames += file.contents;
279
- }))
280
- .on('end', function() {
281
- gulp.src(manifest.assets)
282
- .pipe(concatFileNames('empty.txt', concatSettings))
283
- .pipe(tap(function(file) {
284
- filenames += file.contents;
285
- }))
286
- .on('end', function() {
287
- // remove trailing slash
288
- filenames = filenames.replace(regExp.match.trailingComma, '').trim();
289
- gulp.src(release.templates.meteor.component)
290
- .pipe(plumber())
291
- .pipe(flatten())
292
- .pipe(replace(regExp.match.name, regExp.replace.name))
293
- .pipe(replace(regExp.match.titleName, regExp.replace.titleName))
294
- .pipe(replace(regExp.match.version, version))
295
- .pipe(replace(regExp.match.files, filenames))
296
- .pipe(rename(release.files.meteor))
297
- .pipe(gulp.dest(outputDirectory))
273
+ return gulp.src(manifest.component)
274
+ .pipe(concatFileNames('empty.txt', concatSettings))
275
+ .pipe(tap(function (file) {
276
+ filenames += file.contents;
277
+ }))
278
+ .on('end', function () {
279
+ gulp.src(manifest.assets)
280
+ .pipe(concatFileNames('empty.txt', concatSettings))
281
+ .pipe(tap(function (file) {
282
+ filenames += file.contents;
283
+ }))
284
+ .on('end', function () {
285
+ // remove trailing slash
286
+ filenames = filenames.replace(regExp.match.trailingComma, '').trim();
287
+ gulp.src(release.templates.meteor.component)
288
+ .pipe(plumber())
289
+ .pipe(flatten())
290
+ .pipe(replace(regExp.match.name, regExp.replace.name))
291
+ .pipe(replace(regExp.match.titleName, regExp.replace.titleName))
292
+ .pipe(replace(regExp.match.version, version))
293
+ .pipe(replace(regExp.match.files, filenames))
294
+ .pipe(rename(release.files.meteor))
295
+ .pipe(gulp.dest(outputDirectory))
296
+ ;
297
+ })
298
+ ;
299
+ })
298
300
  ;
299
- })
300
- ;
301
- })
302
- ;
303
- }
301
+ }
304
302
 
305
- tasks.push(gulp.series(
306
- copyDist,
307
- createNpmModule,
308
- extendBower,
309
- createReadme,
310
- extendPackage,
311
- extendComposer,
312
- createReleaseNotes,
313
- createMeteorPackage
314
- ));
315
- })(component);
316
- }
303
+ tasks.push(gulp.series(
304
+ copyDist,
305
+ createNpmModule,
306
+ extendBower,
307
+ createReadme,
308
+ extendPackage,
309
+ extendComposer,
310
+ createReleaseNotes,
311
+ createMeteorPackage
312
+ ));
313
+ })(component);
314
+ }
317
315
 
318
- gulp.series(...tasks)(callback);
316
+ gulp.series(...tasks)(callback);
319
317
  };