@sis-cc/dotstatsuite-visions 7.16.0 → 7.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Contact/Contact.js +327 -0
- package/es/Contact/Input.js +129 -0
- package/es/Contact/Mode.js +132 -0
- package/es/Contact/index.js +36 -0
- package/es/DataHeader/DataHeader.js +0 -3
- package/es/Share/Form.js +3 -2
- package/es/index.js +1 -0
- package/lib/Contact/Contact.js +357 -0
- package/lib/Contact/Input.js +163 -0
- package/lib/Contact/Mode.js +169 -0
- package/lib/Contact/index.js +16 -0
- package/lib/DataHeader/DataHeader.js +0 -4
- package/lib/Share/Form.js +4 -2
- package/lib/index.js +10 -1
- package/package.json +3 -2
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _react = require('react');
|
|
6
|
+
|
|
7
|
+
var _react2 = _interopRequireDefault(_react);
|
|
8
|
+
|
|
9
|
+
var _classnames = require('classnames');
|
|
10
|
+
|
|
11
|
+
var _classnames2 = _interopRequireDefault(_classnames);
|
|
12
|
+
|
|
13
|
+
var _propTypes = require('prop-types');
|
|
14
|
+
|
|
15
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
16
|
+
|
|
17
|
+
var _ramda = require('ramda');
|
|
18
|
+
|
|
19
|
+
var R = _interopRequireWildcard(_ramda);
|
|
20
|
+
|
|
21
|
+
var _core = require('@material-ui/core');
|
|
22
|
+
|
|
23
|
+
var _isemail = require('isemail');
|
|
24
|
+
|
|
25
|
+
var _styles = require('@material-ui/styles');
|
|
26
|
+
|
|
27
|
+
var _Mode = require('./Mode');
|
|
28
|
+
|
|
29
|
+
var _Mode2 = _interopRequireDefault(_Mode);
|
|
30
|
+
|
|
31
|
+
var _Input = require('./Input');
|
|
32
|
+
|
|
33
|
+
var _Input2 = _interopRequireDefault(_Input);
|
|
34
|
+
|
|
35
|
+
var _ = require('../');
|
|
36
|
+
|
|
37
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
38
|
+
|
|
39
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
40
|
+
|
|
41
|
+
var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
42
|
+
return {
|
|
43
|
+
paper: {
|
|
44
|
+
backgroundColor: theme.palette.background.paper,
|
|
45
|
+
padding: theme.spacing(2)
|
|
46
|
+
},
|
|
47
|
+
emailReasonMessage: {
|
|
48
|
+
backgroundColor: R.path(['palette', 'tertiary', 'dark'])(theme) || theme.palette.grey[100],
|
|
49
|
+
padding: theme.spacing(2),
|
|
50
|
+
margin: theme.spacing(2, 0)
|
|
51
|
+
},
|
|
52
|
+
label: {
|
|
53
|
+
color: theme.palette.primary.main
|
|
54
|
+
},
|
|
55
|
+
textarea: {
|
|
56
|
+
width: '100%',
|
|
57
|
+
padding: theme.spacing(1)
|
|
58
|
+
},
|
|
59
|
+
textareaError: {
|
|
60
|
+
borderColor: theme.palette.error.main,
|
|
61
|
+
borderWidth: theme.spacing(0.25)
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
var Contact = function Contact(_ref) {
|
|
67
|
+
var _cx;
|
|
68
|
+
|
|
69
|
+
var modes = _ref.modes,
|
|
70
|
+
_ref$defaultMode = _ref.defaultMode,
|
|
71
|
+
defaultMode = _ref$defaultMode === undefined ? 'question' : _ref$defaultMode,
|
|
72
|
+
defaultFullName = _ref.defaultFullName,
|
|
73
|
+
defaultEmail = _ref.defaultEmail,
|
|
74
|
+
labels = _ref.labels,
|
|
75
|
+
send = _ref.send,
|
|
76
|
+
isSubmitDisable = _ref.isSubmitDisable,
|
|
77
|
+
children = _ref.children;
|
|
78
|
+
|
|
79
|
+
var classes = useStyles();
|
|
80
|
+
|
|
81
|
+
var _useState = (0, _react.useState)(defaultMode),
|
|
82
|
+
mode = _useState[0],
|
|
83
|
+
setMode = _useState[1];
|
|
84
|
+
|
|
85
|
+
var _useState2 = (0, _react.useState)(''),
|
|
86
|
+
title = _useState2[0],
|
|
87
|
+
setTitle = _useState2[1];
|
|
88
|
+
|
|
89
|
+
var _useState3 = (0, _react.useState)(defaultFullName || ''),
|
|
90
|
+
name = _useState3[0],
|
|
91
|
+
setName = _useState3[1];
|
|
92
|
+
|
|
93
|
+
var _useState4 = (0, _react.useState)(''),
|
|
94
|
+
organisation = _useState4[0],
|
|
95
|
+
setOrganisation = _useState4[1];
|
|
96
|
+
|
|
97
|
+
var _useState5 = (0, _react.useState)(defaultEmail || ''),
|
|
98
|
+
email = _useState5[0],
|
|
99
|
+
setEmail = _useState5[1];
|
|
100
|
+
|
|
101
|
+
var _useState6 = (0, _react.useState)(false),
|
|
102
|
+
emailHasError = _useState6[0],
|
|
103
|
+
setEmailError = _useState6[1];
|
|
104
|
+
|
|
105
|
+
var _useState7 = (0, _react.useState)(''),
|
|
106
|
+
details = _useState7[0],
|
|
107
|
+
setDetails = _useState7[1];
|
|
108
|
+
|
|
109
|
+
var _useState8 = (0, _react.useState)(true),
|
|
110
|
+
checked = _useState8[0],
|
|
111
|
+
setChecked = _useState8[1];
|
|
112
|
+
|
|
113
|
+
var _useState9 = (0, _react.useState)(true),
|
|
114
|
+
isSendDisable = _useState9[0],
|
|
115
|
+
setSendDisable = _useState9[1];
|
|
116
|
+
|
|
117
|
+
var _useState10 = (0, _react.useState)(false),
|
|
118
|
+
detailsHasError = _useState10[0],
|
|
119
|
+
setDetailsError = _useState10[1];
|
|
120
|
+
|
|
121
|
+
var checkEmail = function checkEmail(email) {
|
|
122
|
+
if ((0, _isemail.validate)(email)) {
|
|
123
|
+
return setEmailError(false);
|
|
124
|
+
}
|
|
125
|
+
return setEmailError(true);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
var checkDetails = function checkDetails(details) {
|
|
129
|
+
if (R.isEmpty(details)) {
|
|
130
|
+
return setDetailsError(true);
|
|
131
|
+
}
|
|
132
|
+
return setDetailsError(false);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
var onSubmit = function onSubmit() {
|
|
136
|
+
if (R.is(Function)(send)) return send({
|
|
137
|
+
mode: mode,
|
|
138
|
+
title: title,
|
|
139
|
+
name: name,
|
|
140
|
+
organisation: organisation,
|
|
141
|
+
email: email,
|
|
142
|
+
details: details,
|
|
143
|
+
checkbox: checked
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
(0, _react.useEffect)(function () {
|
|
148
|
+
if (R.isEmpty(email)) return setSendDisable(true);
|
|
149
|
+
if (R.isEmpty(details)) return setSendDisable(true);
|
|
150
|
+
if (emailHasError) return setSendDisable(true);
|
|
151
|
+
if (detailsHasError) return setSendDisable(true);
|
|
152
|
+
return setSendDisable(isSubmitDisable || false);
|
|
153
|
+
}, [emailHasError, detailsHasError, email, details, isSubmitDisable]);
|
|
154
|
+
|
|
155
|
+
return _react2.default.createElement(
|
|
156
|
+
_core.Grid,
|
|
157
|
+
{ container: true, className: classes.paper, 'data-testid': 'contact-test-id' },
|
|
158
|
+
_react2.default.createElement(
|
|
159
|
+
_core.Grid,
|
|
160
|
+
{ item: true, container: true, xs: 12, md: 12, justifyContent: 'space-between' },
|
|
161
|
+
_react2.default.createElement(
|
|
162
|
+
_core.Grid,
|
|
163
|
+
{ item: true, xs: 12, sm: 12, md: 5 },
|
|
164
|
+
_react2.default.createElement(_Mode2.default, {
|
|
165
|
+
changeMode: setMode,
|
|
166
|
+
modes: modes,
|
|
167
|
+
mode: mode,
|
|
168
|
+
title: R.prop('modeTitle')(labels)
|
|
169
|
+
})
|
|
170
|
+
),
|
|
171
|
+
_react2.default.createElement(
|
|
172
|
+
_core.Grid,
|
|
173
|
+
{ item: true, container: true, xs: 12, sm: 12, md: 6, 'flex-direction': 'column' },
|
|
174
|
+
_react2.default.createElement(
|
|
175
|
+
_core.Grid,
|
|
176
|
+
{ item: true, xs: 12 },
|
|
177
|
+
_react2.default.createElement(_Input2.default, {
|
|
178
|
+
variant: 'outlined',
|
|
179
|
+
label: labels.personalTitle,
|
|
180
|
+
name: 'title',
|
|
181
|
+
type: 'text',
|
|
182
|
+
fullWidth: true,
|
|
183
|
+
value: title,
|
|
184
|
+
onChange: function onChange(e) {
|
|
185
|
+
return setTitle(e.target.value);
|
|
186
|
+
},
|
|
187
|
+
isControlled: true
|
|
188
|
+
})
|
|
189
|
+
),
|
|
190
|
+
_react2.default.createElement(
|
|
191
|
+
_core.Grid,
|
|
192
|
+
{ item: true, xs: 12 },
|
|
193
|
+
_react2.default.createElement(_Input2.default, {
|
|
194
|
+
variant: 'outlined',
|
|
195
|
+
isControlled: true,
|
|
196
|
+
label: labels.name,
|
|
197
|
+
name: 'name',
|
|
198
|
+
type: 'text',
|
|
199
|
+
onChange: function onChange(e) {
|
|
200
|
+
return setName(e.target.value);
|
|
201
|
+
},
|
|
202
|
+
value: name,
|
|
203
|
+
fullWidth: true
|
|
204
|
+
})
|
|
205
|
+
),
|
|
206
|
+
_react2.default.createElement(
|
|
207
|
+
_core.Grid,
|
|
208
|
+
{ item: true, xs: 12 },
|
|
209
|
+
_react2.default.createElement(_Input2.default, {
|
|
210
|
+
variant: 'outlined',
|
|
211
|
+
isControlled: true,
|
|
212
|
+
label: labels.organisation,
|
|
213
|
+
type: 'text',
|
|
214
|
+
name: 'organisation',
|
|
215
|
+
onChange: function onChange(e) {
|
|
216
|
+
return setOrganisation(e.target.value);
|
|
217
|
+
},
|
|
218
|
+
value: organisation,
|
|
219
|
+
fullWidth: true
|
|
220
|
+
})
|
|
221
|
+
),
|
|
222
|
+
_react2.default.createElement(
|
|
223
|
+
_core.Grid,
|
|
224
|
+
{ item: true, xs: 12 },
|
|
225
|
+
_react2.default.createElement(_Input2.default, {
|
|
226
|
+
inputProps: {
|
|
227
|
+
'aria-label': R.prop('email')(labels),
|
|
228
|
+
autoComplete: 'email',
|
|
229
|
+
onBlur: function onBlur() {
|
|
230
|
+
return checkEmail(email);
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
label: R.prop('email')(labels),
|
|
234
|
+
type: 'email',
|
|
235
|
+
value: email,
|
|
236
|
+
onChange: function onChange(e) {
|
|
237
|
+
return setEmail(e.target.value);
|
|
238
|
+
},
|
|
239
|
+
variant: 'outlined',
|
|
240
|
+
fullWidth: true,
|
|
241
|
+
isControlled: true,
|
|
242
|
+
defaultValue: defaultEmail,
|
|
243
|
+
textFieldProps: { error: emailHasError }
|
|
244
|
+
})
|
|
245
|
+
)
|
|
246
|
+
)
|
|
247
|
+
),
|
|
248
|
+
_react2.default.createElement(
|
|
249
|
+
_core.Grid,
|
|
250
|
+
{ item: true, xs: 12, md: 12 },
|
|
251
|
+
_react2.default.createElement(
|
|
252
|
+
_core.Paper,
|
|
253
|
+
{ className: classes.emailReasonMessage },
|
|
254
|
+
R.prop('message')(R.find(R.propEq('value', mode))(modes))
|
|
255
|
+
)
|
|
256
|
+
),
|
|
257
|
+
_react2.default.createElement(
|
|
258
|
+
_core.Grid,
|
|
259
|
+
{ item: true, xs: 12, md: 12 },
|
|
260
|
+
_react2.default.createElement(_core.TextareaAutosize, {
|
|
261
|
+
name: 'details',
|
|
262
|
+
onChange: function onChange(e) {
|
|
263
|
+
return setDetails(e.target.value);
|
|
264
|
+
},
|
|
265
|
+
className: (0, _classnames2.default)(classes.textarea, (_cx = {}, _cx[classes.textareaError] = detailsHasError, _cx)),
|
|
266
|
+
'aria-label': R.prop('details')(labels),
|
|
267
|
+
minRows: 6,
|
|
268
|
+
placeholder: R.prop('details')(labels),
|
|
269
|
+
value: details,
|
|
270
|
+
onBlur: function onBlur() {
|
|
271
|
+
return checkDetails(details);
|
|
272
|
+
}
|
|
273
|
+
})
|
|
274
|
+
),
|
|
275
|
+
_react2.default.createElement(
|
|
276
|
+
_core.Grid,
|
|
277
|
+
{ item: true, container: true, justifyContent: 'space-between' },
|
|
278
|
+
_react2.default.createElement(
|
|
279
|
+
_core.Grid,
|
|
280
|
+
{ item: true },
|
|
281
|
+
_react2.default.createElement(_core.FormControlLabel, {
|
|
282
|
+
control: _react2.default.createElement(_core.Checkbox, { name: 'checkedB', color: 'primary' }),
|
|
283
|
+
label: _react2.default.createElement(
|
|
284
|
+
_core.Typography,
|
|
285
|
+
{ variant: 'h6', className: classes.label },
|
|
286
|
+
R.prop('checkbox')(labels)
|
|
287
|
+
),
|
|
288
|
+
checked: checked,
|
|
289
|
+
onChange: function onChange(e) {
|
|
290
|
+
return setChecked(e.target.checked);
|
|
291
|
+
}
|
|
292
|
+
})
|
|
293
|
+
),
|
|
294
|
+
_react2.default.createElement(
|
|
295
|
+
_core.Grid,
|
|
296
|
+
{ item: true },
|
|
297
|
+
_react2.default.createElement(
|
|
298
|
+
_core.Typography,
|
|
299
|
+
{ variant: 'h6', className: classes.label, style: { paddingTop: 8 } },
|
|
300
|
+
R.prop('organisationPrivacyPolicy')(labels)
|
|
301
|
+
)
|
|
302
|
+
)
|
|
303
|
+
),
|
|
304
|
+
_react2.default.createElement(
|
|
305
|
+
_core.Grid,
|
|
306
|
+
{ item: true, container: true, justifyContent: 'space-between', alignItems: 'center' },
|
|
307
|
+
_react2.default.createElement(
|
|
308
|
+
_core.Grid,
|
|
309
|
+
{ item: true },
|
|
310
|
+
children
|
|
311
|
+
),
|
|
312
|
+
_react2.default.createElement(
|
|
313
|
+
_core.Grid,
|
|
314
|
+
{ item: true },
|
|
315
|
+
_react2.default.createElement(
|
|
316
|
+
_.Button,
|
|
317
|
+
{
|
|
318
|
+
'aria-label': R.prop('submit')(labels),
|
|
319
|
+
type: 'submit',
|
|
320
|
+
disabled: isSendDisable,
|
|
321
|
+
variant: 'contained',
|
|
322
|
+
color: 'primary',
|
|
323
|
+
alternative: 'siscc',
|
|
324
|
+
onClick: onSubmit,
|
|
325
|
+
size: 'large',
|
|
326
|
+
className: classes.submitButton
|
|
327
|
+
},
|
|
328
|
+
R.prop('submit')(labels)
|
|
329
|
+
)
|
|
330
|
+
)
|
|
331
|
+
)
|
|
332
|
+
);
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
Contact.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
336
|
+
defaultMode: _propTypes2.default.string,
|
|
337
|
+
defaultFullName: _propTypes2.default.string,
|
|
338
|
+
defaultEmail: _propTypes2.default.string,
|
|
339
|
+
lang: _propTypes2.default.string,
|
|
340
|
+
theme: _propTypes2.default.string,
|
|
341
|
+
modes: _propTypes2.default.array,
|
|
342
|
+
send: _propTypes2.default.func,
|
|
343
|
+
isSubmitDisable: _propTypes2.default.bool,
|
|
344
|
+
children: _propTypes2.default.node,
|
|
345
|
+
labels: _propTypes2.default.shape({
|
|
346
|
+
name: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
347
|
+
organisation: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
348
|
+
personalTitle: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
349
|
+
title: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
350
|
+
submit: _propTypes2.default.string,
|
|
351
|
+
email: _propTypes2.default.string,
|
|
352
|
+
details: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
353
|
+
contactForHelp: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
|
|
354
|
+
})
|
|
355
|
+
} : {};
|
|
356
|
+
exports.default = Contact;
|
|
357
|
+
module.exports = exports['default'];
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.MyInput = undefined;
|
|
5
|
+
|
|
6
|
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
7
|
+
|
|
8
|
+
var _react = require('react');
|
|
9
|
+
|
|
10
|
+
var _react2 = _interopRequireDefault(_react);
|
|
11
|
+
|
|
12
|
+
var _propTypes = require('prop-types');
|
|
13
|
+
|
|
14
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
15
|
+
|
|
16
|
+
var _ramda = require('ramda');
|
|
17
|
+
|
|
18
|
+
var R = _interopRequireWildcard(_ramda);
|
|
19
|
+
|
|
20
|
+
var _classnames = require('classnames');
|
|
21
|
+
|
|
22
|
+
var _classnames2 = _interopRequireDefault(_classnames);
|
|
23
|
+
|
|
24
|
+
var _styles = require('@material-ui/core/styles');
|
|
25
|
+
|
|
26
|
+
var _TextField = require('@material-ui/core/TextField');
|
|
27
|
+
|
|
28
|
+
var _TextField2 = _interopRequireDefault(_TextField);
|
|
29
|
+
|
|
30
|
+
var _InputAdornment = require('@material-ui/core/InputAdornment');
|
|
31
|
+
|
|
32
|
+
var _InputAdornment2 = _interopRequireDefault(_InputAdornment);
|
|
33
|
+
|
|
34
|
+
var _IconButton = require('@material-ui/core/IconButton');
|
|
35
|
+
|
|
36
|
+
var _IconButton2 = _interopRequireDefault(_IconButton);
|
|
37
|
+
|
|
38
|
+
var _Done = require('@material-ui/icons/Done');
|
|
39
|
+
|
|
40
|
+
var _Done2 = _interopRequireDefault(_Done);
|
|
41
|
+
|
|
42
|
+
var _withInput = require('../Input/with-input');
|
|
43
|
+
|
|
44
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
45
|
+
|
|
46
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
47
|
+
|
|
48
|
+
var useStyles = (0, _styles.makeStyles)(function () {
|
|
49
|
+
return {
|
|
50
|
+
visibility: {
|
|
51
|
+
visibility: 'hidden'
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
var LefttIcon = function LefttIcon(_ref) {
|
|
57
|
+
var Icon = _ref.Icon;
|
|
58
|
+
return _react2.default.createElement(Icon, null);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
LefttIcon.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
62
|
+
Icon: _propTypes2.default.object
|
|
63
|
+
} : {};
|
|
64
|
+
|
|
65
|
+
var RightIcon = function RightIcon(_ref2) {
|
|
66
|
+
var onSubmit = _ref2.onSubmit,
|
|
67
|
+
_ref2$Icon = _ref2.Icon,
|
|
68
|
+
Icon = _ref2$Icon === undefined ? _Done2.default : _ref2$Icon;
|
|
69
|
+
return _react2.default.createElement(
|
|
70
|
+
_IconButton2.default,
|
|
71
|
+
{ color: 'primary', onClick: function onClick() {
|
|
72
|
+
return onSubmit();
|
|
73
|
+
} },
|
|
74
|
+
_react2.default.createElement(Icon, null)
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
RightIcon.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
79
|
+
Icon: _propTypes2.default.object,
|
|
80
|
+
onSubmit: _propTypes2.default.func,
|
|
81
|
+
classes: _propTypes2.default.object
|
|
82
|
+
} : {};
|
|
83
|
+
|
|
84
|
+
var MyInput = exports.MyInput = function MyInput(_ref3) {
|
|
85
|
+
var _cx;
|
|
86
|
+
|
|
87
|
+
var id = _ref3.id,
|
|
88
|
+
label = _ref3.label,
|
|
89
|
+
name = _ref3.name,
|
|
90
|
+
placeholder = _ref3.placeholder,
|
|
91
|
+
leftIcon = _ref3.leftIcon,
|
|
92
|
+
rightIcon = _ref3.rightIcon,
|
|
93
|
+
value = _ref3.value,
|
|
94
|
+
type = _ref3.type,
|
|
95
|
+
onChange = _ref3.onChange,
|
|
96
|
+
onSubmit = _ref3.onSubmit,
|
|
97
|
+
fullWidth = _ref3.fullWidth,
|
|
98
|
+
withValidationIcon = _ref3.withValidationIcon,
|
|
99
|
+
textFieldProps = _ref3.textFieldProps,
|
|
100
|
+
inputProps = _ref3.inputProps,
|
|
101
|
+
endAdornment = _ref3.endAdornment;
|
|
102
|
+
|
|
103
|
+
var classes = useStyles();
|
|
104
|
+
var startAdornment = R.isNil(leftIcon) ? null : _react2.default.createElement(
|
|
105
|
+
_InputAdornment2.default,
|
|
106
|
+
{ position: 'start' },
|
|
107
|
+
_react2.default.createElement(LefttIcon, { Icon: leftIcon })
|
|
108
|
+
);
|
|
109
|
+
var endMyadornment = R.or(withValidationIcon, !R.isNil(rightIcon)) ? _react2.default.createElement(
|
|
110
|
+
_InputAdornment2.default,
|
|
111
|
+
{ position: 'end', className: (0, _classnames2.default)((_cx = {}, _cx[classes.visibility] = R.isEmpty(value), _cx)) },
|
|
112
|
+
_react2.default.createElement(RightIcon, { onSubmit: onSubmit, Icon: rightIcon })
|
|
113
|
+
) : null;
|
|
114
|
+
|
|
115
|
+
var onEnterLabel = function onEnterLabel(event) {
|
|
116
|
+
if (event.key === 'Enter') {
|
|
117
|
+
event.preventDefault();
|
|
118
|
+
if (R.is(Function, onSubmit)) {
|
|
119
|
+
onSubmit();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
return _react2.default.createElement(_TextField2.default, _extends({
|
|
125
|
+
'data-testid': 'input-test-id',
|
|
126
|
+
margin: 'dense',
|
|
127
|
+
fullWidth: fullWidth,
|
|
128
|
+
id: id,
|
|
129
|
+
name: name,
|
|
130
|
+
type: type,
|
|
131
|
+
label: label,
|
|
132
|
+
value: value,
|
|
133
|
+
variant: 'outlined',
|
|
134
|
+
placeholder: placeholder,
|
|
135
|
+
onChange: onChange,
|
|
136
|
+
onKeyPress: onEnterLabel,
|
|
137
|
+
InputProps: {
|
|
138
|
+
startAdornment: startAdornment,
|
|
139
|
+
endAdornment: R.isNil(endAdornment) ? endMyadornment : endAdornment
|
|
140
|
+
},
|
|
141
|
+
inputProps: inputProps
|
|
142
|
+
}, textFieldProps));
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
MyInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
146
|
+
id: _propTypes2.default.string,
|
|
147
|
+
name: _propTypes2.default.string,
|
|
148
|
+
label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
149
|
+
placeholder: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
150
|
+
leftIcon: _propTypes2.default.object,
|
|
151
|
+
rightIcon: _propTypes2.default.object,
|
|
152
|
+
value: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
|
|
153
|
+
type: _propTypes2.default.string,
|
|
154
|
+
onChange: _propTypes2.default.func,
|
|
155
|
+
onSubmit: _propTypes2.default.func,
|
|
156
|
+
fullWidth: _propTypes2.default.bool,
|
|
157
|
+
withValidationIcon: _propTypes2.default.bool,
|
|
158
|
+
textFieldProps: _propTypes2.default.object,
|
|
159
|
+
inputProps: _propTypes2.default.object,
|
|
160
|
+
endAdornment: _propTypes2.default.node
|
|
161
|
+
} : {};
|
|
162
|
+
|
|
163
|
+
exports.default = (0, _withInput.withInput)(MyInput);
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
6
|
+
|
|
7
|
+
var _react = require('react');
|
|
8
|
+
|
|
9
|
+
var _react2 = _interopRequireDefault(_react);
|
|
10
|
+
|
|
11
|
+
var _propTypes = require('prop-types');
|
|
12
|
+
|
|
13
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
14
|
+
|
|
15
|
+
var _ramda = require('ramda');
|
|
16
|
+
|
|
17
|
+
var R = _interopRequireWildcard(_ramda);
|
|
18
|
+
|
|
19
|
+
var _Card = require('@material-ui/core/Card');
|
|
20
|
+
|
|
21
|
+
var _Card2 = _interopRequireDefault(_Card);
|
|
22
|
+
|
|
23
|
+
var _styles = require('@material-ui/core/styles');
|
|
24
|
+
|
|
25
|
+
var _CardContent = require('@material-ui/core/CardContent');
|
|
26
|
+
|
|
27
|
+
var _CardContent2 = _interopRequireDefault(_CardContent);
|
|
28
|
+
|
|
29
|
+
var _Typography = require('@material-ui/core/Typography');
|
|
30
|
+
|
|
31
|
+
var _Typography2 = _interopRequireDefault(_Typography);
|
|
32
|
+
|
|
33
|
+
var _RadioGroup = require('@material-ui/core/RadioGroup');
|
|
34
|
+
|
|
35
|
+
var _RadioGroup2 = _interopRequireDefault(_RadioGroup);
|
|
36
|
+
|
|
37
|
+
var _FormControlLabel = require('@material-ui/core/FormControlLabel');
|
|
38
|
+
|
|
39
|
+
var _FormControlLabel2 = _interopRequireDefault(_FormControlLabel);
|
|
40
|
+
|
|
41
|
+
var _Radio = require('@material-ui/core/Radio');
|
|
42
|
+
|
|
43
|
+
var _Radio2 = _interopRequireDefault(_Radio);
|
|
44
|
+
|
|
45
|
+
var _ = require('../');
|
|
46
|
+
|
|
47
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
48
|
+
|
|
49
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
50
|
+
|
|
51
|
+
var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
52
|
+
return {
|
|
53
|
+
container: {
|
|
54
|
+
backgroundColor: theme.palette.secondary.dark,
|
|
55
|
+
boxShadow: 'none',
|
|
56
|
+
padding: theme.spacing(2),
|
|
57
|
+
width: '100%',
|
|
58
|
+
height: '100%'
|
|
59
|
+
},
|
|
60
|
+
title: _extends({
|
|
61
|
+
padding: 0
|
|
62
|
+
}, R.pathOr({}, ['mixins', 'share', 'title'], theme)),
|
|
63
|
+
content: {
|
|
64
|
+
padding: theme.spacing(1, 0),
|
|
65
|
+
'&:last-child': {
|
|
66
|
+
padding: theme.spacing(1, 0)
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
label: theme.typography.body2,
|
|
70
|
+
warning: _extends({
|
|
71
|
+
marginLeft: theme.spacing(0.5),
|
|
72
|
+
width: 'unset',
|
|
73
|
+
fontSize: 'inherit',
|
|
74
|
+
height: '1.3em'
|
|
75
|
+
}, R.pathOr({}, ['mixins', 'share', 'warning'], theme))
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
var Warning = function Warning(_ref) {
|
|
80
|
+
var title = _ref.title;
|
|
81
|
+
|
|
82
|
+
var classes = useStyles();
|
|
83
|
+
var theme = (0, _styles.useTheme)();
|
|
84
|
+
var warningColor = R.path(['palette', 'highlight', 'hl1'], theme) || theme.palette.primary.dark;
|
|
85
|
+
var warningTextColor = theme.palette.getContrastText(warningColor);
|
|
86
|
+
return _react2.default.createElement(
|
|
87
|
+
_.Tooltip,
|
|
88
|
+
{
|
|
89
|
+
className: classes.warning,
|
|
90
|
+
title: title,
|
|
91
|
+
tabIndex: 0,
|
|
92
|
+
variant: 'warning',
|
|
93
|
+
'aria-hidden': false,
|
|
94
|
+
placement: 'bottom',
|
|
95
|
+
PopperProps: {
|
|
96
|
+
modifiers: {
|
|
97
|
+
flip: {
|
|
98
|
+
behavior: ['bottom', 'top', 'left', 'right']
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
_react2.default.createElement(_.Warning, { pathBackgroundColor: warningColor, pathColor: warningTextColor })
|
|
104
|
+
);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
Warning.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
108
|
+
title: _propTypes2.default.string
|
|
109
|
+
} : {};
|
|
110
|
+
|
|
111
|
+
var Mode = function Mode(_ref2) {
|
|
112
|
+
var changeMode = _ref2.changeMode,
|
|
113
|
+
mode = _ref2.mode,
|
|
114
|
+
_ref2$modes = _ref2.modes,
|
|
115
|
+
modes = _ref2$modes === undefined ? [] : _ref2$modes,
|
|
116
|
+
title = _ref2.title;
|
|
117
|
+
|
|
118
|
+
var classes = useStyles();
|
|
119
|
+
return _react2.default.createElement(
|
|
120
|
+
_Card2.default,
|
|
121
|
+
{ className: classes.container },
|
|
122
|
+
_react2.default.createElement(
|
|
123
|
+
_CardContent2.default,
|
|
124
|
+
{ className: classes.content },
|
|
125
|
+
_react2.default.createElement(
|
|
126
|
+
_Typography2.default,
|
|
127
|
+
{ variant: 'h6', className: classes.title },
|
|
128
|
+
title
|
|
129
|
+
),
|
|
130
|
+
_react2.default.createElement(
|
|
131
|
+
_RadioGroup2.default,
|
|
132
|
+
{ onChange: function onChange(e) {
|
|
133
|
+
return changeMode(e.target.value);
|
|
134
|
+
}, value: mode },
|
|
135
|
+
R.map(function (_ref3) {
|
|
136
|
+
var label = _ref3.label,
|
|
137
|
+
value = _ref3.value,
|
|
138
|
+
warningMessage = _ref3.warningMessage;
|
|
139
|
+
return _react2.default.createElement(_FormControlLabel2.default, {
|
|
140
|
+
classes: { label: classes.label },
|
|
141
|
+
key: value,
|
|
142
|
+
control: _react2.default.createElement(_Radio2.default, { variant: 'outlined', color: 'primary' }),
|
|
143
|
+
label: _react2.default.createElement(
|
|
144
|
+
'span',
|
|
145
|
+
null,
|
|
146
|
+
label,
|
|
147
|
+
warningMessage && _react2.default.createElement(Warning, { title: warningMessage })
|
|
148
|
+
),
|
|
149
|
+
value: value
|
|
150
|
+
});
|
|
151
|
+
})(modes)
|
|
152
|
+
)
|
|
153
|
+
)
|
|
154
|
+
);
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
Mode.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
158
|
+
changeMode: _propTypes2.default.func,
|
|
159
|
+
mode: _propTypes2.default.string,
|
|
160
|
+
modes: _propTypes2.default.arrayOf(_propTypes2.default.shape({
|
|
161
|
+
label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
|
162
|
+
value: _propTypes2.default.string,
|
|
163
|
+
warningMessage: _propTypes2.default.string
|
|
164
|
+
})),
|
|
165
|
+
title: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
|
|
166
|
+
} : {};
|
|
167
|
+
|
|
168
|
+
exports.default = Mode;
|
|
169
|
+
module.exports = exports['default'];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _Contact = require('./Contact');
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, 'default', {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _interopRequireDefault(_Contact).default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
module.exports = exports['default'];
|