fomantic-ui 2.9.1-beta.17 → 2.9.1-beta.19
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.
- package/.eslintrc.js +109 -0
- package/.github/workflows/ci.yml +13 -3
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +569 -598
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +2 -2
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +1161 -1184
- package/dist/components/api.min.js +2 -2
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +1895 -1818
- package/dist/components/calendar.min.css +1 -1
- package/dist/components/calendar.min.js +2 -2
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +842 -841
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +2 -2
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +3 -1
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +1 -1
- package/dist/components/dimmer.js +708 -737
- package/dist/components/dimmer.min.css +1 -1
- package/dist/components/dimmer.min.js +2 -2
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +11 -8
- package/dist/components/dropdown.js +4161 -4238
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +651 -675
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +6 -3
- package/dist/components/flyout.js +1464 -1467
- package/dist/components/flyout.min.css +2 -2
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +1 -1
- package/dist/components/form.js +1979 -2004
- package/dist/components/form.min.css +1 -1
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +7 -1
- package/dist/components/modal.js +1491 -1487
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +518 -529
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +1437 -1456
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +969 -997
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +2 -2
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +505 -523
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +3 -1
- package/dist/components/search.js +1498 -1534
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +3 -1
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +792 -809
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +3 -1
- package/dist/components/sidebar.js +1071 -1098
- package/dist/components/sidebar.min.css +2 -2
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +462 -471
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.js +1287 -1311
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +639 -657
- package/dist/components/state.min.js +2 -2
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +857 -903
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +2 -2
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +922 -963
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +5 -1
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +886 -890
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +1041 -1077
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +1220 -1244
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +84 -60
- package/dist/semantic.js +28949 -29435
- package/dist/semantic.min.css +2 -2
- package/dist/semantic.min.js +2 -2
- package/examples/assets/show-examples.js +13 -13
- package/gulpfile.js +9 -10
- package/package.json +5 -2
- package/scripts/nightly-version.js +81 -75
- package/src/definitions/behaviors/api.js +1162 -1185
- package/src/definitions/behaviors/form.js +1978 -2003
- package/src/definitions/behaviors/state.js +645 -663
- package/src/definitions/behaviors/visibility.js +1219 -1243
- package/src/definitions/collections/table.less +2 -0
- package/src/definitions/elements/container.less +1 -0
- package/src/definitions/elements/segment.less +1 -0
- package/src/definitions/globals/site.js +461 -470
- package/src/definitions/modules/accordion.js +568 -597
- package/src/definitions/modules/calendar.js +1894 -1817
- package/src/definitions/modules/checkbox.js +841 -840
- package/src/definitions/modules/dimmer.js +707 -736
- package/src/definitions/modules/dropdown.js +4160 -4237
- package/src/definitions/modules/dropdown.less +5 -8
- package/src/definitions/modules/embed.js +650 -674
- package/src/definitions/modules/flyout.js +1463 -1466
- package/src/definitions/modules/flyout.less +15 -12
- package/src/definitions/modules/modal.js +1490 -1486
- package/src/definitions/modules/modal.less +3 -0
- package/src/definitions/modules/nag.js +517 -528
- package/src/definitions/modules/popup.js +1436 -1455
- package/src/definitions/modules/progress.js +968 -996
- package/src/definitions/modules/rating.js +504 -522
- package/src/definitions/modules/search.js +1497 -1533
- package/src/definitions/modules/search.less +1 -0
- package/src/definitions/modules/shape.js +791 -808
- package/src/definitions/modules/sidebar.js +1070 -1097
- package/src/definitions/modules/sidebar.less +1 -0
- package/src/definitions/modules/slider.js +1286 -1310
- package/src/definitions/modules/sticky.js +873 -919
- package/src/definitions/modules/tab.js +921 -962
- package/src/definitions/modules/toast.js +885 -889
- package/src/definitions/modules/transition.js +1040 -1076
- package/src/themes/default/elements/container.variables +0 -7
- package/src/themes/default/elements/segment.variables +0 -7
- package/src/themes/default/globals/site.variables +7 -0
- package/src/themes/default/globals/variation.variables +1 -0
- package/tasks/admin/components/create.js +274 -276
- package/tasks/admin/components/init.js +123 -130
- package/tasks/admin/components/update.js +149 -157
- package/tasks/admin/distributions/create.js +184 -187
- package/tasks/admin/distributions/init.js +123 -130
- package/tasks/admin/distributions/update.js +145 -152
- package/tasks/admin/publish.js +5 -7
- package/tasks/admin/register.js +36 -38
- package/tasks/admin/release.js +8 -10
- package/tasks/build/assets.js +42 -39
- package/tasks/build/css.js +225 -216
- package/tasks/build/javascript.js +118 -113
- package/tasks/build.js +10 -10
- package/tasks/check-install.js +14 -16
- package/tasks/clean.js +5 -5
- package/tasks/collections/admin.js +34 -36
- package/tasks/collections/build.js +18 -20
- package/tasks/collections/docs.js +9 -11
- package/tasks/collections/install.js +9 -11
- package/tasks/collections/rtl.js +9 -11
- package/tasks/collections/various.js +8 -10
- package/tasks/config/admin/github.js +17 -17
- package/tasks/config/admin/oauth.example.js +4 -4
- package/tasks/config/admin/release.js +98 -98
- package/tasks/config/admin/templates/component-package.js +9 -10
- package/tasks/config/admin/templates/css-package.js +18 -20
- package/tasks/config/admin/templates/less-package.js +11 -13
- package/tasks/config/defaults.js +116 -116
- package/tasks/config/docs.js +23 -23
- package/tasks/config/npm/gulpfile.js +8 -9
- package/tasks/config/project/config.js +127 -134
- package/tasks/config/project/install.js +715 -713
- package/tasks/config/project/release.js +32 -38
- package/tasks/config/tasks.js +163 -164
- package/tasks/config/user.js +23 -29
- package/tasks/docs/build.js +97 -95
- package/tasks/docs/metadata.js +90 -96
- package/tasks/docs/serve.js +80 -81
- package/tasks/install.js +370 -378
- package/tasks/rtl/build.js +2 -2
- package/tasks/rtl/watch.js +2 -2
- package/tasks/version.js +4 -4
- package/tasks/watch.js +28 -30
- package/test/meteor/assets.js +10 -13
- package/test/meteor/fonts.js +12 -13
- package/test/modules/accordion.spec.js +6 -8
- package/test/modules/checkbox.spec.js +5 -7
- package/test/modules/dropdown.spec.js +5 -7
- package/test/modules/modal.spec.js +6 -8
- package/test/modules/module.spec.js +158 -178
- package/test/modules/popup.spec.js +5 -7
- package/test/modules/search.spec.js +5 -7
- package/test/modules/shape.spec.js +5 -7
- package/test/modules/sidebar.spec.js +5 -7
- package/test/modules/tab.spec.js +6 -8
- package/test/modules/transition.spec.js +5 -7
- package/test/modules/video.spec.js +5 -7
@@ -3,12 +3,12 @@
|
|
3
3
|
*******************************/
|
4
4
|
|
5
5
|
var
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
fs = require('fs'),
|
7
|
+
path = require('path'),
|
8
|
+
defaults = require('../defaults'),
|
9
|
+
release = require('./release'),
|
10
10
|
|
11
|
-
|
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
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
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
|
-
|
70
|
-
|
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
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
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
|
-
|
100
|
-
folder = pathArray[pathArray.length - 1],
|
101
|
-
nextDirectory = path.join(directory, path.sep, '..')
|
88
|
+
config = when.hasConfig()
|
102
89
|
;
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
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
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
};
|
177
|
+
|
178
|
+
// add rtl choice
|
179
|
+
if (answers.rtl) {
|
180
|
+
json.rtl = answers.rtl;
|
114
181
|
}
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
};
|
182
|
+
|
183
|
+
// add permissions
|
184
|
+
if (answers.permission) {
|
185
|
+
json.permission = answers.permission;
|
120
186
|
}
|
121
|
-
|
122
|
-
|
187
|
+
|
188
|
+
// add path to semantic
|
189
|
+
if (answers.semanticRoot) {
|
190
|
+
json.base = path.normalize(answers.semanticRoot);
|
123
191
|
}
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
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
|
-
|
149
|
-
|
207
|
+
|
208
|
+
// add site path
|
209
|
+
if (answers.site) {
|
210
|
+
json.paths.source.site = path.normalize(answers.site + '/');
|
150
211
|
}
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
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
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
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
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
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
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
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
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
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
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
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
|
-
|
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
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
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
|
};
|