aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/theme/.gitignore2
-rw-r--r--packages/theme/README.md11
-rw-r--r--packages/theme/package-lock.json371
-rw-r--r--packages/theme/package.json34
-rw-r--r--packages/theme/src/index.ts17
-rw-r--r--packages/theme/src/themes/dark/index.ts26
-rw-r--r--packages/theme/src/themes/default/index.ts44
-rw-r--r--packages/theme/src/themes/legacy/index.ts38
-rw-r--r--packages/theme/test/index.test.js17
-rw-r--r--packages/theme/tsconfig.json64
-rw-r--r--packages/theme/tslint.json13
-rw-r--r--packages/theme/yarn.lock258
12 files changed, 895 insertions, 0 deletions
diff --git a/packages/theme/.gitignore b/packages/theme/.gitignore
new file mode 100644
index 000000000..d01826a6b
--- /dev/null
+++ b/packages/theme/.gitignore
@@ -0,0 +1,2 @@
1node_modules/
2lib
diff --git a/packages/theme/README.md b/packages/theme/README.md
new file mode 100644
index 000000000..6f9cc406b
--- /dev/null
+++ b/packages/theme/README.md
@@ -0,0 +1,11 @@
1# `theme`
2
3> TODO: description
4
5## Usage
6
7```
8const theme = require('theme');
9
10// TODO: DEMONSTRATE API
11```
diff --git a/packages/theme/package-lock.json b/packages/theme/package-lock.json
new file mode 100644
index 000000000..42e4b7524
--- /dev/null
+++ b/packages/theme/package-lock.json
@@ -0,0 +1,371 @@
1{
2 "name": "@meetfranz/theme",
3 "version": "0.0.1",
4 "lockfileVersion": 1,
5 "requires": true,
6 "dependencies": {
7 "@babel/code-frame": {
8 "version": "7.0.0",
9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
10 "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
11 "dev": true,
12 "requires": {
13 "@babel/highlight": "^7.0.0"
14 }
15 },
16 "@babel/core": {
17 "version": "7.2.2",
18 "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz",
19 "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==",
20 "dev": true,
21 "requires": {
22 "@babel/code-frame": "^7.0.0",
23 "@babel/generator": "^7.2.2",
24 "@babel/helpers": "^7.2.0",
25 "@babel/parser": "^7.2.2",
26 "@babel/template": "^7.2.2",
27 "@babel/traverse": "^7.2.2",
28 "@babel/types": "^7.2.2",
29 "convert-source-map": "^1.1.0",
30 "debug": "^4.1.0",
31 "json5": "^2.1.0",
32 "lodash": "^4.17.10",
33 "resolve": "^1.3.2",
34 "semver": "^5.4.1",
35 "source-map": "^0.5.0"
36 }
37 },
38 "@babel/generator": {
39 "version": "7.2.2",
40 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz",
41 "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==",
42 "dev": true,
43 "requires": {
44 "@babel/types": "^7.2.2",
45 "jsesc": "^2.5.1",
46 "lodash": "^4.17.10",
47 "source-map": "^0.5.0",
48 "trim-right": "^1.0.1"
49 }
50 },
51 "@babel/helper-function-name": {
52 "version": "7.1.0",
53 "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
54 "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
55 "dev": true,
56 "requires": {
57 "@babel/helper-get-function-arity": "^7.0.0",
58 "@babel/template": "^7.1.0",
59 "@babel/types": "^7.0.0"
60 }
61 },
62 "@babel/helper-get-function-arity": {
63 "version": "7.0.0",
64 "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
65 "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
66 "dev": true,
67 "requires": {
68 "@babel/types": "^7.0.0"
69 }
70 },
71 "@babel/helper-split-export-declaration": {
72 "version": "7.0.0",
73 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
74 "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
75 "dev": true,
76 "requires": {
77 "@babel/types": "^7.0.0"
78 }
79 },
80 "@babel/helpers": {
81 "version": "7.2.0",
82 "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz",
83 "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==",
84 "dev": true,
85 "requires": {
86 "@babel/template": "^7.1.2",
87 "@babel/traverse": "^7.1.5",
88 "@babel/types": "^7.2.0"
89 }
90 },
91 "@babel/highlight": {
92 "version": "7.0.0",
93 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
94 "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
95 "dev": true,
96 "requires": {
97 "chalk": "^2.0.0",
98 "esutils": "^2.0.2",
99 "js-tokens": "^4.0.0"
100 }
101 },
102 "@babel/parser": {
103 "version": "7.2.3",
104 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz",
105 "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==",
106 "dev": true
107 },
108 "@babel/template": {
109 "version": "7.2.2",
110 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
111 "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
112 "dev": true,
113 "requires": {
114 "@babel/code-frame": "^7.0.0",
115 "@babel/parser": "^7.2.2",
116 "@babel/types": "^7.2.2"
117 }
118 },
119 "@babel/traverse": {
120 "version": "7.2.3",
121 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz",
122 "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==",
123 "dev": true,
124 "requires": {
125 "@babel/code-frame": "^7.0.0",
126 "@babel/generator": "^7.2.2",
127 "@babel/helper-function-name": "^7.1.0",
128 "@babel/helper-split-export-declaration": "^7.0.0",
129 "@babel/parser": "^7.2.3",
130 "@babel/types": "^7.2.2",
131 "debug": "^4.1.0",
132 "globals": "^11.1.0",
133 "lodash": "^4.17.10"
134 }
135 },
136 "@babel/types": {
137 "version": "7.2.2",
138 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz",
139 "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==",
140 "dev": true,
141 "requires": {
142 "esutils": "^2.0.2",
143 "lodash": "^4.17.10",
144 "to-fast-properties": "^2.0.0"
145 }
146 },
147 "@types/color": {
148 "version": "3.0.0",
149 "resolved": "https://registry.npmjs.org/@types/color/-/color-3.0.0.tgz",
150 "integrity": "sha512-5qqtNia+m2I0/85+pd2YzAXaTyKO8j+svirO5aN+XaQJ5+eZ8nx0jPtEWZLxCi50xwYsX10xUHetFzfb1WEs4Q==",
151 "dev": true,
152 "requires": {
153 "@types/color-convert": "*"
154 }
155 },
156 "@types/color-convert": {
157 "version": "1.9.0",
158 "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-1.9.0.tgz",
159 "integrity": "sha512-OKGEfULrvSL2VRbkl/gnjjgbbF7ycIlpSsX7Nkab4MOWi5XxmgBYvuiQ7lcCFY5cPDz7MUNaKgxte2VRmtr4Fg==",
160 "dev": true,
161 "requires": {
162 "@types/color-name": "*"
163 }
164 },
165 "@types/color-name": {
166 "version": "1.1.0",
167 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.0.tgz",
168 "integrity": "sha512-gZ/Rb+MFXF0pXSEQxdRoPMm5jeO3TycjOdvbpbcpHX/B+n9AqaHFe5q6Ga9CsZ7ir/UgIWPfrBzUzn3F19VH/w==",
169 "dev": true
170 },
171 "ansi-styles": {
172 "version": "3.2.1",
173 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
174 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
175 "dev": true,
176 "requires": {
177 "color-convert": "^1.9.0"
178 }
179 },
180 "chalk": {
181 "version": "2.4.1",
182 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
183 "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
184 "dev": true,
185 "requires": {
186 "ansi-styles": "^3.2.1",
187 "escape-string-regexp": "^1.0.5",
188 "supports-color": "^5.3.0"
189 }
190 },
191 "color": {
192 "version": "3.1.0",
193 "resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz",
194 "integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==",
195 "requires": {
196 "color-convert": "^1.9.1",
197 "color-string": "^1.5.2"
198 }
199 },
200 "color-convert": {
201 "version": "1.9.3",
202 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
203 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
204 "requires": {
205 "color-name": "1.1.3"
206 }
207 },
208 "color-name": {
209 "version": "1.1.3",
210 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
211 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
212 },
213 "color-string": {
214 "version": "1.5.3",
215 "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
216 "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
217 "requires": {
218 "color-name": "^1.0.0",
219 "simple-swizzle": "^0.2.2"
220 }
221 },
222 "convert-source-map": {
223 "version": "1.6.0",
224 "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
225 "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
226 "dev": true,
227 "requires": {
228 "safe-buffer": "~5.1.1"
229 }
230 },
231 "debug": {
232 "version": "4.1.1",
233 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
234 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
235 "dev": true,
236 "requires": {
237 "ms": "^2.1.1"
238 }
239 },
240 "escape-string-regexp": {
241 "version": "1.0.5",
242 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
243 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
244 "dev": true
245 },
246 "esutils": {
247 "version": "2.0.2",
248 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
249 "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
250 "dev": true
251 },
252 "globals": {
253 "version": "11.9.0",
254 "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz",
255 "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==",
256 "dev": true
257 },
258 "has-flag": {
259 "version": "3.0.0",
260 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
261 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
262 "dev": true
263 },
264 "is-arrayish": {
265 "version": "0.3.2",
266 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
267 "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
268 },
269 "js-tokens": {
270 "version": "4.0.0",
271 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
272 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
273 "dev": true
274 },
275 "jsesc": {
276 "version": "2.5.2",
277 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
278 "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
279 "dev": true
280 },
281 "json5": {
282 "version": "2.1.0",
283 "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
284 "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
285 "dev": true,
286 "requires": {
287 "minimist": "^1.2.0"
288 }
289 },
290 "lodash": {
291 "version": "4.17.11",
292 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
293 "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
294 "dev": true
295 },
296 "minimist": {
297 "version": "1.2.0",
298 "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
299 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
300 "dev": true
301 },
302 "ms": {
303 "version": "2.1.1",
304 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
305 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
306 "dev": true
307 },
308 "path-parse": {
309 "version": "1.0.6",
310 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
311 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
312 "dev": true
313 },
314 "resolve": {
315 "version": "1.9.0",
316 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz",
317 "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==",
318 "dev": true,
319 "requires": {
320 "path-parse": "^1.0.6"
321 }
322 },
323 "safe-buffer": {
324 "version": "5.1.2",
325 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
326 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
327 "dev": true
328 },
329 "semver": {
330 "version": "5.6.0",
331 "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
332 "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
333 "dev": true
334 },
335 "simple-swizzle": {
336 "version": "0.2.2",
337 "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
338 "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
339 "requires": {
340 "is-arrayish": "^0.3.1"
341 }
342 },
343 "source-map": {
344 "version": "0.5.7",
345 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
346 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
347 "dev": true
348 },
349 "supports-color": {
350 "version": "5.5.0",
351 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
352 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
353 "dev": true,
354 "requires": {
355 "has-flag": "^3.0.0"
356 }
357 },
358 "to-fast-properties": {
359 "version": "2.0.0",
360 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
361 "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
362 "dev": true
363 },
364 "trim-right": {
365 "version": "1.0.1",
366 "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
367 "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
368 "dev": true
369 }
370 }
371}
diff --git a/packages/theme/package.json b/packages/theme/package.json
new file mode 100644
index 000000000..c07eee950
--- /dev/null
+++ b/packages/theme/package.json
@@ -0,0 +1,34 @@
1{
2 "name": "@meetfranz/theme",
3 "version": "1.0.0",
4 "description": "Theme configuration for Franz",
5 "author": "Stefan Malzner <stefan@adlk.io>",
6 "homepage": "https://github.com/meetfranz/franz",
7 "license": "Apache-2.0",
8 "main": "lib/index.js",
9 "files": [
10 "lib/**/*"
11 ],
12 "publishConfig": {
13 "access": "public"
14 },
15 "repository": {
16 "type": "git",
17 "url": "git+https://github.com/meetfranz/franz.git"
18 },
19 "scripts": {
20 "dev": "tsc -w",
21 "prepare": "tsc",
22 "preprepare": "npm run test",
23 "test": "npx mocha"
24 },
25 "bugs": {
26 "url": "https://github.com/meetfranz/franz/issues"
27 },
28 "dependencies": {
29 "color": "^3.1.0"
30 },
31 "devDependencies": {
32 "@types/color": "^3.0.0"
33 }
34}
diff --git a/packages/theme/src/index.ts b/packages/theme/src/index.ts
new file mode 100644
index 000000000..35dad298c
--- /dev/null
+++ b/packages/theme/src/index.ts
@@ -0,0 +1,17 @@
1enum Themes {
2 default = 'default',
3 dark = 'dark',
4}
5
6import * as darkThemeConfig from './themes/dark';
7import * as defaultThemeConfig from './themes/default';
8
9export default (themeId: Themes) => {
10 if (themeId === Themes.dark) {
11 return Object.assign({}, defaultThemeConfig, darkThemeConfig);
12 }
13
14 return Object.assign({}, defaultThemeConfig);
15};
16
17export type Theme = typeof defaultThemeConfig;
diff --git a/packages/theme/src/themes/dark/index.ts b/packages/theme/src/themes/dark/index.ts
new file mode 100644
index 000000000..7eac5a3c3
--- /dev/null
+++ b/packages/theme/src/themes/dark/index.ts
@@ -0,0 +1,26 @@
1import color from 'color';
2
3import * as legacyStyles from '../legacy';
4
5export const colorBackground = legacyStyles.darkThemeGrayDarkest;
6export const colorContentBackground = legacyStyles.darkThemeGrayDarkest;
7export const colorBackgroundSubscriptionContainer = legacyStyles.themeBrandInfo;
8
9export const colorHeadline = legacyStyles.darkThemeTextColor;
10export const colorText = legacyStyles.darkThemeTextColor;
11
12// Loader
13export const colorFullscreenLoaderSpinner = '#FFF';
14export const colorWebviewLoaderBackground = color(legacyStyles.darkThemeGrayDarkest).alpha(0.5).rgb().string();
15
16// Input
17export const labelColor = legacyStyles.darkThemeTextColor;
18export const inputColor = legacyStyles.darkThemeGrayLightest;
19export const inputBackground = legacyStyles.themeGrayDark;
20export const inputBorder = `1px solid ${legacyStyles.darkThemeGrayLight}`;
21export const inputPrefixColor = color(legacyStyles.darkThemeGrayLighter).lighten(0.3).hex();
22export const inputPrefixBackground = legacyStyles.darkThemeGray;
23export const inputDisabledOpacity = 0.5;
24export const inputScorePasswordBackground = legacyStyles.darkThemeGrayDark;
25export const inputModifierColor = color(legacyStyles.darkThemeGrayLighter).lighten(0.3).hex();
26export const inputPlaceholderColor = color(legacyStyles.darkThemeGrayLighter).darken(0.1).hex();
diff --git a/packages/theme/src/themes/default/index.ts b/packages/theme/src/themes/default/index.ts
new file mode 100644
index 000000000..b22730413
--- /dev/null
+++ b/packages/theme/src/themes/default/index.ts
@@ -0,0 +1,44 @@
1import color from 'color';
2
3import * as legacyStyles from '../legacy';
4
5export const brandPrimary = '#3498db';
6export const brandSuccess = '#5cb85c';
7export const brandInfo = '#5bc0de';
8export const brandWarning = '#FF9F00';
9export const brandDanger = '#d9534f';
10
11export const borderRadius = legacyStyles.themeBorderRadius;
12export const borderRadiusSmall = legacyStyles.themeBorderRadiusSmall;
13
14export const colorBackground = legacyStyles.themeGrayLighter;
15export const colorContentBackground = '#FFFFFF';
16export const colorHeadline = legacyStyles.themeGrayDark;
17
18export const colorText = legacyStyles.themeTextColor;
19
20// Subscription Container Component
21export const colorSubscriptionContainerBackground = 'none';
22export const colorSubscriptionContainerBorder = `1px solid ${brandPrimary}`;
23export const colorSubscriptionContainerTitle = brandPrimary;
24export const colorSubscriptionContainerActionButtonBackground = brandPrimary;
25export const colorSubscriptionContainerActionButtonColor = '#FFF';
26
27// Loader
28export const colorAppLoaderSpinner = '#FFF';
29export const colorFullscreenLoaderSpinner = legacyStyles.themeGrayDark;
30export const colorWebviewLoaderBackground = color(legacyStyles.themeGrayLighter).alpha(0.8).rgb().string();
31
32// Input
33export const labelColor = legacyStyles.themeGrayLight;
34export const inputColor = legacyStyles.themeGray;
35export const inputHeight = '35px';
36export const inputFontSize = '14px';
37export const inputBackground = legacyStyles.themeGrayLightest;
38export const inputBorder = `1px solid ${legacyStyles.themeGrayLighter}`;
39export const inputModifierColor = legacyStyles.themeGrayLight;
40export const inputPlaceholderColor = color(legacyStyles.themeGrayLight).lighten(0.3).hex();
41export const inputPrefixColor = legacyStyles.themeGrayLight;
42export const inputPrefixBackground = legacyStyles.themeGrayLighter;
43export const inputDisabledOpacity = 0.5;
44export const inputScorePasswordBackground = legacyStyles.themeGrayLighter;
diff --git a/packages/theme/src/themes/legacy/index.ts b/packages/theme/src/themes/legacy/index.ts
new file mode 100644
index 000000000..2114b92c1
--- /dev/null
+++ b/packages/theme/src/themes/legacy/index.ts
@@ -0,0 +1,38 @@
1/* legacy config, injected into sass */
2export const themeBrandPrimary = '#3498db';
3export const themeBrandSuccess = '#5cb85c';
4export const themeBrandInfo = '#5bc0de';
5export const themeBrandWarning = '#FF9F00';
6export const themeBrandDanger = '#d9534f';
7
8export const themeGrayDark = '#373a3c';
9export const themeGray = '#55595c';
10export const themeGrayLight = '#818a91';
11export const themeGrayLighter = '#eceeef';
12export const themeGrayLightest = '#f7f7f9';
13
14export const themeBorderRadius = '6px';
15export const themeBorderRadiusSmall = '3px';
16
17export const themeSidebarWidth = '68px';
18
19export const themeTextColor = themeGrayDark;
20
21export const themeTransitionTime = '.5s';
22
23export const themeInsetShadow = 'inset 0 2px 5px rgba(0, 0, 0, .03)';
24
25export const darkThemeBlack = '#1A1A1A';
26
27export const darkThemeGrayDarkest = '#1E1E1E';
28export const darkThemeGrayDarker = '#2D2F31';
29export const darkThemeGrayDark = '#383A3B';
30
31export const darkThemeGray = '#47494B';
32
33export const darkThemeGrayLight = '#515355';
34export const darkThemeGrayLighter = '#8a8b8b';
35export const darkThemeGrayLightest = '#FFFFFF';
36
37export const darkThemeGraySmoke = '#CED0D1';
38export const darkThemeTextColor = '#FFFFFF';
diff --git a/packages/theme/test/index.test.js b/packages/theme/test/index.test.js
new file mode 100644
index 000000000..3906433c1
--- /dev/null
+++ b/packages/theme/test/index.test.js
@@ -0,0 +1,17 @@
1const expect = require('expect.js');
2
3const { colorBackground: colorBackgroundDefault } = require('../lib/themes/default');
4const { colorBackground: colorBackgroundDark } = require('../lib/themes/dark');
5const { default: theme } = require('../lib');
6
7describe('Load theme', () => {
8 it('Should load default theme', () => {
9 const { colorBackground } = theme('default');
10 expect(colorBackground).to.be(colorBackgroundDefault);
11 });
12
13 it('Should load dark theme', () => {
14 const { colorBackground } = theme('dark');
15 expect(colorBackground).to.be(colorBackgroundDark);
16 });
17});
diff --git a/packages/theme/tsconfig.json b/packages/theme/tsconfig.json
new file mode 100644
index 000000000..de5e11c56
--- /dev/null
+++ b/packages/theme/tsconfig.json
@@ -0,0 +1,64 @@
1{
2 "compilerOptions": {
3 /* Basic Options */
4 "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
5 "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
6 "lib": [
7 "es2015",
8 "es2017",
9 "dom"
10 ], /* Specify library files to be included in the compilation. */
11 // "allowJs": true, /* Allow javascript files to be compiled. */
12 // "checkJs": true, /* Report errors in .js files. */
13 // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
14 "declaration": true, /* Generates corresponding '.d.ts' file. */
15 // "declarationDir": "./", /* Output directory for generated declaration files. */
16 // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
17 // "sourceMap": true, /* Generates corresponding '.map' file. */
18 // "outFile": "./", /* Concatenate and emit output to single file. */
19 "outDir": "./lib", /* Redirect output structure to the directory. */
20 // "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
21 // "composite": true, /* Enable project compilation */
22 // "removeComments": true, /* Do not emit comments to output. */
23 // "noEmit": true, /* Do not emit outputs. */
24 // "importHelpers": true, /* Import emit helpers from 'tslib'. */
25 // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
26 // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
27
28 /* Strict Type-Checking Options */
29 "strict": true, /* Enable all strict type-checking options. */
30 // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
31 // "strictNullChecks": true, /* Enable strict null checks. */
32 // "strictFunctionTypes": true, /* Enable strict checking of function types. */
33 // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
34 // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
35 // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
36
37 /* Additional Checks */
38 // "noUnusedLocals": true, /* Report errors on unused locals. */
39 // "noUnusedParameters": true, /* Report errors on unused parameters. */
40 // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
41 // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
42
43 /* Module Resolution Options */
44 // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
45 // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
46 // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
47 // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
48 // "typeRoots": [], /* List of folders to include type definitions from. */
49 // "types": [], /* Type declaration files to be included in compilation. */
50 // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
51 "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
52 // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
53
54 /* Source Map Options */
55 // "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
56 // "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
57 // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
58 // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
59
60 /* Experimental Options */
61 // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
62 // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
63 }
64}
diff --git a/packages/theme/tslint.json b/packages/theme/tslint.json
new file mode 100644
index 000000000..a2f4dec71
--- /dev/null
+++ b/packages/theme/tslint.json
@@ -0,0 +1,13 @@
1{
2 "extends": ["tslint-config-airbnb"],
3 "rules": {
4 "import-name": false,
5 "variable-name": false,
6 "class-name": false,
7 "prefer-array-literal": false,
8 "semicolon": [true, "always"],
9 "max-line-length": false,
10 "ordered-imports": true,
11 "object-literal-sort-keys": true
12 }
13}
diff --git a/packages/theme/yarn.lock b/packages/theme/yarn.lock
new file mode 100644
index 000000000..f652784e2
--- /dev/null
+++ b/packages/theme/yarn.lock
@@ -0,0 +1,258 @@
1# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2# yarn lockfile v1
3
4
5"@babel/code-frame@^7.0.0":
6 version "7.0.0"
7 resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
8 integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
9 dependencies:
10 "@babel/highlight" "^7.0.0"
11
12"@babel/core@^7.2.2":
13 version "7.2.2"
14 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687"
15 integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==
16 dependencies:
17 "@babel/code-frame" "^7.0.0"
18 "@babel/generator" "^7.2.2"
19 "@babel/helpers" "^7.2.0"
20 "@babel/parser" "^7.2.2"
21 "@babel/template" "^7.2.2"
22 "@babel/traverse" "^7.2.2"
23 "@babel/types" "^7.2.2"
24 convert-source-map "^1.1.0"
25 debug "^4.1.0"
26 json5 "^2.1.0"
27 lodash "^4.17.10"
28 resolve "^1.3.2"
29 semver "^5.4.1"
30 source-map "^0.5.0"
31
32"@babel/generator@^7.2.2":
33 version "7.2.2"
34 resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.2.tgz#18c816c70962640eab42fe8cae5f3947a5c65ccc"
35 integrity sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==
36 dependencies:
37 "@babel/types" "^7.2.2"
38 jsesc "^2.5.1"
39 lodash "^4.17.10"
40 source-map "^0.5.0"
41 trim-right "^1.0.1"
42
43"@babel/helper-function-name@^7.1.0":
44 version "7.1.0"
45 resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
46 integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
47 dependencies:
48 "@babel/helper-get-function-arity" "^7.0.0"
49 "@babel/template" "^7.1.0"
50 "@babel/types" "^7.0.0"
51
52"@babel/helper-get-function-arity@^7.0.0":
53 version "7.0.0"
54 resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
55 integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
56 dependencies:
57 "@babel/types" "^7.0.0"
58
59"@babel/helper-split-export-declaration@^7.0.0":
60 version "7.0.0"
61 resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
62 integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==
63 dependencies:
64 "@babel/types" "^7.0.0"
65
66"@babel/helpers@^7.2.0":
67 version "7.2.0"
68 resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.2.0.tgz#8335f3140f3144270dc63c4732a4f8b0a50b7a21"
69 integrity sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==
70 dependencies:
71 "@babel/template" "^7.1.2"
72 "@babel/traverse" "^7.1.5"
73 "@babel/types" "^7.2.0"
74
75"@babel/highlight@^7.0.0":
76 version "7.0.0"
77 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
78 integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
79 dependencies:
80 chalk "^2.0.0"
81 esutils "^2.0.2"
82 js-tokens "^4.0.0"
83
84"@babel/parser@^7.2.2", "@babel/parser@^7.2.3":
85 version "7.2.3"
86 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.3.tgz#32f5df65744b70888d17872ec106b02434ba1489"
87 integrity sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==
88
89"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2":
90 version "7.2.2"
91 resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907"
92 integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==
93 dependencies:
94 "@babel/code-frame" "^7.0.0"
95 "@babel/parser" "^7.2.2"
96 "@babel/types" "^7.2.2"
97
98"@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2":
99 version "7.2.3"
100 resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8"
101 integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==
102 dependencies:
103 "@babel/code-frame" "^7.0.0"
104 "@babel/generator" "^7.2.2"
105 "@babel/helper-function-name" "^7.1.0"
106 "@babel/helper-split-export-declaration" "^7.0.0"
107 "@babel/parser" "^7.2.3"
108 "@babel/types" "^7.2.2"
109 debug "^4.1.0"
110 globals "^11.1.0"
111 lodash "^4.17.10"
112
113"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2":
114 version "7.2.2"
115 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.2.2.tgz#44e10fc24e33af524488b716cdaee5360ea8ed1e"
116 integrity sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==
117 dependencies:
118 esutils "^2.0.2"
119 lodash "^4.17.10"
120 to-fast-properties "^2.0.0"
121
122ansi-styles@^3.2.1:
123 version "3.2.1"
124 resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
125 integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
126 dependencies:
127 color-convert "^1.9.0"
128
129chalk@^2.0.0:
130 version "2.4.1"
131 resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
132 integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==
133 dependencies:
134 ansi-styles "^3.2.1"
135 escape-string-regexp "^1.0.5"
136 supports-color "^5.3.0"
137
138color-convert@^1.9.0:
139 version "1.9.3"
140 resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
141 integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
142 dependencies:
143 color-name "1.1.3"
144
145color-name@1.1.3:
146 version "1.1.3"
147 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
148 integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
149
150convert-source-map@^1.1.0:
151 version "1.6.0"
152 resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
153 integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
154 dependencies:
155 safe-buffer "~5.1.1"
156
157debug@^4.1.0:
158 version "4.1.1"
159 resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
160 integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
161 dependencies:
162 ms "^2.1.1"
163
164escape-string-regexp@^1.0.5:
165 version "1.0.5"
166 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
167 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
168
169esutils@^2.0.2:
170 version "2.0.2"
171 resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
172 integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
173
174globals@^11.1.0:
175 version "11.9.0"
176 resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249"
177 integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==
178
179has-flag@^3.0.0:
180 version "3.0.0"
181 resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
182 integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
183
184js-tokens@^4.0.0:
185 version "4.0.0"
186 resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
187 integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
188
189jsesc@^2.5.1:
190 version "2.5.2"
191 resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
192 integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
193
194json5@^2.1.0:
195 version "2.1.0"
196 resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
197 integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
198 dependencies:
199 minimist "^1.2.0"
200
201lodash@^4.17.10:
202 version "4.17.11"
203 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
204 integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
205
206minimist@^1.2.0:
207 version "1.2.0"
208 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
209 integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
210
211ms@^2.1.1:
212 version "2.1.1"
213 resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
214 integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
215
216path-parse@^1.0.6:
217 version "1.0.6"
218 resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
219 integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
220
221resolve@^1.3.2:
222 version "1.9.0"
223 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06"
224 integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==
225 dependencies:
226 path-parse "^1.0.6"
227
228safe-buffer@~5.1.1:
229 version "5.1.2"
230 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
231 integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
232
233semver@^5.4.1:
234 version "5.6.0"
235 resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
236 integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
237
238source-map@^0.5.0:
239 version "0.5.7"
240 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
241 integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
242
243supports-color@^5.3.0:
244 version "5.5.0"
245 resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
246 integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
247 dependencies:
248 has-flag "^3.0.0"
249
250to-fast-properties@^2.0.0:
251 version "2.0.0"
252 resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
253 integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
254
255trim-right@^1.0.1:
256 version "1.0.1"
257 resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
258 integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=