UNPKG

1.43 kBJavaScriptView Raw
1import React from 'react';
2
3import EmailAddressList from './email-address-list';
4import Footnote from './footnote';
5import CustomMessage from './custom-message';
6
7export default ({ isReady, isOpen,
8 emailAddresses, emailAddressErrors, onEmailAddressChange, onAddEmailAddress, onRemoveEmailAddress,
9 customMessage, messageText, image, onMessageTyping, messageLength, onSend, isSending, onClose }) => (
10 <div className={`email-article email-article--${isReady && isOpen ? 'open' : 'closed'}`}>
11 <div className="email-article__border">
12 <button onClick={onClose} type="button" className="o-buttons o-buttons--medium email-article__close"><i>Close</i></button>
13 <form noValidate onSubmit={(e) => { e.preventDefault(); onSend() }} className="email-article__container">
14 <h1 className="email-article__title">Email this free article</h1>
15 <EmailAddressList
16 items={emailAddresses}
17 errors={emailAddressErrors}
18 onItemChange={onEmailAddressChange}
19 onAdd={onAddEmailAddress}
20 onRemove={onRemoveEmailAddress}
21 />
22 <CustomMessage
23 customMessage={customMessage}
24 messageText={messageText}
25 image={image}
26 onMessageTyping={onMessageTyping}
27 messageLength={messageLength}
28 />
29 <button type="submit" disabled={isSending} className="email-article__submit o-buttons o-buttons--standout o-buttons--big">Send article</button>
30 <Footnote />
31 </form>
32 </div>
33 </div>
34);