├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── _config.yml
├── dist
├── bootstrap
│ └── index.js
├── index.js
└── instagram
│ ├── index.js
│ ├── instagram_home_phone.png
│ ├── instagram_screenshot5_2x.jpg
│ └── instagram_sprite_core_2x.png
├── example
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── manifest.json
├── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ └── registerServiceWorker.js
└── yarn.lock
├── media
├── a_theme_bootstrap.png
└── a_theme_instagram.png
├── package-lock.json
├── package.json
└── src
├── bootstrap
└── index.js
├── index.js
└── instagram
├── index.js
├── instagram_home_phone.png
├── instagram_screenshot5_2x.jpg
└── instagram_sprite_core_2x.png
/.gitignore:
--------------------------------------------------------------------------------
1 | **node_modules**
2 | **aws-exports.js**
3 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | **node_modules**
2 | **aws-exports.js**
3 | example/
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Richard Zhang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # A Theme React
2 |
3 | AWS Amplify UI is theme based. Developers are able to customize UI with theme.
4 |
5 | Here we build alternative themes for AWS Amplify.
6 |
7 | * [Install](#install)
8 | * [Apply](#apply)
9 | * [Themes](#themes)
10 | - [Bootstrap](#bootstrap)
11 | - [Instagram](#instagram)
12 | * [Example](#example)
13 |
14 | ## Install
15 |
16 | ```
17 | npm install --save a-theme-react
18 | ```
19 |
20 | ## Apply
21 |
22 | AWS Amplify UI is theme
23 |
24 | ```
25 | import { Bootstrap } from 'a-theme-react';
26 |
27 |
28 | ```
29 |
30 | ## Themes
31 |
32 | ### Bootstrap
33 |
34 | A theme base on default Bootstrap theme CSS.
35 |
36 |
37 |
38 | ```
39 | import { Bootstrap } from 'a-theme-react';
40 |
41 |
42 | ```
43 |
44 | **FontAwsome Icons**
45 |
46 | `Bootstrap` theme uses icons from [Font Awesome](http://fontawesome.io/). [react-fontawesome](https://github.com/danawoodman/react-fontawesome) does not include CSS. So you have to include the CSS by yourself. One way is from [CDN](https://www.bootstrapcdn.com/fontawesome/).
47 |
48 | For example add this line to HTML file:
49 | ```
50 |
51 | ```
52 |
53 | The icons won't display without the CSS file. Everything else is not affected.
54 |
55 | ### Instagram
56 |
57 | A theme imitates [Instagram](https://www.instagram.com)
58 |
59 |
60 |
61 | ```
62 | import { Instagram } from 'a-theme-react';
63 |
64 |
65 | ```
66 |
67 | **CSS Pseudo-Elements**
68 |
69 | One of the limitation in React inline styling is no pseudo-elements.
70 |
71 | Among CSS pseudo-elements, `::before` and `::after` are the two most frequent used. AWS Amplify UI is made to support these two.
72 |
73 | Here we take benefit of `before` and `after` to make this theme possible.
74 |
75 | Example:
76 |
77 | ```
78 | const beforeImg = (
79 |
88 | )
89 |
90 | export const FormSection = {
91 | margin: '0 0 10px',
92 | color: '#262626',
93 | backgroundColor: '#fff',
94 | border: '1px solid #e6e6e6',
95 | borderRadius: '1px',
96 | textAlign: 'center',
97 | width: '350px',
98 | display: 'inline-block',
99 | verticalAlign: 'middle',
100 | before: {
101 | content: beforeImg,
102 | display: 'inline-block',
103 | width: '400px',
104 | height: '560px',
105 | verticalAlign: 'middle',
106 | backgroundImage: 'url(' + home_phone + ')',
107 | backgroundSize: '400px 560px'
108 | }
109 | }
110 | ```
111 |
112 | ## Example
113 |
114 | `example/` folder is a basic React app with theme
115 |
116 | ```
117 | git clone https://github.com/richardzcode/a-theme-react.git
118 | cd a-theme-react/example
119 | npm install
120 | npm start
121 | ```
122 |
123 | Then copy `aws-exports.js` file to `src/` folder for AWS Amplify to work.
124 |
125 | **Other themes**
126 |
127 | The example uses `Bootstrap` theme. Modify `src/index.js` for other themes.
128 |
129 | ```
130 | import { Instagram as theme } from 'a-theme-react'
131 | ```
132 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-minimal
--------------------------------------------------------------------------------
/dist/bootstrap/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import FontAwesome from 'react-fontawesome';
3 |
4 | export const Container = {
5 | fontFamily: `-apple-system,
6 | BlinkMacSystemFont,
7 | "Segoe UI",
8 | Roboto,
9 | "Helvetica Neue",
10 | Arial,
11 | sans-serif,
12 | "Apple Color Emoji",
13 | "Segoe UI Emoji",
14 | "Segoe UI Symbol"`,
15 | fontWeight: '400',
16 | lineHeight: '1.5',
17 | color: '#212529',
18 | textAlign: 'left',
19 | paddingLeft: '15px',
20 | paddingRight: '15px'
21 | };
22 |
23 | export const NavBar = {
24 | position: 'relative',
25 | marginBottom: '20px',
26 | marginLeft: '-15px',
27 | marginRight: '-15px',
28 | border: '1px solid transparent',
29 | backgroundColor: '#f8f8f8',
30 | borderColor: '#e7e7e7'
31 | };
32 |
33 | export const NavRight = {
34 | textAlign: 'right'
35 | };
36 |
37 | export const Nav = {
38 | margin: '7.5px'
39 | };
40 |
41 | export const NavItem = {
42 | display: 'inline-block',
43 | padding: '10px 5px',
44 | lineHeight: '20px'
45 | };
46 |
47 | export const NavButton = {
48 | display: 'inline-block',
49 | padding: '6px 12px',
50 | marginTop: '8px',
51 | marginBottom: '8px',
52 | fontSize: '14px',
53 | fontWeight: 400,
54 | lineHeight: '1.42857143',
55 | textAlign: 'center',
56 | whiteSpace: 'nowrap',
57 | verticalAlign: 'middle',
58 | touchAction: 'manipulation',
59 | cursor: 'pointer',
60 | userSelect: 'none',
61 | backgroundImage: 'none',
62 | border: '1px solid transparent',
63 | borderRadius: '4px',
64 | color: '#333',
65 | backgroundColor: '#fff',
66 | borderColor: '#ccc'
67 | };
68 |
69 | export const FormContainer = {
70 | textAlign: 'center'
71 | };
72 |
73 | export const FormSection = {
74 | marginBottom: '20px',
75 | backgroundColor: '#fff',
76 | border: '1px solid #ddd',
77 | borderRadius: '4px',
78 | textAlign: 'left',
79 | width: '500px',
80 | display: 'inline-block'
81 | };
82 |
83 | export const ErrorSection = {
84 | marginBottom: '20px',
85 | color: '#fff',
86 | backgroundColor: '#f0ad4e',
87 | border: '1px solid #eea236',
88 | borderRadius: '4px',
89 | textAlign: 'left'
90 | };
91 |
92 | export const SectionHeader = {
93 | color: '#fff',
94 | backgroundColor: '#337ab7',
95 | borderColor: '#337ab7',
96 | padding: '10px 15px',
97 | borderBottom: '1px solid transparent',
98 | borderTopLeftRadius: '3px',
99 | borderTopRightRadius: '3px',
100 | textAlign: 'center'
101 | };
102 |
103 | export const SectionFooter = {
104 | color: '#333',
105 | backgroundColor: '#f5f5f5',
106 | padding: '10px 15px',
107 | borderTop: '1px solid #ddd',
108 | borderTopLeftRadius: '3px',
109 | borderTopRightRadius: '3px'
110 | };
111 |
112 | export const SectionBody = {
113 | padding: '15px'
114 | };
115 |
116 | export const FormRow = {
117 | marginBottom: '15px'
118 | };
119 |
120 | export const ActionRow = {
121 | marginBottom: '15px'
122 | };
123 |
124 | export const Input = {
125 | display: 'block',
126 | width: '100%',
127 | height: '34px',
128 | padding: '6px 12px',
129 | fontSize: '14px',
130 | lineHeight: '1.42857143',
131 | color: '#555',
132 | backgroundColor: '#fff',
133 | backgroundImage: 'none',
134 | border: '1px solid #ccc',
135 | borderRadius: '4px',
136 | boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075)',
137 | boxSizing: 'border-box',
138 | transition: 'border-color ease-in-out .15s,box-shadow ease-in-out .15s'
139 | };
140 |
141 | export const Button = {
142 | display: 'inline-block',
143 | padding: '6px 12px',
144 | marginBottom: '0',
145 | fontSize: '14px',
146 | fontWeight: 400,
147 | lineHeight: '1.42857143',
148 | textAlign: 'center',
149 | whiteSpace: 'nowrap',
150 | verticalAlign: 'middle',
151 | touchAction: 'manipulation',
152 | cursor: 'pointer',
153 | userSelect: 'none',
154 | backgroundImage: 'none',
155 | border: '1px solid transparent',
156 | borderRadius: '4px',
157 | color: '#333',
158 | backgroundColor: '#fff',
159 | borderColor: '#ccc'
160 | };
161 |
162 | export const SignInButton = {
163 | position: 'relative',
164 | padding: '6px 12px 6px 44px',
165 | fontSize: '14px',
166 | textAlign: 'left',
167 | whiteSpace: 'nowrap',
168 | overflow: 'hidden',
169 | textOverflow: 'ellipsis',
170 | display: 'block',
171 | width: '100%',
172 | marginTop: '2px',
173 | '#google_signin_btn': {
174 | color: '#fff',
175 | backgroundColor: '#dd4b39',
176 | borderColor: 'rgba(0,0,0,0.2)',
177 | before: {
178 | content: React.createElement(FontAwesome, { name: 'google' }),
179 | position: 'absolute',
180 | top: 0,
181 | left: 0,
182 | zIndex: 10,
183 | color: '#fff',
184 | padding: '2px 12px 0',
185 | fontSize: '20px'
186 | }
187 | },
188 | '#facebook_signin_btn': {
189 | color: '#fff',
190 | backgroundColor: '#3b5998',
191 | borderColor: 'rgba(0,0,0,0.2)',
192 | before: {
193 | content: React.createElement(FontAwesome, { name: 'facebook' }),
194 | position: 'absolute',
195 | top: 0,
196 | left: 0,
197 | zIndex: 10,
198 | color: '#fff',
199 | padding: '2px 12px 0',
200 | fontSize: '20px'
201 | }
202 | }
203 | };
204 |
205 | export const Space = {
206 | display: 'inline-block',
207 | width: '20px'
208 | };
209 |
210 | export const A = {
211 | color: '#007bff'
212 | };
213 |
214 | export const Pre = {
215 | overflow: 'auto',
216 | fontFamily: `Menlo,
217 | Monaco,
218 | Consolas,
219 | "Courier New",
220 | monospace`,
221 | display: 'block',
222 | padding: '9.5px',
223 | margin: '0 0 10px',
224 | fontSize: '13px',
225 | lineHeight: '1.42857143',
226 | color: '#333',
227 | wordBreak: 'break-all',
228 | wordWrap: 'break-word',
229 | backgroundColor: '#f5f5f5',
230 | border: '1px solid #ccc',
231 | borderRadius: '4px'
232 | };
233 |
234 | export const Col1 = {
235 | display: 'inline-block',
236 | width: '8.33333333%'
237 | };
238 |
239 | export const Col2 = {
240 | display: 'inline-block',
241 | width: '16.66666667%'
242 | };
243 |
244 | export const Col3 = {
245 | display: 'inline-block',
246 | width: '25%'
247 | };
248 |
249 | export const Col4 = {
250 | display: 'inline-block',
251 | width: '33.33333333%'
252 | };
253 |
254 | export const Col5 = {
255 | display: 'inline-block',
256 | width: '41.66666667%'
257 | };
258 |
259 | export const Col6 = {
260 | display: 'inline-block',
261 | width: '50%'
262 | };
263 |
264 | export const Col7 = {
265 | display: 'inline-block',
266 | width: '58.33333333%'
267 | };
268 |
269 | export const Col8 = {
270 | display: 'inline-block',
271 | width: '66.66666667%'
272 | };
273 |
274 | export const Col9 = {
275 | display: 'inline-block',
276 | width: '75%'
277 | };
278 |
279 | export const Col10 = {
280 | display: 'inline-block',
281 | width: '83.33333333%'
282 | };
283 |
284 | export const Col11 = {
285 | display: 'inline-block',
286 | width: '91.66666667%'
287 | };
288 |
289 | export const Col12 = {
290 | display: 'inline-block',
291 | width: '100%'
292 | };
293 |
294 | const Bootstrap = {
295 | container: Container,
296 |
297 | navBar: NavBar,
298 | nav: Nav,
299 | navRight: NavRight,
300 | navItem: NavItem,
301 | navButton: NavButton,
302 |
303 | formContainer: FormContainer,
304 | formSection: FormSection,
305 | errorSection: ErrorSection,
306 | sectionHeader: SectionHeader,
307 | sectionBody: SectionBody,
308 | sectionFooter: SectionFooter,
309 |
310 | formRow: FormRow,
311 | actionRow: ActionRow,
312 |
313 | space: Space,
314 |
315 | signInButton: SignInButton,
316 |
317 | input: Input,
318 | button: Button,
319 | a: A,
320 | pre: Pre,
321 |
322 | col1: Col1,
323 | col2: Col2,
324 | col3: Col3,
325 | col4: Col4,
326 | col5: Col5,
327 | col6: Col6,
328 | col7: Col7,
329 | col8: Col8,
330 | col9: Col9,
331 | col10: Col10,
332 | col11: Col11,
333 | col12: Col12
334 | };
335 |
336 | export default Bootstrap;
--------------------------------------------------------------------------------
/dist/index.js:
--------------------------------------------------------------------------------
1 | export { default as Bootstrap } from './bootstrap';
2 | export { default as Instagram } from './instagram';
--------------------------------------------------------------------------------
/dist/instagram/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import home_phone from './instagram_home_phone.png';
3 | import screenshot5 from './instagram_screenshot5_2x.jpg';
4 | import sprint_core from './instagram_sprite_core_2x.png';
5 |
6 | export const Container = {
7 | fontFamily: `-apple-system,
8 | BlinkMacSystemFont,
9 | "Segoe UI",
10 | Roboto,
11 | Helvetica,
12 | Arial,
13 | sans-serif`,
14 | fontSize: '14px',
15 | lineHeight: '18px',
16 | backgroundColor: '#fafafa',
17 | textAlign: 'left'
18 | };
19 |
20 | export const NavBar = {
21 | position: 'fixed',
22 | borderBottom: '1px solid rgba(0,0,0,.0975)',
23 | top: 0,
24 | width: '100%',
25 | zIndex: 1,
26 | backgroundColor: '#fff',
27 | height: '77px',
28 | fontWeight: '300'
29 | };
30 |
31 | export const NavRight = {
32 | textAlign: 'right'
33 | };
34 |
35 | export const Nav = {
36 | padding: '26px 40px'
37 | };
38 |
39 | export const NavItem = {
40 | display: 'inline-block',
41 | padding: '10px 5px',
42 | lineHeight: '20px'
43 | };
44 |
45 | export const NavButton = {
46 | display: 'inline-block',
47 | padding: '6px 12px',
48 | fontSize: '14px',
49 | fontWeight: 300,
50 | textAlign: 'center',
51 | whiteSpace: 'nowrap',
52 | verticalAlign: 'middle',
53 | touchAction: 'manipulation',
54 | cursor: 'pointer',
55 | userSelect: 'none',
56 | backgroundImage: 'none',
57 | border: '1px solid #aaa',
58 | borderRadius: '4px',
59 | color: '#333',
60 | backgroundColor: '#fff'
61 | };
62 |
63 | export const FormContainer = {
64 | textAlign: 'center',
65 | paddingTop: '77px'
66 | };
67 |
68 | const beforeImg = React.createElement('img', {
69 | src: screenshot5,
70 | style: {
71 | width: '216px',
72 | marginTop: '87px',
73 | marginLeft: '79px',
74 | height: '393px'
75 | }
76 | });
77 |
78 | export const FormSection = {
79 | margin: '0 0 10px',
80 | color: '#262626',
81 | backgroundColor: '#fff',
82 | border: '1px solid #e6e6e6',
83 | borderRadius: '1px',
84 | textAlign: 'center',
85 | width: '350px',
86 | display: 'inline-block',
87 | verticalAlign: 'middle',
88 | before: {
89 | content: beforeImg,
90 | display: 'inline-block',
91 | width: '400px',
92 | height: '560px',
93 | verticalAlign: 'middle',
94 | backgroundImage: 'url(' + home_phone + ')',
95 | backgroundSize: '400px 560px'
96 | }
97 | };
98 |
99 | export const ErrorSection = {
100 | marginBottom: '20px',
101 | color: '#fff',
102 | backgroundColor: '#f0ad4e',
103 | border: '1px solid #eea236',
104 | borderRadius: '4px',
105 | textAlign: 'left'
106 | };
107 |
108 | export const SectionHeader = {
109 | margin: '22px auto 8px',
110 | overflow: 'hidden'
111 | };
112 |
113 | export const SectionHeaderContent = {
114 | height: '51px',
115 | width: '175px',
116 | display: 'inline-block',
117 | textIndent: '110%',
118 | whiteSpace: 'nowrap',
119 | backgroundSize: '405px 379px',
120 | backgroundPosition: '0 0',
121 | backgroundImage: 'url(' + sprint_core + ')'
122 | };
123 |
124 | export const SectionFooter = {
125 | fontSize: '14px',
126 | textAlign: 'left',
127 | color: '##262626',
128 | backgroundColor: '#fff',
129 | margin: '10px 1px 10px',
130 | padding: '20px 15px 10px 15px',
131 | boxSizing: 'border-box',
132 | borderTop: '1px solid #e6e6e6'
133 | };
134 |
135 | export const SectionBody = {
136 | padding: '0',
137 | margin: '0',
138 | borderBottom: '1px solid rgb(230, 230, 230)',
139 | minHeight: '240px'
140 | };
141 |
142 | export const FormRow = {
143 | margin: '0 40px 6px',
144 | textAlign: 'left'
145 | };
146 |
147 | export const ActionRow = {
148 | margin: '0 40px 6px'
149 | };
150 |
151 | export const Input = {
152 | fontFamily: `-apple-system,
153 | BlinkMacSystemFont,
154 | "Segoe UI",
155 | Roboto,
156 | Helvetica,
157 | Arial,
158 | sans-serif`,
159 | display: 'block',
160 | width: '100%',
161 | background: '#fafafa',
162 | padding: '9px 0 7px 8px',
163 | border: '1px solid #efefef',
164 | borderRadius: '3px',
165 | fontSize: '14px',
166 | lineHeight: '18px',
167 | boxSizing: 'border-box'
168 | };
169 |
170 | export const Button = {
171 | display: 'inline-block',
172 | fontSize: '14px',
173 | fontWeight: '600',
174 | lineHeight: '26px',
175 | padding: '0 8px',
176 | marginTop: '8px',
177 | marginBottom: '8px',
178 | border: '1px solid',
179 | borderRadius: '3px',
180 | color: '#fff',
181 | backgroundColor: '#3897f0',
182 | borderColor: '#3897f0',
183 | width: '100%'
184 | };
185 |
186 | export const SignInButton = {
187 | display: 'inline-block',
188 | fontSize: '14px',
189 | fontWeight: '600',
190 | lineHeight: '26px',
191 | padding: '0 8px',
192 | margin: '8px 0',
193 | border: '1px solid',
194 | borderRadius: '3px',
195 | color: '#fff',
196 | backgroundColor: '#3897f0',
197 | borderColor: '#3897f0',
198 | width: '100%',
199 | '#google_signin_btn': { display: 'none' }
200 | };
201 |
202 | export const Space = {
203 | display: 'none'
204 | };
205 |
206 | export const A = {
207 | color: '#3897f0'
208 | };
209 |
210 | export const Pre = {
211 | overflow: 'auto',
212 | fontFamily: `Menlo,
213 | Monaco,
214 | Consolas,
215 | "Courier New",
216 | monospace`,
217 | display: 'block',
218 | padding: '9.5px',
219 | margin: '0 0 10px',
220 | fontSize: '13px',
221 | lineHeight: '1.42857143',
222 | color: '#333',
223 | wordBreak: 'break-all',
224 | wordWrap: 'break-word',
225 | backgroundColor: '#f5f5f5',
226 | border: '1px solid #ccc',
227 | borderRadius: '4px'
228 | };
229 |
230 | export const Col6 = {
231 | display: 'inline-block',
232 | width: '50%'
233 | };
234 |
235 | const Instagram = {
236 | container: Container,
237 |
238 | navBar: NavBar,
239 | nav: Nav,
240 | navRight: NavRight,
241 | navItem: NavItem,
242 | navButton: NavButton,
243 |
244 | formContainer: FormContainer,
245 | formSection: FormSection,
246 | errorSection: ErrorSection,
247 | sectionHeader: SectionHeader,
248 | sectionHeaderContent: SectionHeaderContent,
249 | sectionBody: SectionBody,
250 | sectionFooter: SectionFooter,
251 |
252 | formRow: FormRow,
253 | actionRow: ActionRow,
254 |
255 | space: Space,
256 |
257 | signInButton: SignInButton,
258 |
259 | input: Input,
260 | button: Button,
261 | a: A,
262 | pre: Pre,
263 |
264 | col6: Col6
265 | };
266 |
267 | export default Instagram;
--------------------------------------------------------------------------------
/dist/instagram/instagram_home_phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/dist/instagram/instagram_home_phone.png
--------------------------------------------------------------------------------
/dist/instagram/instagram_screenshot5_2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/dist/instagram/instagram_screenshot5_2x.jpg
--------------------------------------------------------------------------------
/dist/instagram/instagram_sprite_core_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/dist/instagram/instagram_sprite_core_2x.png
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env.local
15 | .env.development.local
16 | .env.test.local
17 | .env.production.local
18 |
19 | npm-debug.log*
20 | yarn-debug.log*
21 | yarn-error.log*
22 |
--------------------------------------------------------------------------------
/example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "a-theme-react": "0.0.5",
7 | "aws-amplify": "^0.1.20",
8 | "aws-amplify-react": "^0.1.21",
9 | "react": "^16.2.0",
10 | "react-dom": "^16.2.0",
11 | "react-scripts": "1.0.17"
12 | },
13 | "scripts": {
14 | "start": "react-scripts start",
15 | "build": "react-scripts build",
16 | "test": "react-scripts test --env=jsdom",
17 | "eject": "react-scripts eject"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/example/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/example/public/favicon.ico
--------------------------------------------------------------------------------
/example/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
22 | React App
23 |
24 |
25 |
28 |
29 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/example/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": "./index.html",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/example/src/App.css:
--------------------------------------------------------------------------------
1 | .App {
2 | text-align: center;
3 | }
4 |
5 | .App-logo {
6 | animation: App-logo-spin infinite 20s linear;
7 | height: 80px;
8 | }
9 |
10 | .App-header {
11 | background-color: #222;
12 | height: 150px;
13 | padding: 20px;
14 | color: white;
15 | }
16 |
17 | .App-title {
18 | font-size: 1.5em;
19 | }
20 |
21 | .App-intro {
22 | font-size: large;
23 | }
24 |
25 | @keyframes App-logo-spin {
26 | from { transform: rotate(0deg); }
27 | to { transform: rotate(360deg); }
28 | }
29 |
--------------------------------------------------------------------------------
/example/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import logo from './logo.svg';
3 | import './App.css';
4 |
5 | import { withAuthenticator } from 'aws-amplify-react';
6 |
7 | class App extends Component {
8 | render() {
9 | return (
10 |
11 |
12 |
13 | Welcome to React
14 |
15 |
16 | To get started, edit src/App.js
and save to reload.
17 |
18 |
19 | );
20 | }
21 | }
22 |
23 | export default withAuthenticator(App);
24 |
--------------------------------------------------------------------------------
/example/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(, div);
8 | });
9 |
--------------------------------------------------------------------------------
/example/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | font-family: sans-serif;
5 | }
6 |
--------------------------------------------------------------------------------
/example/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import registerServiceWorker from './registerServiceWorker';
6 |
7 | import Amplify from 'aws-amplify';
8 | import aws_exports from './aws-exports';
9 |
10 | import { Bootstrap as theme } from 'a-theme-react';
11 |
12 | Amplify.configure(aws_exports);
13 |
14 | const federated = {
15 | google_client_id: 'replace with your client_id',
16 | facebook_app_id: 'replace with your app_id'
17 | }
18 |
19 | const app =
20 |
21 | ReactDOM.render(app, document.getElementById('root'));
22 | registerServiceWorker();
23 |
--------------------------------------------------------------------------------
/example/src/logo.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/example/src/registerServiceWorker.js:
--------------------------------------------------------------------------------
1 | // In production, we register a service worker to serve assets from local cache.
2 |
3 | // This lets the app load faster on subsequent visits in production, and gives
4 | // it offline capabilities. However, it also means that developers (and users)
5 | // will only see deployed updates on the "N+1" visit to a page, since previously
6 | // cached resources are updated in the background.
7 |
8 | // To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
9 | // This link also includes instructions on opting out of this behavior.
10 |
11 | const isLocalhost = Boolean(
12 | window.location.hostname === 'localhost' ||
13 | // [::1] is the IPv6 localhost address.
14 | window.location.hostname === '[::1]' ||
15 | // 127.0.0.1/8 is considered localhost for IPv4.
16 | window.location.hostname.match(
17 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
18 | )
19 | );
20 |
21 | export default function register() {
22 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
23 | // The URL constructor is available in all browsers that support SW.
24 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
25 | if (publicUrl.origin !== window.location.origin) {
26 | // Our service worker won't work if PUBLIC_URL is on a different origin
27 | // from what our page is served on. This might happen if a CDN is used to
28 | // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
29 | return;
30 | }
31 |
32 | window.addEventListener('load', () => {
33 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
34 |
35 | if (isLocalhost) {
36 | // This is running on localhost. Lets check if a service worker still exists or not.
37 | checkValidServiceWorker(swUrl);
38 | } else {
39 | // Is not local host. Just register service worker
40 | registerValidSW(swUrl);
41 | }
42 | });
43 | }
44 | }
45 |
46 | function registerValidSW(swUrl) {
47 | navigator.serviceWorker
48 | .register(swUrl)
49 | .then(registration => {
50 | registration.onupdatefound = () => {
51 | const installingWorker = registration.installing;
52 | installingWorker.onstatechange = () => {
53 | if (installingWorker.state === 'installed') {
54 | if (navigator.serviceWorker.controller) {
55 | // At this point, the old content will have been purged and
56 | // the fresh content will have been added to the cache.
57 | // It's the perfect time to display a "New content is
58 | // available; please refresh." message in your web app.
59 | console.log('New content is available; please refresh.');
60 | } else {
61 | // At this point, everything has been precached.
62 | // It's the perfect time to display a
63 | // "Content is cached for offline use." message.
64 | console.log('Content is cached for offline use.');
65 | }
66 | }
67 | };
68 | };
69 | })
70 | .catch(error => {
71 | console.error('Error during service worker registration:', error);
72 | });
73 | }
74 |
75 | function checkValidServiceWorker(swUrl) {
76 | // Check if the service worker can be found. If it can't reload the page.
77 | fetch(swUrl)
78 | .then(response => {
79 | // Ensure service worker exists, and that we really are getting a JS file.
80 | if (
81 | response.status === 404 ||
82 | response.headers.get('content-type').indexOf('javascript') === -1
83 | ) {
84 | // No service worker found. Probably a different app. Reload the page.
85 | navigator.serviceWorker.ready.then(registration => {
86 | registration.unregister().then(() => {
87 | window.location.reload();
88 | });
89 | });
90 | } else {
91 | // Service worker found. Proceed as normal.
92 | registerValidSW(swUrl);
93 | }
94 | })
95 | .catch(() => {
96 | console.log(
97 | 'No internet connection found. App is running in offline mode.'
98 | );
99 | });
100 | }
101 |
102 | export function unregister() {
103 | if ('serviceWorker' in navigator) {
104 | navigator.serviceWorker.ready.then(registration => {
105 | registration.unregister();
106 | });
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/media/a_theme_bootstrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/media/a_theme_bootstrap.png
--------------------------------------------------------------------------------
/media/a_theme_instagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/media/a_theme_instagram.png
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "a-theme-react",
3 | "version": "0.0.5",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "ansi-regex": {
8 | "version": "2.1.1",
9 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
10 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
11 | "dev": true
12 | },
13 | "ansi-styles": {
14 | "version": "2.2.1",
15 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
16 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
17 | "dev": true
18 | },
19 | "anymatch": {
20 | "version": "1.3.2",
21 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
22 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
23 | "dev": true,
24 | "optional": true,
25 | "requires": {
26 | "micromatch": "2.3.11",
27 | "normalize-path": "2.1.1"
28 | }
29 | },
30 | "arr-diff": {
31 | "version": "2.0.0",
32 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
33 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
34 | "dev": true,
35 | "optional": true,
36 | "requires": {
37 | "arr-flatten": "1.1.0"
38 | }
39 | },
40 | "arr-flatten": {
41 | "version": "1.1.0",
42 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
43 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
44 | "dev": true,
45 | "optional": true
46 | },
47 | "array-unique": {
48 | "version": "0.2.1",
49 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
50 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
51 | "dev": true,
52 | "optional": true
53 | },
54 | "asap": {
55 | "version": "2.0.6",
56 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
57 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
58 | },
59 | "async-each": {
60 | "version": "1.0.1",
61 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
62 | "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
63 | "dev": true,
64 | "optional": true
65 | },
66 | "babel-cli": {
67 | "version": "6.26.0",
68 | "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz",
69 | "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=",
70 | "dev": true,
71 | "requires": {
72 | "babel-core": "6.26.0",
73 | "babel-polyfill": "6.26.0",
74 | "babel-register": "6.26.0",
75 | "babel-runtime": "6.26.0",
76 | "chokidar": "1.7.0",
77 | "commander": "2.12.2",
78 | "convert-source-map": "1.5.1",
79 | "fs-readdir-recursive": "1.1.0",
80 | "glob": "7.1.2",
81 | "lodash": "4.17.4",
82 | "output-file-sync": "1.1.2",
83 | "path-is-absolute": "1.0.1",
84 | "slash": "1.0.0",
85 | "source-map": "0.5.7",
86 | "v8flags": "2.1.1"
87 | }
88 | },
89 | "babel-code-frame": {
90 | "version": "6.26.0",
91 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
92 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
93 | "dev": true,
94 | "requires": {
95 | "chalk": "1.1.3",
96 | "esutils": "2.0.2",
97 | "js-tokens": "3.0.2"
98 | }
99 | },
100 | "babel-core": {
101 | "version": "6.26.0",
102 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
103 | "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
104 | "dev": true,
105 | "requires": {
106 | "babel-code-frame": "6.26.0",
107 | "babel-generator": "6.26.0",
108 | "babel-helpers": "6.24.1",
109 | "babel-messages": "6.23.0",
110 | "babel-register": "6.26.0",
111 | "babel-runtime": "6.26.0",
112 | "babel-template": "6.26.0",
113 | "babel-traverse": "6.26.0",
114 | "babel-types": "6.26.0",
115 | "babylon": "6.18.0",
116 | "convert-source-map": "1.5.1",
117 | "debug": "2.6.9",
118 | "json5": "0.5.1",
119 | "lodash": "4.17.4",
120 | "minimatch": "3.0.4",
121 | "path-is-absolute": "1.0.1",
122 | "private": "0.1.8",
123 | "slash": "1.0.0",
124 | "source-map": "0.5.7"
125 | }
126 | },
127 | "babel-generator": {
128 | "version": "6.26.0",
129 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz",
130 | "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
131 | "dev": true,
132 | "requires": {
133 | "babel-messages": "6.23.0",
134 | "babel-runtime": "6.26.0",
135 | "babel-types": "6.26.0",
136 | "detect-indent": "4.0.0",
137 | "jsesc": "1.3.0",
138 | "lodash": "4.17.4",
139 | "source-map": "0.5.7",
140 | "trim-right": "1.0.1"
141 | }
142 | },
143 | "babel-helper-builder-react-jsx": {
144 | "version": "6.26.0",
145 | "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
146 | "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
147 | "dev": true,
148 | "requires": {
149 | "babel-runtime": "6.26.0",
150 | "babel-types": "6.26.0",
151 | "esutils": "2.0.2"
152 | }
153 | },
154 | "babel-helpers": {
155 | "version": "6.24.1",
156 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
157 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
158 | "dev": true,
159 | "requires": {
160 | "babel-runtime": "6.26.0",
161 | "babel-template": "6.26.0"
162 | }
163 | },
164 | "babel-messages": {
165 | "version": "6.23.0",
166 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
167 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
168 | "dev": true,
169 | "requires": {
170 | "babel-runtime": "6.26.0"
171 | }
172 | },
173 | "babel-plugin-syntax-flow": {
174 | "version": "6.18.0",
175 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
176 | "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
177 | "dev": true
178 | },
179 | "babel-plugin-syntax-jsx": {
180 | "version": "6.18.0",
181 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
182 | "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
183 | "dev": true
184 | },
185 | "babel-plugin-transform-flow-strip-types": {
186 | "version": "6.22.0",
187 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
188 | "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
189 | "dev": true,
190 | "requires": {
191 | "babel-plugin-syntax-flow": "6.18.0",
192 | "babel-runtime": "6.26.0"
193 | }
194 | },
195 | "babel-plugin-transform-react-display-name": {
196 | "version": "6.25.0",
197 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
198 | "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
199 | "dev": true,
200 | "requires": {
201 | "babel-runtime": "6.26.0"
202 | }
203 | },
204 | "babel-plugin-transform-react-jsx": {
205 | "version": "6.24.1",
206 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
207 | "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
208 | "dev": true,
209 | "requires": {
210 | "babel-helper-builder-react-jsx": "6.26.0",
211 | "babel-plugin-syntax-jsx": "6.18.0",
212 | "babel-runtime": "6.26.0"
213 | }
214 | },
215 | "babel-plugin-transform-react-jsx-self": {
216 | "version": "6.22.0",
217 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
218 | "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
219 | "dev": true,
220 | "requires": {
221 | "babel-plugin-syntax-jsx": "6.18.0",
222 | "babel-runtime": "6.26.0"
223 | }
224 | },
225 | "babel-plugin-transform-react-jsx-source": {
226 | "version": "6.22.0",
227 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
228 | "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
229 | "dev": true,
230 | "requires": {
231 | "babel-plugin-syntax-jsx": "6.18.0",
232 | "babel-runtime": "6.26.0"
233 | }
234 | },
235 | "babel-polyfill": {
236 | "version": "6.26.0",
237 | "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
238 | "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
239 | "dev": true,
240 | "requires": {
241 | "babel-runtime": "6.26.0",
242 | "core-js": "2.5.1",
243 | "regenerator-runtime": "0.10.5"
244 | },
245 | "dependencies": {
246 | "regenerator-runtime": {
247 | "version": "0.10.5",
248 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
249 | "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
250 | "dev": true
251 | }
252 | }
253 | },
254 | "babel-preset-flow": {
255 | "version": "6.23.0",
256 | "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
257 | "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
258 | "dev": true,
259 | "requires": {
260 | "babel-plugin-transform-flow-strip-types": "6.22.0"
261 | }
262 | },
263 | "babel-preset-react": {
264 | "version": "6.24.1",
265 | "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
266 | "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
267 | "dev": true,
268 | "requires": {
269 | "babel-plugin-syntax-jsx": "6.18.0",
270 | "babel-plugin-transform-react-display-name": "6.25.0",
271 | "babel-plugin-transform-react-jsx": "6.24.1",
272 | "babel-plugin-transform-react-jsx-self": "6.22.0",
273 | "babel-plugin-transform-react-jsx-source": "6.22.0",
274 | "babel-preset-flow": "6.23.0"
275 | }
276 | },
277 | "babel-register": {
278 | "version": "6.26.0",
279 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
280 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
281 | "dev": true,
282 | "requires": {
283 | "babel-core": "6.26.0",
284 | "babel-runtime": "6.26.0",
285 | "core-js": "2.5.1",
286 | "home-or-tmp": "2.0.0",
287 | "lodash": "4.17.4",
288 | "mkdirp": "0.5.1",
289 | "source-map-support": "0.4.18"
290 | }
291 | },
292 | "babel-runtime": {
293 | "version": "6.26.0",
294 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
295 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
296 | "dev": true,
297 | "requires": {
298 | "core-js": "2.5.1",
299 | "regenerator-runtime": "0.11.0"
300 | }
301 | },
302 | "babel-template": {
303 | "version": "6.26.0",
304 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
305 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
306 | "dev": true,
307 | "requires": {
308 | "babel-runtime": "6.26.0",
309 | "babel-traverse": "6.26.0",
310 | "babel-types": "6.26.0",
311 | "babylon": "6.18.0",
312 | "lodash": "4.17.4"
313 | }
314 | },
315 | "babel-traverse": {
316 | "version": "6.26.0",
317 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
318 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
319 | "dev": true,
320 | "requires": {
321 | "babel-code-frame": "6.26.0",
322 | "babel-messages": "6.23.0",
323 | "babel-runtime": "6.26.0",
324 | "babel-types": "6.26.0",
325 | "babylon": "6.18.0",
326 | "debug": "2.6.9",
327 | "globals": "9.18.0",
328 | "invariant": "2.2.2",
329 | "lodash": "4.17.4"
330 | }
331 | },
332 | "babel-types": {
333 | "version": "6.26.0",
334 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
335 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
336 | "dev": true,
337 | "requires": {
338 | "babel-runtime": "6.26.0",
339 | "esutils": "2.0.2",
340 | "lodash": "4.17.4",
341 | "to-fast-properties": "1.0.3"
342 | }
343 | },
344 | "babylon": {
345 | "version": "6.18.0",
346 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
347 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
348 | "dev": true
349 | },
350 | "balanced-match": {
351 | "version": "1.0.0",
352 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
353 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
354 | "dev": true
355 | },
356 | "binary-extensions": {
357 | "version": "1.11.0",
358 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
359 | "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
360 | "dev": true,
361 | "optional": true
362 | },
363 | "brace-expansion": {
364 | "version": "1.1.8",
365 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
366 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
367 | "dev": true,
368 | "requires": {
369 | "balanced-match": "1.0.0",
370 | "concat-map": "0.0.1"
371 | }
372 | },
373 | "braces": {
374 | "version": "1.8.5",
375 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
376 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
377 | "dev": true,
378 | "optional": true,
379 | "requires": {
380 | "expand-range": "1.8.2",
381 | "preserve": "0.2.0",
382 | "repeat-element": "1.1.2"
383 | }
384 | },
385 | "chalk": {
386 | "version": "1.1.3",
387 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
388 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
389 | "dev": true,
390 | "requires": {
391 | "ansi-styles": "2.2.1",
392 | "escape-string-regexp": "1.0.5",
393 | "has-ansi": "2.0.0",
394 | "strip-ansi": "3.0.1",
395 | "supports-color": "2.0.0"
396 | }
397 | },
398 | "chokidar": {
399 | "version": "1.7.0",
400 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
401 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
402 | "dev": true,
403 | "optional": true,
404 | "requires": {
405 | "anymatch": "1.3.2",
406 | "async-each": "1.0.1",
407 | "fsevents": "1.1.3",
408 | "glob-parent": "2.0.0",
409 | "inherits": "2.0.3",
410 | "is-binary-path": "1.0.1",
411 | "is-glob": "2.0.1",
412 | "path-is-absolute": "1.0.1",
413 | "readdirp": "2.1.0"
414 | }
415 | },
416 | "commander": {
417 | "version": "2.12.2",
418 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
419 | "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
420 | "dev": true
421 | },
422 | "concat-map": {
423 | "version": "0.0.1",
424 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
425 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
426 | "dev": true
427 | },
428 | "convert-source-map": {
429 | "version": "1.5.1",
430 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
431 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
432 | "dev": true
433 | },
434 | "core-js": {
435 | "version": "2.5.1",
436 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz",
437 | "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=",
438 | "dev": true
439 | },
440 | "core-util-is": {
441 | "version": "1.0.2",
442 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
443 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
444 | "dev": true,
445 | "optional": true
446 | },
447 | "debug": {
448 | "version": "2.6.9",
449 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
450 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
451 | "dev": true,
452 | "requires": {
453 | "ms": "2.0.0"
454 | }
455 | },
456 | "detect-indent": {
457 | "version": "4.0.0",
458 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
459 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
460 | "dev": true,
461 | "requires": {
462 | "repeating": "2.0.1"
463 | }
464 | },
465 | "encoding": {
466 | "version": "0.1.12",
467 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
468 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
469 | "requires": {
470 | "iconv-lite": "0.4.19"
471 | }
472 | },
473 | "escape-string-regexp": {
474 | "version": "1.0.5",
475 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
476 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
477 | "dev": true
478 | },
479 | "esutils": {
480 | "version": "2.0.2",
481 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
482 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
483 | "dev": true
484 | },
485 | "expand-brackets": {
486 | "version": "0.1.5",
487 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
488 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
489 | "dev": true,
490 | "optional": true,
491 | "requires": {
492 | "is-posix-bracket": "0.1.1"
493 | }
494 | },
495 | "expand-range": {
496 | "version": "1.8.2",
497 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
498 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
499 | "dev": true,
500 | "optional": true,
501 | "requires": {
502 | "fill-range": "2.2.3"
503 | }
504 | },
505 | "extglob": {
506 | "version": "0.3.2",
507 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
508 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
509 | "dev": true,
510 | "optional": true,
511 | "requires": {
512 | "is-extglob": "1.0.0"
513 | }
514 | },
515 | "fbjs": {
516 | "version": "0.8.16",
517 | "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz",
518 | "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=",
519 | "requires": {
520 | "core-js": "1.2.7",
521 | "isomorphic-fetch": "2.2.1",
522 | "loose-envify": "1.3.1",
523 | "object-assign": "4.1.1",
524 | "promise": "7.3.1",
525 | "setimmediate": "1.0.5",
526 | "ua-parser-js": "0.7.17"
527 | },
528 | "dependencies": {
529 | "core-js": {
530 | "version": "1.2.7",
531 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
532 | "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
533 | }
534 | }
535 | },
536 | "filename-regex": {
537 | "version": "2.0.1",
538 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
539 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
540 | "dev": true,
541 | "optional": true
542 | },
543 | "fill-range": {
544 | "version": "2.2.3",
545 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
546 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
547 | "dev": true,
548 | "optional": true,
549 | "requires": {
550 | "is-number": "2.1.0",
551 | "isobject": "2.1.0",
552 | "randomatic": "1.1.7",
553 | "repeat-element": "1.1.2",
554 | "repeat-string": "1.6.1"
555 | }
556 | },
557 | "for-in": {
558 | "version": "1.0.2",
559 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
560 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
561 | "dev": true,
562 | "optional": true
563 | },
564 | "for-own": {
565 | "version": "0.1.5",
566 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
567 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
568 | "dev": true,
569 | "optional": true,
570 | "requires": {
571 | "for-in": "1.0.2"
572 | }
573 | },
574 | "fs-readdir-recursive": {
575 | "version": "1.1.0",
576 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
577 | "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
578 | "dev": true
579 | },
580 | "fs.realpath": {
581 | "version": "1.0.0",
582 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
583 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
584 | "dev": true
585 | },
586 | "fsevents": {
587 | "version": "1.1.3",
588 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
589 | "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
590 | "dev": true,
591 | "optional": true,
592 | "requires": {
593 | "nan": "2.8.0",
594 | "node-pre-gyp": "0.6.39"
595 | },
596 | "dependencies": {
597 | "abbrev": {
598 | "version": "1.1.0",
599 | "bundled": true,
600 | "dev": true,
601 | "optional": true
602 | },
603 | "ajv": {
604 | "version": "4.11.8",
605 | "bundled": true,
606 | "dev": true,
607 | "optional": true,
608 | "requires": {
609 | "co": "4.6.0",
610 | "json-stable-stringify": "1.0.1"
611 | }
612 | },
613 | "ansi-regex": {
614 | "version": "2.1.1",
615 | "bundled": true,
616 | "dev": true
617 | },
618 | "aproba": {
619 | "version": "1.1.1",
620 | "bundled": true,
621 | "dev": true,
622 | "optional": true
623 | },
624 | "are-we-there-yet": {
625 | "version": "1.1.4",
626 | "bundled": true,
627 | "dev": true,
628 | "optional": true,
629 | "requires": {
630 | "delegates": "1.0.0",
631 | "readable-stream": "2.2.9"
632 | }
633 | },
634 | "asn1": {
635 | "version": "0.2.3",
636 | "bundled": true,
637 | "dev": true,
638 | "optional": true
639 | },
640 | "assert-plus": {
641 | "version": "0.2.0",
642 | "bundled": true,
643 | "dev": true,
644 | "optional": true
645 | },
646 | "asynckit": {
647 | "version": "0.4.0",
648 | "bundled": true,
649 | "dev": true,
650 | "optional": true
651 | },
652 | "aws-sign2": {
653 | "version": "0.6.0",
654 | "bundled": true,
655 | "dev": true,
656 | "optional": true
657 | },
658 | "aws4": {
659 | "version": "1.6.0",
660 | "bundled": true,
661 | "dev": true,
662 | "optional": true
663 | },
664 | "balanced-match": {
665 | "version": "0.4.2",
666 | "bundled": true,
667 | "dev": true
668 | },
669 | "bcrypt-pbkdf": {
670 | "version": "1.0.1",
671 | "bundled": true,
672 | "dev": true,
673 | "optional": true,
674 | "requires": {
675 | "tweetnacl": "0.14.5"
676 | }
677 | },
678 | "block-stream": {
679 | "version": "0.0.9",
680 | "bundled": true,
681 | "dev": true,
682 | "requires": {
683 | "inherits": "2.0.3"
684 | }
685 | },
686 | "boom": {
687 | "version": "2.10.1",
688 | "bundled": true,
689 | "dev": true,
690 | "requires": {
691 | "hoek": "2.16.3"
692 | }
693 | },
694 | "brace-expansion": {
695 | "version": "1.1.7",
696 | "bundled": true,
697 | "dev": true,
698 | "requires": {
699 | "balanced-match": "0.4.2",
700 | "concat-map": "0.0.1"
701 | }
702 | },
703 | "buffer-shims": {
704 | "version": "1.0.0",
705 | "bundled": true,
706 | "dev": true
707 | },
708 | "caseless": {
709 | "version": "0.12.0",
710 | "bundled": true,
711 | "dev": true,
712 | "optional": true
713 | },
714 | "co": {
715 | "version": "4.6.0",
716 | "bundled": true,
717 | "dev": true,
718 | "optional": true
719 | },
720 | "code-point-at": {
721 | "version": "1.1.0",
722 | "bundled": true,
723 | "dev": true
724 | },
725 | "combined-stream": {
726 | "version": "1.0.5",
727 | "bundled": true,
728 | "dev": true,
729 | "requires": {
730 | "delayed-stream": "1.0.0"
731 | }
732 | },
733 | "concat-map": {
734 | "version": "0.0.1",
735 | "bundled": true,
736 | "dev": true
737 | },
738 | "console-control-strings": {
739 | "version": "1.1.0",
740 | "bundled": true,
741 | "dev": true
742 | },
743 | "core-util-is": {
744 | "version": "1.0.2",
745 | "bundled": true,
746 | "dev": true
747 | },
748 | "cryptiles": {
749 | "version": "2.0.5",
750 | "bundled": true,
751 | "dev": true,
752 | "requires": {
753 | "boom": "2.10.1"
754 | }
755 | },
756 | "dashdash": {
757 | "version": "1.14.1",
758 | "bundled": true,
759 | "dev": true,
760 | "optional": true,
761 | "requires": {
762 | "assert-plus": "1.0.0"
763 | },
764 | "dependencies": {
765 | "assert-plus": {
766 | "version": "1.0.0",
767 | "bundled": true,
768 | "dev": true,
769 | "optional": true
770 | }
771 | }
772 | },
773 | "debug": {
774 | "version": "2.6.8",
775 | "bundled": true,
776 | "dev": true,
777 | "optional": true,
778 | "requires": {
779 | "ms": "2.0.0"
780 | }
781 | },
782 | "deep-extend": {
783 | "version": "0.4.2",
784 | "bundled": true,
785 | "dev": true,
786 | "optional": true
787 | },
788 | "delayed-stream": {
789 | "version": "1.0.0",
790 | "bundled": true,
791 | "dev": true
792 | },
793 | "delegates": {
794 | "version": "1.0.0",
795 | "bundled": true,
796 | "dev": true,
797 | "optional": true
798 | },
799 | "detect-libc": {
800 | "version": "1.0.2",
801 | "bundled": true,
802 | "dev": true,
803 | "optional": true
804 | },
805 | "ecc-jsbn": {
806 | "version": "0.1.1",
807 | "bundled": true,
808 | "dev": true,
809 | "optional": true,
810 | "requires": {
811 | "jsbn": "0.1.1"
812 | }
813 | },
814 | "extend": {
815 | "version": "3.0.1",
816 | "bundled": true,
817 | "dev": true,
818 | "optional": true
819 | },
820 | "extsprintf": {
821 | "version": "1.0.2",
822 | "bundled": true,
823 | "dev": true
824 | },
825 | "forever-agent": {
826 | "version": "0.6.1",
827 | "bundled": true,
828 | "dev": true,
829 | "optional": true
830 | },
831 | "form-data": {
832 | "version": "2.1.4",
833 | "bundled": true,
834 | "dev": true,
835 | "optional": true,
836 | "requires": {
837 | "asynckit": "0.4.0",
838 | "combined-stream": "1.0.5",
839 | "mime-types": "2.1.15"
840 | }
841 | },
842 | "fs.realpath": {
843 | "version": "1.0.0",
844 | "bundled": true,
845 | "dev": true
846 | },
847 | "fstream": {
848 | "version": "1.0.11",
849 | "bundled": true,
850 | "dev": true,
851 | "requires": {
852 | "graceful-fs": "4.1.11",
853 | "inherits": "2.0.3",
854 | "mkdirp": "0.5.1",
855 | "rimraf": "2.6.1"
856 | }
857 | },
858 | "fstream-ignore": {
859 | "version": "1.0.5",
860 | "bundled": true,
861 | "dev": true,
862 | "optional": true,
863 | "requires": {
864 | "fstream": "1.0.11",
865 | "inherits": "2.0.3",
866 | "minimatch": "3.0.4"
867 | }
868 | },
869 | "gauge": {
870 | "version": "2.7.4",
871 | "bundled": true,
872 | "dev": true,
873 | "optional": true,
874 | "requires": {
875 | "aproba": "1.1.1",
876 | "console-control-strings": "1.1.0",
877 | "has-unicode": "2.0.1",
878 | "object-assign": "4.1.1",
879 | "signal-exit": "3.0.2",
880 | "string-width": "1.0.2",
881 | "strip-ansi": "3.0.1",
882 | "wide-align": "1.1.2"
883 | }
884 | },
885 | "getpass": {
886 | "version": "0.1.7",
887 | "bundled": true,
888 | "dev": true,
889 | "optional": true,
890 | "requires": {
891 | "assert-plus": "1.0.0"
892 | },
893 | "dependencies": {
894 | "assert-plus": {
895 | "version": "1.0.0",
896 | "bundled": true,
897 | "dev": true,
898 | "optional": true
899 | }
900 | }
901 | },
902 | "glob": {
903 | "version": "7.1.2",
904 | "bundled": true,
905 | "dev": true,
906 | "requires": {
907 | "fs.realpath": "1.0.0",
908 | "inflight": "1.0.6",
909 | "inherits": "2.0.3",
910 | "minimatch": "3.0.4",
911 | "once": "1.4.0",
912 | "path-is-absolute": "1.0.1"
913 | }
914 | },
915 | "graceful-fs": {
916 | "version": "4.1.11",
917 | "bundled": true,
918 | "dev": true
919 | },
920 | "har-schema": {
921 | "version": "1.0.5",
922 | "bundled": true,
923 | "dev": true,
924 | "optional": true
925 | },
926 | "har-validator": {
927 | "version": "4.2.1",
928 | "bundled": true,
929 | "dev": true,
930 | "optional": true,
931 | "requires": {
932 | "ajv": "4.11.8",
933 | "har-schema": "1.0.5"
934 | }
935 | },
936 | "has-unicode": {
937 | "version": "2.0.1",
938 | "bundled": true,
939 | "dev": true,
940 | "optional": true
941 | },
942 | "hawk": {
943 | "version": "3.1.3",
944 | "bundled": true,
945 | "dev": true,
946 | "requires": {
947 | "boom": "2.10.1",
948 | "cryptiles": "2.0.5",
949 | "hoek": "2.16.3",
950 | "sntp": "1.0.9"
951 | }
952 | },
953 | "hoek": {
954 | "version": "2.16.3",
955 | "bundled": true,
956 | "dev": true
957 | },
958 | "http-signature": {
959 | "version": "1.1.1",
960 | "bundled": true,
961 | "dev": true,
962 | "optional": true,
963 | "requires": {
964 | "assert-plus": "0.2.0",
965 | "jsprim": "1.4.0",
966 | "sshpk": "1.13.0"
967 | }
968 | },
969 | "inflight": {
970 | "version": "1.0.6",
971 | "bundled": true,
972 | "dev": true,
973 | "requires": {
974 | "once": "1.4.0",
975 | "wrappy": "1.0.2"
976 | }
977 | },
978 | "inherits": {
979 | "version": "2.0.3",
980 | "bundled": true,
981 | "dev": true
982 | },
983 | "ini": {
984 | "version": "1.3.4",
985 | "bundled": true,
986 | "dev": true,
987 | "optional": true
988 | },
989 | "is-fullwidth-code-point": {
990 | "version": "1.0.0",
991 | "bundled": true,
992 | "dev": true,
993 | "requires": {
994 | "number-is-nan": "1.0.1"
995 | }
996 | },
997 | "is-typedarray": {
998 | "version": "1.0.0",
999 | "bundled": true,
1000 | "dev": true,
1001 | "optional": true
1002 | },
1003 | "isarray": {
1004 | "version": "1.0.0",
1005 | "bundled": true,
1006 | "dev": true
1007 | },
1008 | "isstream": {
1009 | "version": "0.1.2",
1010 | "bundled": true,
1011 | "dev": true,
1012 | "optional": true
1013 | },
1014 | "jodid25519": {
1015 | "version": "1.0.2",
1016 | "bundled": true,
1017 | "dev": true,
1018 | "optional": true,
1019 | "requires": {
1020 | "jsbn": "0.1.1"
1021 | }
1022 | },
1023 | "jsbn": {
1024 | "version": "0.1.1",
1025 | "bundled": true,
1026 | "dev": true,
1027 | "optional": true
1028 | },
1029 | "json-schema": {
1030 | "version": "0.2.3",
1031 | "bundled": true,
1032 | "dev": true,
1033 | "optional": true
1034 | },
1035 | "json-stable-stringify": {
1036 | "version": "1.0.1",
1037 | "bundled": true,
1038 | "dev": true,
1039 | "optional": true,
1040 | "requires": {
1041 | "jsonify": "0.0.0"
1042 | }
1043 | },
1044 | "json-stringify-safe": {
1045 | "version": "5.0.1",
1046 | "bundled": true,
1047 | "dev": true,
1048 | "optional": true
1049 | },
1050 | "jsonify": {
1051 | "version": "0.0.0",
1052 | "bundled": true,
1053 | "dev": true,
1054 | "optional": true
1055 | },
1056 | "jsprim": {
1057 | "version": "1.4.0",
1058 | "bundled": true,
1059 | "dev": true,
1060 | "optional": true,
1061 | "requires": {
1062 | "assert-plus": "1.0.0",
1063 | "extsprintf": "1.0.2",
1064 | "json-schema": "0.2.3",
1065 | "verror": "1.3.6"
1066 | },
1067 | "dependencies": {
1068 | "assert-plus": {
1069 | "version": "1.0.0",
1070 | "bundled": true,
1071 | "dev": true,
1072 | "optional": true
1073 | }
1074 | }
1075 | },
1076 | "mime-db": {
1077 | "version": "1.27.0",
1078 | "bundled": true,
1079 | "dev": true
1080 | },
1081 | "mime-types": {
1082 | "version": "2.1.15",
1083 | "bundled": true,
1084 | "dev": true,
1085 | "requires": {
1086 | "mime-db": "1.27.0"
1087 | }
1088 | },
1089 | "minimatch": {
1090 | "version": "3.0.4",
1091 | "bundled": true,
1092 | "dev": true,
1093 | "requires": {
1094 | "brace-expansion": "1.1.7"
1095 | }
1096 | },
1097 | "minimist": {
1098 | "version": "0.0.8",
1099 | "bundled": true,
1100 | "dev": true
1101 | },
1102 | "mkdirp": {
1103 | "version": "0.5.1",
1104 | "bundled": true,
1105 | "dev": true,
1106 | "requires": {
1107 | "minimist": "0.0.8"
1108 | }
1109 | },
1110 | "ms": {
1111 | "version": "2.0.0",
1112 | "bundled": true,
1113 | "dev": true,
1114 | "optional": true
1115 | },
1116 | "node-pre-gyp": {
1117 | "version": "0.6.39",
1118 | "bundled": true,
1119 | "dev": true,
1120 | "optional": true,
1121 | "requires": {
1122 | "detect-libc": "1.0.2",
1123 | "hawk": "3.1.3",
1124 | "mkdirp": "0.5.1",
1125 | "nopt": "4.0.1",
1126 | "npmlog": "4.1.0",
1127 | "rc": "1.2.1",
1128 | "request": "2.81.0",
1129 | "rimraf": "2.6.1",
1130 | "semver": "5.3.0",
1131 | "tar": "2.2.1",
1132 | "tar-pack": "3.4.0"
1133 | }
1134 | },
1135 | "nopt": {
1136 | "version": "4.0.1",
1137 | "bundled": true,
1138 | "dev": true,
1139 | "optional": true,
1140 | "requires": {
1141 | "abbrev": "1.1.0",
1142 | "osenv": "0.1.4"
1143 | }
1144 | },
1145 | "npmlog": {
1146 | "version": "4.1.0",
1147 | "bundled": true,
1148 | "dev": true,
1149 | "optional": true,
1150 | "requires": {
1151 | "are-we-there-yet": "1.1.4",
1152 | "console-control-strings": "1.1.0",
1153 | "gauge": "2.7.4",
1154 | "set-blocking": "2.0.0"
1155 | }
1156 | },
1157 | "number-is-nan": {
1158 | "version": "1.0.1",
1159 | "bundled": true,
1160 | "dev": true
1161 | },
1162 | "oauth-sign": {
1163 | "version": "0.8.2",
1164 | "bundled": true,
1165 | "dev": true,
1166 | "optional": true
1167 | },
1168 | "object-assign": {
1169 | "version": "4.1.1",
1170 | "bundled": true,
1171 | "dev": true,
1172 | "optional": true
1173 | },
1174 | "once": {
1175 | "version": "1.4.0",
1176 | "bundled": true,
1177 | "dev": true,
1178 | "requires": {
1179 | "wrappy": "1.0.2"
1180 | }
1181 | },
1182 | "os-homedir": {
1183 | "version": "1.0.2",
1184 | "bundled": true,
1185 | "dev": true,
1186 | "optional": true
1187 | },
1188 | "os-tmpdir": {
1189 | "version": "1.0.2",
1190 | "bundled": true,
1191 | "dev": true,
1192 | "optional": true
1193 | },
1194 | "osenv": {
1195 | "version": "0.1.4",
1196 | "bundled": true,
1197 | "dev": true,
1198 | "optional": true,
1199 | "requires": {
1200 | "os-homedir": "1.0.2",
1201 | "os-tmpdir": "1.0.2"
1202 | }
1203 | },
1204 | "path-is-absolute": {
1205 | "version": "1.0.1",
1206 | "bundled": true,
1207 | "dev": true
1208 | },
1209 | "performance-now": {
1210 | "version": "0.2.0",
1211 | "bundled": true,
1212 | "dev": true,
1213 | "optional": true
1214 | },
1215 | "process-nextick-args": {
1216 | "version": "1.0.7",
1217 | "bundled": true,
1218 | "dev": true
1219 | },
1220 | "punycode": {
1221 | "version": "1.4.1",
1222 | "bundled": true,
1223 | "dev": true,
1224 | "optional": true
1225 | },
1226 | "qs": {
1227 | "version": "6.4.0",
1228 | "bundled": true,
1229 | "dev": true,
1230 | "optional": true
1231 | },
1232 | "rc": {
1233 | "version": "1.2.1",
1234 | "bundled": true,
1235 | "dev": true,
1236 | "optional": true,
1237 | "requires": {
1238 | "deep-extend": "0.4.2",
1239 | "ini": "1.3.4",
1240 | "minimist": "1.2.0",
1241 | "strip-json-comments": "2.0.1"
1242 | },
1243 | "dependencies": {
1244 | "minimist": {
1245 | "version": "1.2.0",
1246 | "bundled": true,
1247 | "dev": true,
1248 | "optional": true
1249 | }
1250 | }
1251 | },
1252 | "readable-stream": {
1253 | "version": "2.2.9",
1254 | "bundled": true,
1255 | "dev": true,
1256 | "requires": {
1257 | "buffer-shims": "1.0.0",
1258 | "core-util-is": "1.0.2",
1259 | "inherits": "2.0.3",
1260 | "isarray": "1.0.0",
1261 | "process-nextick-args": "1.0.7",
1262 | "string_decoder": "1.0.1",
1263 | "util-deprecate": "1.0.2"
1264 | }
1265 | },
1266 | "request": {
1267 | "version": "2.81.0",
1268 | "bundled": true,
1269 | "dev": true,
1270 | "optional": true,
1271 | "requires": {
1272 | "aws-sign2": "0.6.0",
1273 | "aws4": "1.6.0",
1274 | "caseless": "0.12.0",
1275 | "combined-stream": "1.0.5",
1276 | "extend": "3.0.1",
1277 | "forever-agent": "0.6.1",
1278 | "form-data": "2.1.4",
1279 | "har-validator": "4.2.1",
1280 | "hawk": "3.1.3",
1281 | "http-signature": "1.1.1",
1282 | "is-typedarray": "1.0.0",
1283 | "isstream": "0.1.2",
1284 | "json-stringify-safe": "5.0.1",
1285 | "mime-types": "2.1.15",
1286 | "oauth-sign": "0.8.2",
1287 | "performance-now": "0.2.0",
1288 | "qs": "6.4.0",
1289 | "safe-buffer": "5.0.1",
1290 | "stringstream": "0.0.5",
1291 | "tough-cookie": "2.3.2",
1292 | "tunnel-agent": "0.6.0",
1293 | "uuid": "3.0.1"
1294 | }
1295 | },
1296 | "rimraf": {
1297 | "version": "2.6.1",
1298 | "bundled": true,
1299 | "dev": true,
1300 | "requires": {
1301 | "glob": "7.1.2"
1302 | }
1303 | },
1304 | "safe-buffer": {
1305 | "version": "5.0.1",
1306 | "bundled": true,
1307 | "dev": true
1308 | },
1309 | "semver": {
1310 | "version": "5.3.0",
1311 | "bundled": true,
1312 | "dev": true,
1313 | "optional": true
1314 | },
1315 | "set-blocking": {
1316 | "version": "2.0.0",
1317 | "bundled": true,
1318 | "dev": true,
1319 | "optional": true
1320 | },
1321 | "signal-exit": {
1322 | "version": "3.0.2",
1323 | "bundled": true,
1324 | "dev": true,
1325 | "optional": true
1326 | },
1327 | "sntp": {
1328 | "version": "1.0.9",
1329 | "bundled": true,
1330 | "dev": true,
1331 | "requires": {
1332 | "hoek": "2.16.3"
1333 | }
1334 | },
1335 | "sshpk": {
1336 | "version": "1.13.0",
1337 | "bundled": true,
1338 | "dev": true,
1339 | "optional": true,
1340 | "requires": {
1341 | "asn1": "0.2.3",
1342 | "assert-plus": "1.0.0",
1343 | "bcrypt-pbkdf": "1.0.1",
1344 | "dashdash": "1.14.1",
1345 | "ecc-jsbn": "0.1.1",
1346 | "getpass": "0.1.7",
1347 | "jodid25519": "1.0.2",
1348 | "jsbn": "0.1.1",
1349 | "tweetnacl": "0.14.5"
1350 | },
1351 | "dependencies": {
1352 | "assert-plus": {
1353 | "version": "1.0.0",
1354 | "bundled": true,
1355 | "dev": true,
1356 | "optional": true
1357 | }
1358 | }
1359 | },
1360 | "string-width": {
1361 | "version": "1.0.2",
1362 | "bundled": true,
1363 | "dev": true,
1364 | "requires": {
1365 | "code-point-at": "1.1.0",
1366 | "is-fullwidth-code-point": "1.0.0",
1367 | "strip-ansi": "3.0.1"
1368 | }
1369 | },
1370 | "string_decoder": {
1371 | "version": "1.0.1",
1372 | "bundled": true,
1373 | "dev": true,
1374 | "requires": {
1375 | "safe-buffer": "5.0.1"
1376 | }
1377 | },
1378 | "stringstream": {
1379 | "version": "0.0.5",
1380 | "bundled": true,
1381 | "dev": true,
1382 | "optional": true
1383 | },
1384 | "strip-ansi": {
1385 | "version": "3.0.1",
1386 | "bundled": true,
1387 | "dev": true,
1388 | "requires": {
1389 | "ansi-regex": "2.1.1"
1390 | }
1391 | },
1392 | "strip-json-comments": {
1393 | "version": "2.0.1",
1394 | "bundled": true,
1395 | "dev": true,
1396 | "optional": true
1397 | },
1398 | "tar": {
1399 | "version": "2.2.1",
1400 | "bundled": true,
1401 | "dev": true,
1402 | "requires": {
1403 | "block-stream": "0.0.9",
1404 | "fstream": "1.0.11",
1405 | "inherits": "2.0.3"
1406 | }
1407 | },
1408 | "tar-pack": {
1409 | "version": "3.4.0",
1410 | "bundled": true,
1411 | "dev": true,
1412 | "optional": true,
1413 | "requires": {
1414 | "debug": "2.6.8",
1415 | "fstream": "1.0.11",
1416 | "fstream-ignore": "1.0.5",
1417 | "once": "1.4.0",
1418 | "readable-stream": "2.2.9",
1419 | "rimraf": "2.6.1",
1420 | "tar": "2.2.1",
1421 | "uid-number": "0.0.6"
1422 | }
1423 | },
1424 | "tough-cookie": {
1425 | "version": "2.3.2",
1426 | "bundled": true,
1427 | "dev": true,
1428 | "optional": true,
1429 | "requires": {
1430 | "punycode": "1.4.1"
1431 | }
1432 | },
1433 | "tunnel-agent": {
1434 | "version": "0.6.0",
1435 | "bundled": true,
1436 | "dev": true,
1437 | "optional": true,
1438 | "requires": {
1439 | "safe-buffer": "5.0.1"
1440 | }
1441 | },
1442 | "tweetnacl": {
1443 | "version": "0.14.5",
1444 | "bundled": true,
1445 | "dev": true,
1446 | "optional": true
1447 | },
1448 | "uid-number": {
1449 | "version": "0.0.6",
1450 | "bundled": true,
1451 | "dev": true,
1452 | "optional": true
1453 | },
1454 | "util-deprecate": {
1455 | "version": "1.0.2",
1456 | "bundled": true,
1457 | "dev": true
1458 | },
1459 | "uuid": {
1460 | "version": "3.0.1",
1461 | "bundled": true,
1462 | "dev": true,
1463 | "optional": true
1464 | },
1465 | "verror": {
1466 | "version": "1.3.6",
1467 | "bundled": true,
1468 | "dev": true,
1469 | "optional": true,
1470 | "requires": {
1471 | "extsprintf": "1.0.2"
1472 | }
1473 | },
1474 | "wide-align": {
1475 | "version": "1.1.2",
1476 | "bundled": true,
1477 | "dev": true,
1478 | "optional": true,
1479 | "requires": {
1480 | "string-width": "1.0.2"
1481 | }
1482 | },
1483 | "wrappy": {
1484 | "version": "1.0.2",
1485 | "bundled": true,
1486 | "dev": true
1487 | }
1488 | }
1489 | },
1490 | "glob": {
1491 | "version": "7.1.2",
1492 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
1493 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1494 | "dev": true,
1495 | "requires": {
1496 | "fs.realpath": "1.0.0",
1497 | "inflight": "1.0.6",
1498 | "inherits": "2.0.3",
1499 | "minimatch": "3.0.4",
1500 | "once": "1.4.0",
1501 | "path-is-absolute": "1.0.1"
1502 | }
1503 | },
1504 | "glob-base": {
1505 | "version": "0.3.0",
1506 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1507 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1508 | "dev": true,
1509 | "optional": true,
1510 | "requires": {
1511 | "glob-parent": "2.0.0",
1512 | "is-glob": "2.0.1"
1513 | }
1514 | },
1515 | "glob-parent": {
1516 | "version": "2.0.0",
1517 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1518 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1519 | "dev": true,
1520 | "requires": {
1521 | "is-glob": "2.0.1"
1522 | }
1523 | },
1524 | "globals": {
1525 | "version": "9.18.0",
1526 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
1527 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
1528 | "dev": true
1529 | },
1530 | "graceful-fs": {
1531 | "version": "4.1.11",
1532 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
1533 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
1534 | "dev": true
1535 | },
1536 | "has-ansi": {
1537 | "version": "2.0.0",
1538 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1539 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1540 | "dev": true,
1541 | "requires": {
1542 | "ansi-regex": "2.1.1"
1543 | }
1544 | },
1545 | "home-or-tmp": {
1546 | "version": "2.0.0",
1547 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
1548 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
1549 | "dev": true,
1550 | "requires": {
1551 | "os-homedir": "1.0.2",
1552 | "os-tmpdir": "1.0.2"
1553 | }
1554 | },
1555 | "iconv-lite": {
1556 | "version": "0.4.19",
1557 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
1558 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
1559 | },
1560 | "inflight": {
1561 | "version": "1.0.6",
1562 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1563 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1564 | "dev": true,
1565 | "requires": {
1566 | "once": "1.4.0",
1567 | "wrappy": "1.0.2"
1568 | }
1569 | },
1570 | "inherits": {
1571 | "version": "2.0.3",
1572 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1573 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
1574 | "dev": true
1575 | },
1576 | "invariant": {
1577 | "version": "2.2.2",
1578 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
1579 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
1580 | "dev": true,
1581 | "requires": {
1582 | "loose-envify": "1.3.1"
1583 | }
1584 | },
1585 | "is-binary-path": {
1586 | "version": "1.0.1",
1587 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
1588 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
1589 | "dev": true,
1590 | "optional": true,
1591 | "requires": {
1592 | "binary-extensions": "1.11.0"
1593 | }
1594 | },
1595 | "is-buffer": {
1596 | "version": "1.1.6",
1597 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1598 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1599 | "dev": true
1600 | },
1601 | "is-dotfile": {
1602 | "version": "1.0.3",
1603 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1604 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1605 | "dev": true,
1606 | "optional": true
1607 | },
1608 | "is-equal-shallow": {
1609 | "version": "0.1.3",
1610 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1611 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1612 | "dev": true,
1613 | "optional": true,
1614 | "requires": {
1615 | "is-primitive": "2.0.0"
1616 | }
1617 | },
1618 | "is-extendable": {
1619 | "version": "0.1.1",
1620 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1621 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1622 | "dev": true,
1623 | "optional": true
1624 | },
1625 | "is-extglob": {
1626 | "version": "1.0.0",
1627 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1628 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1629 | "dev": true
1630 | },
1631 | "is-finite": {
1632 | "version": "1.0.2",
1633 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
1634 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
1635 | "dev": true,
1636 | "requires": {
1637 | "number-is-nan": "1.0.1"
1638 | }
1639 | },
1640 | "is-glob": {
1641 | "version": "2.0.1",
1642 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1643 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1644 | "dev": true,
1645 | "requires": {
1646 | "is-extglob": "1.0.0"
1647 | }
1648 | },
1649 | "is-number": {
1650 | "version": "2.1.0",
1651 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1652 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1653 | "dev": true,
1654 | "optional": true,
1655 | "requires": {
1656 | "kind-of": "3.2.2"
1657 | }
1658 | },
1659 | "is-posix-bracket": {
1660 | "version": "0.1.1",
1661 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1662 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
1663 | "dev": true,
1664 | "optional": true
1665 | },
1666 | "is-primitive": {
1667 | "version": "2.0.0",
1668 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1669 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
1670 | "dev": true,
1671 | "optional": true
1672 | },
1673 | "is-stream": {
1674 | "version": "1.1.0",
1675 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1676 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
1677 | },
1678 | "isarray": {
1679 | "version": "1.0.0",
1680 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1681 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1682 | "dev": true
1683 | },
1684 | "isobject": {
1685 | "version": "2.1.0",
1686 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1687 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1688 | "dev": true,
1689 | "optional": true,
1690 | "requires": {
1691 | "isarray": "1.0.0"
1692 | }
1693 | },
1694 | "isomorphic-fetch": {
1695 | "version": "2.2.1",
1696 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
1697 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
1698 | "requires": {
1699 | "node-fetch": "1.7.3",
1700 | "whatwg-fetch": "2.0.3"
1701 | }
1702 | },
1703 | "js-tokens": {
1704 | "version": "3.0.2",
1705 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
1706 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
1707 | },
1708 | "jsesc": {
1709 | "version": "1.3.0",
1710 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
1711 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
1712 | "dev": true
1713 | },
1714 | "json5": {
1715 | "version": "0.5.1",
1716 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
1717 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
1718 | "dev": true
1719 | },
1720 | "kind-of": {
1721 | "version": "3.2.2",
1722 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1723 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1724 | "dev": true,
1725 | "requires": {
1726 | "is-buffer": "1.1.6"
1727 | }
1728 | },
1729 | "lodash": {
1730 | "version": "4.17.4",
1731 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
1732 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
1733 | "dev": true
1734 | },
1735 | "loose-envify": {
1736 | "version": "1.3.1",
1737 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
1738 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
1739 | "requires": {
1740 | "js-tokens": "3.0.2"
1741 | }
1742 | },
1743 | "micromatch": {
1744 | "version": "2.3.11",
1745 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
1746 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
1747 | "dev": true,
1748 | "optional": true,
1749 | "requires": {
1750 | "arr-diff": "2.0.0",
1751 | "array-unique": "0.2.1",
1752 | "braces": "1.8.5",
1753 | "expand-brackets": "0.1.5",
1754 | "extglob": "0.3.2",
1755 | "filename-regex": "2.0.1",
1756 | "is-extglob": "1.0.0",
1757 | "is-glob": "2.0.1",
1758 | "kind-of": "3.2.2",
1759 | "normalize-path": "2.1.1",
1760 | "object.omit": "2.0.1",
1761 | "parse-glob": "3.0.4",
1762 | "regex-cache": "0.4.4"
1763 | }
1764 | },
1765 | "minimatch": {
1766 | "version": "3.0.4",
1767 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1768 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1769 | "dev": true,
1770 | "requires": {
1771 | "brace-expansion": "1.1.8"
1772 | }
1773 | },
1774 | "minimist": {
1775 | "version": "0.0.8",
1776 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
1777 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
1778 | "dev": true
1779 | },
1780 | "mkdirp": {
1781 | "version": "0.5.1",
1782 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
1783 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
1784 | "dev": true,
1785 | "requires": {
1786 | "minimist": "0.0.8"
1787 | }
1788 | },
1789 | "ms": {
1790 | "version": "2.0.0",
1791 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1792 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1793 | "dev": true
1794 | },
1795 | "nan": {
1796 | "version": "2.8.0",
1797 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
1798 | "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=",
1799 | "dev": true,
1800 | "optional": true
1801 | },
1802 | "node-fetch": {
1803 | "version": "1.7.3",
1804 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
1805 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
1806 | "requires": {
1807 | "encoding": "0.1.12",
1808 | "is-stream": "1.1.0"
1809 | }
1810 | },
1811 | "normalize-path": {
1812 | "version": "2.1.1",
1813 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
1814 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
1815 | "dev": true,
1816 | "requires": {
1817 | "remove-trailing-separator": "1.1.0"
1818 | }
1819 | },
1820 | "number-is-nan": {
1821 | "version": "1.0.1",
1822 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
1823 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
1824 | "dev": true
1825 | },
1826 | "object-assign": {
1827 | "version": "4.1.1",
1828 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1829 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
1830 | },
1831 | "object.omit": {
1832 | "version": "2.0.1",
1833 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
1834 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
1835 | "dev": true,
1836 | "optional": true,
1837 | "requires": {
1838 | "for-own": "0.1.5",
1839 | "is-extendable": "0.1.1"
1840 | }
1841 | },
1842 | "once": {
1843 | "version": "1.4.0",
1844 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1845 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1846 | "dev": true,
1847 | "requires": {
1848 | "wrappy": "1.0.2"
1849 | }
1850 | },
1851 | "os-homedir": {
1852 | "version": "1.0.2",
1853 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1854 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
1855 | "dev": true
1856 | },
1857 | "os-tmpdir": {
1858 | "version": "1.0.2",
1859 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1860 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
1861 | "dev": true
1862 | },
1863 | "output-file-sync": {
1864 | "version": "1.1.2",
1865 | "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz",
1866 | "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=",
1867 | "dev": true,
1868 | "requires": {
1869 | "graceful-fs": "4.1.11",
1870 | "mkdirp": "0.5.1",
1871 | "object-assign": "4.1.1"
1872 | }
1873 | },
1874 | "parse-glob": {
1875 | "version": "3.0.4",
1876 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
1877 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
1878 | "dev": true,
1879 | "optional": true,
1880 | "requires": {
1881 | "glob-base": "0.3.0",
1882 | "is-dotfile": "1.0.3",
1883 | "is-extglob": "1.0.0",
1884 | "is-glob": "2.0.1"
1885 | }
1886 | },
1887 | "path-is-absolute": {
1888 | "version": "1.0.1",
1889 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1890 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1891 | "dev": true
1892 | },
1893 | "preserve": {
1894 | "version": "0.2.0",
1895 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
1896 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
1897 | "dev": true,
1898 | "optional": true
1899 | },
1900 | "private": {
1901 | "version": "0.1.8",
1902 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
1903 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
1904 | "dev": true
1905 | },
1906 | "process-nextick-args": {
1907 | "version": "1.0.7",
1908 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
1909 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
1910 | "dev": true,
1911 | "optional": true
1912 | },
1913 | "promise": {
1914 | "version": "7.3.1",
1915 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
1916 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
1917 | "requires": {
1918 | "asap": "2.0.6"
1919 | }
1920 | },
1921 | "prop-types": {
1922 | "version": "15.6.0",
1923 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz",
1924 | "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=",
1925 | "requires": {
1926 | "fbjs": "0.8.16",
1927 | "loose-envify": "1.3.1",
1928 | "object-assign": "4.1.1"
1929 | }
1930 | },
1931 | "randomatic": {
1932 | "version": "1.1.7",
1933 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
1934 | "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
1935 | "dev": true,
1936 | "optional": true,
1937 | "requires": {
1938 | "is-number": "3.0.0",
1939 | "kind-of": "4.0.0"
1940 | },
1941 | "dependencies": {
1942 | "is-number": {
1943 | "version": "3.0.0",
1944 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1945 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1946 | "dev": true,
1947 | "optional": true,
1948 | "requires": {
1949 | "kind-of": "3.2.2"
1950 | },
1951 | "dependencies": {
1952 | "kind-of": {
1953 | "version": "3.2.2",
1954 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1955 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1956 | "dev": true,
1957 | "optional": true,
1958 | "requires": {
1959 | "is-buffer": "1.1.6"
1960 | }
1961 | }
1962 | }
1963 | },
1964 | "kind-of": {
1965 | "version": "4.0.0",
1966 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1967 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1968 | "dev": true,
1969 | "optional": true,
1970 | "requires": {
1971 | "is-buffer": "1.1.6"
1972 | }
1973 | }
1974 | }
1975 | },
1976 | "react-fontawesome": {
1977 | "version": "1.6.1",
1978 | "resolved": "https://registry.npmjs.org/react-fontawesome/-/react-fontawesome-1.6.1.tgz",
1979 | "integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=",
1980 | "requires": {
1981 | "prop-types": "15.6.0"
1982 | }
1983 | },
1984 | "readable-stream": {
1985 | "version": "2.3.3",
1986 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
1987 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
1988 | "dev": true,
1989 | "optional": true,
1990 | "requires": {
1991 | "core-util-is": "1.0.2",
1992 | "inherits": "2.0.3",
1993 | "isarray": "1.0.0",
1994 | "process-nextick-args": "1.0.7",
1995 | "safe-buffer": "5.1.1",
1996 | "string_decoder": "1.0.3",
1997 | "util-deprecate": "1.0.2"
1998 | }
1999 | },
2000 | "readdirp": {
2001 | "version": "2.1.0",
2002 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
2003 | "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
2004 | "dev": true,
2005 | "optional": true,
2006 | "requires": {
2007 | "graceful-fs": "4.1.11",
2008 | "minimatch": "3.0.4",
2009 | "readable-stream": "2.3.3",
2010 | "set-immediate-shim": "1.0.1"
2011 | }
2012 | },
2013 | "regenerator-runtime": {
2014 | "version": "0.11.0",
2015 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
2016 | "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==",
2017 | "dev": true
2018 | },
2019 | "regex-cache": {
2020 | "version": "0.4.4",
2021 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
2022 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
2023 | "dev": true,
2024 | "optional": true,
2025 | "requires": {
2026 | "is-equal-shallow": "0.1.3"
2027 | }
2028 | },
2029 | "remove-trailing-separator": {
2030 | "version": "1.1.0",
2031 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
2032 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
2033 | "dev": true
2034 | },
2035 | "repeat-element": {
2036 | "version": "1.1.2",
2037 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
2038 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
2039 | "dev": true
2040 | },
2041 | "repeat-string": {
2042 | "version": "1.6.1",
2043 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2044 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
2045 | "dev": true,
2046 | "optional": true
2047 | },
2048 | "repeating": {
2049 | "version": "2.0.1",
2050 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
2051 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
2052 | "dev": true,
2053 | "requires": {
2054 | "is-finite": "1.0.2"
2055 | }
2056 | },
2057 | "safe-buffer": {
2058 | "version": "5.1.1",
2059 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
2060 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
2061 | "dev": true
2062 | },
2063 | "set-immediate-shim": {
2064 | "version": "1.0.1",
2065 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
2066 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
2067 | "dev": true,
2068 | "optional": true
2069 | },
2070 | "setimmediate": {
2071 | "version": "1.0.5",
2072 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
2073 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
2074 | },
2075 | "slash": {
2076 | "version": "1.0.0",
2077 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
2078 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
2079 | "dev": true
2080 | },
2081 | "source-map": {
2082 | "version": "0.5.7",
2083 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
2084 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
2085 | "dev": true
2086 | },
2087 | "source-map-support": {
2088 | "version": "0.4.18",
2089 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
2090 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
2091 | "dev": true,
2092 | "requires": {
2093 | "source-map": "0.5.7"
2094 | }
2095 | },
2096 | "string_decoder": {
2097 | "version": "1.0.3",
2098 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
2099 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
2100 | "dev": true,
2101 | "optional": true,
2102 | "requires": {
2103 | "safe-buffer": "5.1.1"
2104 | }
2105 | },
2106 | "strip-ansi": {
2107 | "version": "3.0.1",
2108 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2109 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2110 | "dev": true,
2111 | "requires": {
2112 | "ansi-regex": "2.1.1"
2113 | }
2114 | },
2115 | "supports-color": {
2116 | "version": "2.0.0",
2117 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
2118 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
2119 | "dev": true
2120 | },
2121 | "to-fast-properties": {
2122 | "version": "1.0.3",
2123 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
2124 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
2125 | "dev": true
2126 | },
2127 | "trim-right": {
2128 | "version": "1.0.1",
2129 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
2130 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
2131 | "dev": true
2132 | },
2133 | "ua-parser-js": {
2134 | "version": "0.7.17",
2135 | "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
2136 | "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g=="
2137 | },
2138 | "user-home": {
2139 | "version": "1.1.1",
2140 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
2141 | "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
2142 | "dev": true
2143 | },
2144 | "util-deprecate": {
2145 | "version": "1.0.2",
2146 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2147 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
2148 | "dev": true,
2149 | "optional": true
2150 | },
2151 | "v8flags": {
2152 | "version": "2.1.1",
2153 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
2154 | "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
2155 | "dev": true,
2156 | "requires": {
2157 | "user-home": "1.1.1"
2158 | }
2159 | },
2160 | "whatwg-fetch": {
2161 | "version": "2.0.3",
2162 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
2163 | "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ="
2164 | },
2165 | "wrappy": {
2166 | "version": "1.0.2",
2167 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2168 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2169 | "dev": true
2170 | }
2171 | }
2172 | }
2173 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "a-theme-react",
3 | "version": "0.0.5",
4 | "description": "AWS Amplify theme for React",
5 | "main": "dist/index.js",
6 | "scripts": {
7 | "build": "babel src --presets babel-preset-react --out-dir dist --copy-files"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/richardzcode/a-theme-react.git"
12 | },
13 | "keywords": [
14 | "AWS",
15 | "Amplify",
16 | "style",
17 | "theme"
18 | ],
19 | "author": "Richard Zhang ",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/richardzcode/a-theme-react/issues"
23 | },
24 | "homepage": "https://github.com/richardzcode/a-theme-react#readme",
25 | "devDependencies": {
26 | "babel-cli": "^6.26.0",
27 | "babel-preset-react": "^6.24.1"
28 | },
29 | "dependencies": {
30 | "react-fontawesome": "^1.6.1"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/bootstrap/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import FontAwesome from 'react-fontawesome'
3 |
4 | export const Container = {
5 | fontFamily: `-apple-system,
6 | BlinkMacSystemFont,
7 | "Segoe UI",
8 | Roboto,
9 | "Helvetica Neue",
10 | Arial,
11 | sans-serif,
12 | "Apple Color Emoji",
13 | "Segoe UI Emoji",
14 | "Segoe UI Symbol"`,
15 | fontWeight: '400',
16 | lineHeight: '1.5',
17 | color: '#212529',
18 | textAlign: 'left',
19 | paddingLeft: '15px',
20 | paddingRight: '15px'
21 | }
22 |
23 | export const NavBar = {
24 | position: 'relative',
25 | marginBottom: '20px',
26 | marginLeft: '-15px',
27 | marginRight: '-15px',
28 | border: '1px solid transparent',
29 | backgroundColor: '#f8f8f8',
30 | borderColor: '#e7e7e7'
31 | }
32 |
33 | export const NavRight = {
34 | textAlign: 'right'
35 | }
36 |
37 | export const Nav = {
38 | margin: '7.5px'
39 | }
40 |
41 | export const NavItem = {
42 | display: 'inline-block',
43 | padding: '10px 5px',
44 | lineHeight: '20px'
45 | }
46 |
47 | export const NavButton = {
48 | display: 'inline-block',
49 | padding: '6px 12px',
50 | marginTop: '8px',
51 | marginBottom: '8px',
52 | fontSize: '14px',
53 | fontWeight: 400,
54 | lineHeight: '1.42857143',
55 | textAlign: 'center',
56 | whiteSpace: 'nowrap',
57 | verticalAlign: 'middle',
58 | touchAction: 'manipulation',
59 | cursor: 'pointer',
60 | userSelect: 'none',
61 | backgroundImage: 'none',
62 | border: '1px solid transparent',
63 | borderRadius: '4px',
64 | color: '#333',
65 | backgroundColor: '#fff',
66 | borderColor: '#ccc'
67 | }
68 |
69 | export const FormContainer = {
70 | textAlign: 'center'
71 | }
72 |
73 | export const FormSection = {
74 | marginBottom: '20px',
75 | backgroundColor: '#fff',
76 | border: '1px solid #ddd',
77 | borderRadius: '4px',
78 | textAlign: 'left',
79 | width: '500px',
80 | display: 'inline-block'
81 | }
82 |
83 | export const ErrorSection = {
84 | marginBottom: '20px',
85 | color: '#fff',
86 | backgroundColor: '#f0ad4e',
87 | border: '1px solid #eea236',
88 | borderRadius: '4px',
89 | textAlign: 'left'
90 | }
91 |
92 | export const SectionHeader = {
93 | color: '#fff',
94 | backgroundColor: '#337ab7',
95 | borderColor: '#337ab7',
96 | padding: '10px 15px',
97 | borderBottom: '1px solid transparent',
98 | borderTopLeftRadius: '3px',
99 | borderTopRightRadius: '3px',
100 | textAlign: 'center'
101 | }
102 |
103 | export const SectionFooter = {
104 | color: '#333',
105 | backgroundColor: '#f5f5f5',
106 | padding: '10px 15px',
107 | borderTop: '1px solid #ddd',
108 | borderTopLeftRadius: '3px',
109 | borderTopRightRadius: '3px'
110 | }
111 |
112 | export const SectionBody = {
113 | padding: '15px'
114 | }
115 |
116 | export const FormRow = {
117 | marginBottom: '15px'
118 | }
119 |
120 | export const ActionRow = {
121 | marginBottom: '15px'
122 | }
123 |
124 | export const Input = {
125 | display: 'block',
126 | width: '100%',
127 | height: '34px',
128 | padding: '6px 12px',
129 | fontSize: '14px',
130 | lineHeight: '1.42857143',
131 | color: '#555',
132 | backgroundColor: '#fff',
133 | backgroundImage: 'none',
134 | border: '1px solid #ccc',
135 | borderRadius: '4px',
136 | boxShadow: 'inset 0 1px 1px rgba(0,0,0,.075)',
137 | boxSizing: 'border-box',
138 | transition: 'border-color ease-in-out .15s,box-shadow ease-in-out .15s'
139 | }
140 |
141 | export const Button = {
142 | display: 'inline-block',
143 | padding: '6px 12px',
144 | marginBottom: '0',
145 | fontSize: '14px',
146 | fontWeight: 400,
147 | lineHeight: '1.42857143',
148 | textAlign: 'center',
149 | whiteSpace: 'nowrap',
150 | verticalAlign: 'middle',
151 | touchAction: 'manipulation',
152 | cursor: 'pointer',
153 | userSelect: 'none',
154 | backgroundImage: 'none',
155 | border: '1px solid transparent',
156 | borderRadius: '4px',
157 | color: '#333',
158 | backgroundColor: '#fff',
159 | borderColor: '#ccc'
160 | }
161 |
162 | export const SignInButton = {
163 | position: 'relative',
164 | padding: '6px 12px 6px 44px',
165 | fontSize: '14px',
166 | textAlign: 'left',
167 | whiteSpace: 'nowrap',
168 | overflow: 'hidden',
169 | textOverflow: 'ellipsis',
170 | display: 'block',
171 | width: '100%',
172 | marginTop: '2px',
173 | '#google_signin_btn': {
174 | color: '#fff',
175 | backgroundColor: '#dd4b39',
176 | borderColor: 'rgba(0,0,0,0.2)',
177 | before: {
178 | content: ,
179 | position: 'absolute',
180 | top: 0,
181 | left: 0,
182 | zIndex: 10,
183 | color: '#fff',
184 | padding: '2px 12px 0',
185 | fontSize: '20px'
186 | }
187 | },
188 | '#facebook_signin_btn': {
189 | color: '#fff',
190 | backgroundColor: '#3b5998',
191 | borderColor: 'rgba(0,0,0,0.2)',
192 | before: {
193 | content: ,
194 | position: 'absolute',
195 | top: 0,
196 | left: 0,
197 | zIndex: 10,
198 | color: '#fff',
199 | padding: '2px 12px 0',
200 | fontSize: '20px'
201 | }
202 | }
203 | }
204 |
205 | export const Space = {
206 | display: 'inline-block',
207 | width: '20px'
208 | }
209 |
210 | export const A = {
211 | color: '#007bff'
212 | }
213 |
214 | export const Pre = {
215 | overflow: 'auto',
216 | fontFamily: `Menlo,
217 | Monaco,
218 | Consolas,
219 | "Courier New",
220 | monospace`,
221 | display: 'block',
222 | padding: '9.5px',
223 | margin: '0 0 10px',
224 | fontSize: '13px',
225 | lineHeight: '1.42857143',
226 | color: '#333',
227 | wordBreak: 'break-all',
228 | wordWrap: 'break-word',
229 | backgroundColor: '#f5f5f5',
230 | border: '1px solid #ccc',
231 | borderRadius: '4px'
232 | }
233 |
234 | export const Col1 = {
235 | display: 'inline-block',
236 | width: '8.33333333%'
237 | }
238 |
239 | export const Col2 = {
240 | display: 'inline-block',
241 | width: '16.66666667%'
242 | }
243 |
244 | export const Col3 = {
245 | display: 'inline-block',
246 | width: '25%'
247 | }
248 |
249 | export const Col4 = {
250 | display: 'inline-block',
251 | width: '33.33333333%'
252 | }
253 |
254 | export const Col5 = {
255 | display: 'inline-block',
256 | width: '41.66666667%'
257 | }
258 |
259 | export const Col6 = {
260 | display: 'inline-block',
261 | width: '50%'
262 | }
263 |
264 | export const Col7 = {
265 | display: 'inline-block',
266 | width: '58.33333333%'
267 | }
268 |
269 | export const Col8 = {
270 | display: 'inline-block',
271 | width: '66.66666667%'
272 | }
273 |
274 | export const Col9 = {
275 | display: 'inline-block',
276 | width: '75%'
277 | }
278 |
279 | export const Col10 = {
280 | display: 'inline-block',
281 | width: '83.33333333%'
282 | }
283 |
284 | export const Col11 = {
285 | display: 'inline-block',
286 | width: '91.66666667%'
287 | }
288 |
289 | export const Col12 = {
290 | display: 'inline-block',
291 | width: '100%'
292 | }
293 |
294 | const Bootstrap = {
295 | container: Container,
296 |
297 | navBar: NavBar,
298 | nav: Nav,
299 | navRight: NavRight,
300 | navItem: NavItem,
301 | navButton: NavButton,
302 |
303 | formContainer: FormContainer,
304 | formSection: FormSection,
305 | errorSection: ErrorSection,
306 | sectionHeader: SectionHeader,
307 | sectionBody: SectionBody,
308 | sectionFooter: SectionFooter,
309 |
310 | formRow: FormRow,
311 | actionRow: ActionRow,
312 |
313 | space: Space,
314 |
315 | signInButton: SignInButton,
316 |
317 | input: Input,
318 | button: Button,
319 | a: A,
320 | pre: Pre,
321 |
322 | col1: Col1,
323 | col2: Col2,
324 | col3: Col3,
325 | col4: Col4,
326 | col5: Col5,
327 | col6: Col6,
328 | col7: Col7,
329 | col8: Col8,
330 | col9: Col9,
331 | col10: Col10,
332 | col11: Col11,
333 | col12: Col12
334 | }
335 |
336 | export default Bootstrap
337 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | export { default as Bootstrap } from './bootstrap'
2 | export { default as Instagram } from './instagram'
3 |
--------------------------------------------------------------------------------
/src/instagram/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import home_phone from './instagram_home_phone.png'
3 | import screenshot5 from './instagram_screenshot5_2x.jpg'
4 | import sprint_core from './instagram_sprite_core_2x.png'
5 |
6 | export const Container = {
7 | fontFamily: `-apple-system,
8 | BlinkMacSystemFont,
9 | "Segoe UI",
10 | Roboto,
11 | Helvetica,
12 | Arial,
13 | sans-serif`,
14 | fontSize: '14px',
15 | lineHeight: '18px',
16 | backgroundColor: '#fafafa',
17 | textAlign: 'left'
18 | }
19 |
20 | export const NavBar = {
21 | position: 'fixed',
22 | borderBottom: '1px solid rgba(0,0,0,.0975)',
23 | top: 0,
24 | width: '100%',
25 | zIndex: 1,
26 | backgroundColor: '#fff',
27 | height: '77px',
28 | fontWeight: '300'
29 | }
30 |
31 | export const NavRight = {
32 | textAlign: 'right'
33 | }
34 |
35 | export const Nav = {
36 | padding: '26px 40px'
37 | }
38 |
39 | export const NavItem = {
40 | display: 'inline-block',
41 | padding: '10px 5px',
42 | lineHeight: '20px'
43 | }
44 |
45 | export const NavButton = {
46 | display: 'inline-block',
47 | padding: '6px 12px',
48 | fontSize: '14px',
49 | fontWeight: 300,
50 | textAlign: 'center',
51 | whiteSpace: 'nowrap',
52 | verticalAlign: 'middle',
53 | touchAction: 'manipulation',
54 | cursor: 'pointer',
55 | userSelect: 'none',
56 | backgroundImage: 'none',
57 | border: '1px solid #aaa',
58 | borderRadius: '4px',
59 | color: '#333',
60 | backgroundColor: '#fff'
61 | }
62 |
63 | export const FormContainer = {
64 | textAlign: 'center',
65 | paddingTop: '77px'
66 | }
67 |
68 | const beforeImg = (
69 |
78 | )
79 |
80 | export const FormSection = {
81 | margin: '0 0 10px',
82 | color: '#262626',
83 | backgroundColor: '#fff',
84 | border: '1px solid #e6e6e6',
85 | borderRadius: '1px',
86 | textAlign: 'center',
87 | width: '350px',
88 | display: 'inline-block',
89 | verticalAlign: 'middle',
90 | before: {
91 | content: beforeImg,
92 | display: 'inline-block',
93 | width: '400px',
94 | height: '560px',
95 | verticalAlign: 'middle',
96 | backgroundImage: 'url(' + home_phone + ')',
97 | backgroundSize: '400px 560px'
98 | }
99 | }
100 |
101 | export const ErrorSection = {
102 | marginBottom: '20px',
103 | color: '#fff',
104 | backgroundColor: '#f0ad4e',
105 | border: '1px solid #eea236',
106 | borderRadius: '4px',
107 | textAlign: 'left'
108 | }
109 |
110 | export const SectionHeader = {
111 | margin: '22px auto 8px',
112 | overflow: 'hidden'
113 | }
114 |
115 | export const SectionHeaderContent = {
116 | height: '51px',
117 | width: '175px',
118 | display: 'inline-block',
119 | textIndent: '110%',
120 | whiteSpace: 'nowrap',
121 | backgroundSize: '405px 379px',
122 | backgroundPosition: '0 0',
123 | backgroundImage: 'url(' + sprint_core + ')'
124 | }
125 |
126 | export const SectionFooter = {
127 | fontSize: '14px',
128 | textAlign: 'left',
129 | color: '##262626',
130 | backgroundColor: '#fff',
131 | margin: '10px 1px 10px',
132 | padding: '20px 15px 10px 15px',
133 | boxSizing: 'border-box',
134 | borderTop: '1px solid #e6e6e6'
135 | }
136 |
137 | export const SectionBody = {
138 | padding: '0',
139 | margin: '0',
140 | borderBottom: '1px solid rgb(230, 230, 230)',
141 | minHeight: '240px'
142 | }
143 |
144 | export const FormRow = {
145 | margin: '0 40px 6px',
146 | textAlign: 'left'
147 | }
148 |
149 | export const ActionRow = {
150 | margin: '0 40px 6px'
151 | }
152 |
153 | export const Input = {
154 | fontFamily: `-apple-system,
155 | BlinkMacSystemFont,
156 | "Segoe UI",
157 | Roboto,
158 | Helvetica,
159 | Arial,
160 | sans-serif`,
161 | display: 'block',
162 | width: '100%',
163 | background: '#fafafa',
164 | padding: '9px 0 7px 8px',
165 | border: '1px solid #efefef',
166 | borderRadius: '3px',
167 | fontSize: '14px',
168 | lineHeight: '18px',
169 | boxSizing: 'border-box'
170 | }
171 |
172 | export const Button = {
173 | display: 'inline-block',
174 | fontSize: '14px',
175 | fontWeight: '600',
176 | lineHeight: '26px',
177 | padding: '0 8px',
178 | marginTop: '8px',
179 | marginBottom: '8px',
180 | border: '1px solid',
181 | borderRadius: '3px',
182 | color: '#fff',
183 | backgroundColor: '#3897f0',
184 | borderColor: '#3897f0',
185 | width: '100%'
186 | }
187 |
188 | export const SignInButton = {
189 | display: 'inline-block',
190 | fontSize: '14px',
191 | fontWeight: '600',
192 | lineHeight: '26px',
193 | padding: '0 8px',
194 | margin: '8px 0',
195 | border: '1px solid',
196 | borderRadius: '3px',
197 | color: '#fff',
198 | backgroundColor: '#3897f0',
199 | borderColor: '#3897f0',
200 | width: '100%',
201 | '#google_signin_btn': { display: 'none' }
202 | }
203 |
204 | export const Space = {
205 | display: 'none'
206 | }
207 |
208 | export const A = {
209 | color: '#3897f0'
210 | }
211 |
212 | export const Pre = {
213 | overflow: 'auto',
214 | fontFamily: `Menlo,
215 | Monaco,
216 | Consolas,
217 | "Courier New",
218 | monospace`,
219 | display: 'block',
220 | padding: '9.5px',
221 | margin: '0 0 10px',
222 | fontSize: '13px',
223 | lineHeight: '1.42857143',
224 | color: '#333',
225 | wordBreak: 'break-all',
226 | wordWrap: 'break-word',
227 | backgroundColor: '#f5f5f5',
228 | border: '1px solid #ccc',
229 | borderRadius: '4px'
230 | }
231 |
232 | export const Col6 = {
233 | display: 'inline-block',
234 | width: '50%'
235 | }
236 |
237 | const Instagram = {
238 | container: Container,
239 |
240 | navBar: NavBar,
241 | nav: Nav,
242 | navRight: NavRight,
243 | navItem: NavItem,
244 | navButton: NavButton,
245 |
246 | formContainer: FormContainer,
247 | formSection: FormSection,
248 | errorSection: ErrorSection,
249 | sectionHeader: SectionHeader,
250 | sectionHeaderContent: SectionHeaderContent,
251 | sectionBody: SectionBody,
252 | sectionFooter: SectionFooter,
253 |
254 | formRow: FormRow,
255 | actionRow: ActionRow,
256 |
257 | space: Space,
258 |
259 | signInButton: SignInButton,
260 |
261 | input: Input,
262 | button: Button,
263 | a: A,
264 | pre: Pre,
265 |
266 | col6: Col6
267 | }
268 |
269 | export default Instagram
270 |
--------------------------------------------------------------------------------
/src/instagram/instagram_home_phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/src/instagram/instagram_home_phone.png
--------------------------------------------------------------------------------
/src/instagram/instagram_screenshot5_2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/src/instagram/instagram_screenshot5_2x.jpg
--------------------------------------------------------------------------------
/src/instagram/instagram_sprite_core_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/richardzcode/a-theme-react/c4e96d4ed0253aabebca9b0ffd86211c0a90d073/src/instagram/instagram_sprite_core_2x.png
--------------------------------------------------------------------------------