@sis-cc/dotstatsuite-visions 10.27.0 → 10.28.1

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.
@@ -69,25 +69,29 @@ var Contact = function Contact(_ref) {
69
69
  email = _useState5[0],
70
70
  setEmail = _useState5[1];
71
71
 
72
- var _useState6 = useState(false),
73
- emailHasError = _useState6[0],
74
- setEmailError = _useState6[1];
72
+ var _useState6 = useState(''),
73
+ subject = _useState6[0],
74
+ setSubject = _useState6[1];
75
75
 
76
- var _useState7 = useState(''),
77
- details = _useState7[0],
78
- setDetails = _useState7[1];
76
+ var _useState7 = useState(false),
77
+ emailHasError = _useState7[0],
78
+ setEmailError = _useState7[1];
79
79
 
80
- var _useState8 = useState(false),
81
- checked = _useState8[0],
82
- setChecked = _useState8[1];
80
+ var _useState8 = useState(''),
81
+ details = _useState8[0],
82
+ setDetails = _useState8[1];
83
83
 
84
- var _useState9 = useState(true),
85
- isSendDisable = _useState9[0],
86
- setSendDisable = _useState9[1];
84
+ var _useState9 = useState(false),
85
+ checked = _useState9[0],
86
+ setChecked = _useState9[1];
87
87
 
88
- var _useState10 = useState(false),
89
- detailsHasError = _useState10[0],
90
- setDetailsError = _useState10[1];
88
+ var _useState10 = useState(true),
89
+ isSendDisable = _useState10[0],
90
+ setSendDisable = _useState10[1];
91
+
92
+ var _useState11 = useState(false),
93
+ detailsHasError = _useState11[0],
94
+ setDetailsError = _useState11[1];
91
95
 
92
96
  var checkEmail = function checkEmail(email) {
93
97
  if (getIsValidEmail(email) && R.test(/^\S+@\S+\.\S+$/, email)) {
@@ -111,7 +115,8 @@ var Contact = function Contact(_ref) {
111
115
  organisation: organisation,
112
116
  email: email,
113
117
  details: details,
114
- checkbox: checked
118
+ checkbox: checked,
119
+ subject: subject
115
120
  });
116
121
  };
117
122
 
@@ -225,6 +230,22 @@ var Contact = function Contact(_ref) {
225
230
  R.prop('message')(R.find(R.propEq('value', mode))(modes))
226
231
  )
227
232
  ),
233
+ React.createElement(
234
+ Grid,
235
+ { item: true, xs: 12, md: 12 },
236
+ React.createElement(Input, {
237
+ variant: 'outlined',
238
+ isControlled: true,
239
+ label: labels.subject,
240
+ name: 'subject',
241
+ type: 'text',
242
+ onChange: function onChange(e) {
243
+ return setSubject(e.target.value);
244
+ },
245
+ value: subject,
246
+ fullWidth: true
247
+ })
248
+ ),
228
249
  React.createElement(
229
250
  Grid,
230
251
  { item: true, xs: 12, md: 12 },
@@ -321,7 +342,8 @@ Contact.propTypes = process.env.NODE_ENV !== "production" ? {
321
342
  submit: PropTypes.string,
322
343
  email: PropTypes.string,
323
344
  details: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
324
- contactForHelp: PropTypes.oneOfType([PropTypes.string, PropTypes.element])
345
+ contactForHelp: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
346
+ subject: PropTypes.oneOfType([PropTypes.string, PropTypes.element])
325
347
  })
326
348
  } : {};
327
349
  export default Contact;
@@ -22,25 +22,11 @@ var useStyles = makeStyles(function (theme) {
22
22
  flexGrow: 1
23
23
  },
24
24
  copyright: {
25
- padding: function padding(_ref) {
26
- var isWidthUp = _ref.isWidthUp,
27
- isSourced = _ref.isSourced;
28
-
29
- if (isWidthUp(T4_BREAKPOINTS.sm) && isSourced) return 0;
30
- return theme.spacing(0, 1, 0, 1);
31
- }
25
+ padding: 0
32
26
  },
33
27
  source: {
34
28
  padding: theme.spacing(0, 1, 0, 1)
35
29
  },
36
- typo: {
37
- fontSize: function fontSize(_ref2) {
38
- var isWidthUp = _ref2.isWidthUp;
39
-
40
- if (isWidthUp(T4_BREAKPOINTS.lg)) return 14;
41
- return 12;
42
- }
43
- },
44
30
  logo: {
45
31
  height: HEIGHT / 2,
46
32
  display: 'flex'
@@ -52,15 +38,15 @@ var useStyles = makeStyles(function (theme) {
52
38
  };
53
39
  });
54
40
 
55
- var DataFooter = function DataFooter(_ref3) {
41
+ var DataFooter = function DataFooter(_ref) {
56
42
  var _cx;
57
43
 
58
- var logo = _ref3.logo,
59
- source = _ref3.source,
60
- copyright = _ref3.copyright,
61
- legend = _ref3.legend,
62
- _ref3$isSticky = _ref3.isSticky,
63
- isSticky = _ref3$isSticky === undefined ? false : _ref3$isSticky;
44
+ var logo = _ref.logo,
45
+ source = _ref.source,
46
+ copyright = _ref.copyright,
47
+ legend = _ref.legend,
48
+ _ref$isSticky = _ref.isSticky,
49
+ isSticky = _ref$isSticky === undefined ? false : _ref$isSticky;
64
50
 
65
51
  var target = React.useRef(null);
66
52
 
@@ -70,12 +56,13 @@ var DataFooter = function DataFooter(_ref3) {
70
56
  var isWidthUp = R.gt(width);
71
57
  var isSourced = source && source.label && source.link;
72
58
  var isCopyrighted = copyright && copyright.label && copyright.content;
73
- var classes = useStyles({ isWidthUp: isWidthUp, isSourced: isSourced });
59
+ var classes = useStyles();
74
60
 
75
61
  var _useKeyboardEscapeHan = useKeyboardEscapeHandler(),
76
62
  open = _useKeyboardEscapeHan.open,
77
63
  setOpen = _useKeyboardEscapeHan.setOpen;
78
64
 
65
+ var typoSize = isWidthUp(T4_BREAKPOINTS.lg) ? 14 : 12;
79
66
  if (!isWidthUp(T4_BREAKPOINTS.xs)) return React.createElement(Grid, { ref: target });
80
67
 
81
68
  return React.createElement(
@@ -107,7 +94,10 @@ var DataFooter = function DataFooter(_ref3) {
107
94
  },
108
95
  React.createElement(
109
96
  Grid,
110
- { item: true, className: classes.copyright },
97
+ {
98
+ item: true,
99
+ className: isWidthUp(T4_BREAKPOINTS.sm) && isSourced ? classes.copyright : classes.source
100
+ },
111
101
  isCopyrighted && React.createElement(
112
102
  Fragment,
113
103
  null,
@@ -137,11 +127,7 @@ var DataFooter = function DataFooter(_ref3) {
137
127
  },
138
128
  React.createElement(
139
129
  Typography,
140
- {
141
- variant: 'body2',
142
- className: classes.typo,
143
- style: { cursor: 'pointer' }
144
- },
130
+ { variant: 'body2', style: { cursor: 'pointer', fontSize: typoSize } },
145
131
  copyright.label
146
132
  )
147
133
  ),
@@ -157,7 +143,7 @@ var DataFooter = function DataFooter(_ref3) {
157
143
  { item: true, className: classes.source },
158
144
  React.createElement(
159
145
  Typography,
160
- { variant: 'body2', className: classes.typo },
146
+ { variant: 'body2', style: { fontSize: typoSize } },
161
147
  React.createElement(
162
148
  Link,
163
149
  { href: source.link, rel: 'noopener noreferrer', target: '_blank', variant: 'body2' },
@@ -19,11 +19,7 @@ var useStyles = makeStyles(function (theme) {
19
19
  return {
20
20
  header: {
21
21
  alignItems: 'center',
22
- display: 'flex',
23
- justifyContent: function justifyContent(_ref) {
24
- var isWidthLess = _ref.isWidthLess;
25
- return isWidthLess(T4_BREAKPOINTS.xs2) ? 'flex-end' : 'space-between';
26
- }
22
+ display: 'flex'
27
23
  },
28
24
  container: _extends({
29
25
  display: 'flex',
@@ -37,12 +33,7 @@ var useStyles = makeStyles(function (theme) {
37
33
  display: 'inline-block',
38
34
  width: '100%',
39
35
  lineHeight: 1.5
40
- }, R.pathOr({}, ['mixins', 'dataHeader', 'title'], theme), {
41
- fontSize: function fontSize(_ref2) {
42
- var isWidthLess = _ref2.isWidthLess;
43
- return R.cond([[R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)], [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(14)], [R.always(isWidthLess(T4_BREAKPOINTS.md2)), R.always(16)], [R.T, R.identity]])(18);
44
- }
45
- }),
36
+ }, R.pathOr({}, ['mixins', 'dataHeader', 'title'], theme)),
46
37
  wrapperSubtitle: {
47
38
  alignItems: 'center',
48
39
  display: 'flex',
@@ -53,18 +44,9 @@ var useStyles = makeStyles(function (theme) {
53
44
  subtitle: _extends({
54
45
  lineHeight: 1.6,
55
46
  color: theme.palette.grey[600]
56
- }, R.pathOr({}, ['mixins', 'dataHeader', 'subtitle'], theme), {
57
- fontSize: function fontSize(_ref3) {
58
- var isWidthLess = _ref3.isWidthLess;
59
- return R.cond([[R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)], [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(13)]])(14);
60
- }
61
- }),
47
+ }, R.pathOr({}, ['mixins', 'dataHeader', 'subtitle'], theme)),
62
48
  disclaimer: _extends({
63
49
  padding: theme.spacing(0.5),
64
- fontSize: function fontSize(_ref4) {
65
- var isWidthLess = _ref4.isWidthLess;
66
- return R.cond([[R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)], [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(13)]])(14);
67
- },
68
50
  lineHeight: 1.5
69
51
  }, R.pathOr({}, ['mixins', 'dataHeader', 'disclaimer'], theme)),
70
52
  infoIcon: {
@@ -106,19 +88,19 @@ var useStyles = makeStyles(function (theme) {
106
88
  };
107
89
  });
108
90
 
109
- var DataHeader = function DataHeader(_ref5) {
91
+ var DataHeader = function DataHeader(_ref) {
110
92
  var _cx;
111
93
 
112
- var children = _ref5.children,
113
- title = _ref5.title,
114
- _ref5$subtitle = _ref5.subtitle,
115
- subtitle = _ref5$subtitle === undefined ? [] : _ref5$subtitle,
116
- combinations = _ref5.combinations,
117
- disclaimer = _ref5.disclaimer,
118
- sideProps = _ref5.sideProps,
119
- SideIcon = _ref5.SideIcon,
120
- _ref5$isSticky = _ref5.isSticky,
121
- isSticky = _ref5$isSticky === undefined ? false : _ref5$isSticky;
94
+ var children = _ref.children,
95
+ title = _ref.title,
96
+ _ref$subtitle = _ref.subtitle,
97
+ subtitle = _ref$subtitle === undefined ? [] : _ref$subtitle,
98
+ combinations = _ref.combinations,
99
+ disclaimer = _ref.disclaimer,
100
+ sideProps = _ref.sideProps,
101
+ SideIcon = _ref.SideIcon,
102
+ _ref$isSticky = _ref.isSticky,
103
+ isSticky = _ref$isSticky === undefined ? false : _ref$isSticky;
122
104
 
123
105
  var target = React.useRef(null);
124
106
 
@@ -127,7 +109,7 @@ var DataHeader = function DataHeader(_ref5) {
127
109
 
128
110
  var isWidthUp = R.gte(width);
129
111
  var isWidthLess = R.lt(width);
130
- var classes = useStyles({ isWidthLess: isWidthLess });
112
+ var classes = useStyles();
131
113
 
132
114
  var reducedContent = getReducedContent({
133
115
  isWidthLess: isWidthLess,
@@ -139,13 +121,21 @@ var DataHeader = function DataHeader(_ref5) {
139
121
 
140
122
  var theme = useTheme();
141
123
  var iconColor = R.path(['mixins', 'dataHeader', 'icon', 'color'], theme);
142
-
124
+ var fontSizeTitle = R.cond([[R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)], [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(14)], [R.always(isWidthLess(T4_BREAKPOINTS.md2)), R.always(16)], [R.T, R.identity]])(18);
125
+ var fontSizeSubtitle = R.cond([[R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)], [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(13)]])(14);
143
126
  var subtitleLength = R.length(subtitle);
144
127
  var combinationsLength = R.length(combinations);
145
128
 
146
129
  return React.createElement(
147
130
  'div',
148
- { className: classes.header, ref: target, 'data-testid': 'data-header' },
131
+ {
132
+ className: classes.header,
133
+ style: {
134
+ justifyContent: isWidthLess(T4_BREAKPOINTS.xs2) ? 'flex-end' : 'space-between'
135
+ },
136
+ ref: target,
137
+ 'data-testid': 'data-header'
138
+ },
149
139
  React.createElement(
150
140
  'div',
151
141
  { className: cx(classes.container, (_cx = {}, _cx[classes.sticky] = isSticky, _cx)) },
@@ -154,6 +144,7 @@ var DataHeader = function DataHeader(_ref5) {
154
144
  {
155
145
  variant: 'h1',
156
146
  className: classes.title,
147
+ style: { fontSize: fontSizeTitle },
157
148
  'data-testid': 'data-header-title',
158
149
  'aria-label': title.label
159
150
  },
@@ -174,6 +165,7 @@ var DataHeader = function DataHeader(_ref5) {
174
165
  {
175
166
  key: 'subtitle-' + index,
176
167
  className: classes.subtitle,
168
+ style: { fontSize: fontSizeSubtitle },
177
169
  'data-testid': 'data-header-subtitle',
178
170
  'aria-label': sub.header
179
171
  },
@@ -221,7 +213,11 @@ var DataHeader = function DataHeader(_ref5) {
221
213
  ),
222
214
  isWidthUp(T4_BREAKPOINTS.xs3) && disclaimer && React.createElement(
223
215
  Typography,
224
- { 'data-testid': 'data-header-disclaimer', className: classes.disclaimer },
216
+ {
217
+ 'data-testid': 'data-header-disclaimer',
218
+ className: classes.disclaimer,
219
+ style: { fontSize: fontSizeSubtitle }
220
+ },
225
221
  disclaimer
226
222
  )
227
223
  ),
@@ -44,7 +44,6 @@ var HierarchicalFilter = function HierarchicalFilter(props) {
44
44
  activePanelId = props.activePanelId,
45
45
  Tag = props.Tag,
46
46
  testId = props.testId,
47
- accessibility = props.accessibility,
48
47
  _props$expansionPanel = props.expansionPanelProps,
49
48
  expansionPanelProps = _props$expansionPanel === undefined ? {} : _props$expansionPanel,
50
49
  _props$labelRenderer = props.labelRenderer,
@@ -64,7 +63,7 @@ var HierarchicalFilter = function HierarchicalFilter(props) {
64
63
  _props$simpleSelectio = props.simpleSelectionMode,
65
64
  simpleSelectionMode = _props$simpleSelectio === undefined ? false : _props$simpleSelectio;
66
65
 
67
- var classes = useStyles({ accessibility: accessibility });
66
+ var classes = useStyles();
68
67
  var theme = useTheme();
69
68
  var isRtl = getIsRtl(theme);
70
69
  var Chip = R.isNil(Tag) ? InternalTag : Tag;
@@ -148,7 +147,6 @@ var HierarchicalFilter = function HierarchicalFilter(props) {
148
147
 
149
148
  HierarchicalFilter.propTypes = process.env.NODE_ENV !== "production" ? {
150
149
  id: PropTypes.string,
151
- accessibility: PropTypes.bool,
152
150
  activePanelId: PropTypes.string,
153
151
  changeSelection: PropTypes.func,
154
152
  onChangeActivePanel: PropTypes.func,
package/es/Logo/Logo.js CHANGED
@@ -11,10 +11,6 @@ var useStyles = makeStyles(function () {
11
11
  },
12
12
  logo: {
13
13
  maxWidth: '100%',
14
- maxHeight: function maxHeight(_ref) {
15
- var _maxHeight = _ref.maxHeight;
16
- return _maxHeight;
17
- },
18
14
  imageRendering: 'crisp-edges'
19
15
  },
20
16
  // https://caniuse.com/mdn-css_properties_image-rendering_crisp-edges
@@ -24,17 +20,22 @@ var useStyles = makeStyles(function () {
24
20
  };
25
21
  });
26
22
 
27
- var Logo = function Logo(_ref2) {
28
- var logo = _ref2.logo,
29
- _ref2$maxHeight = _ref2.maxHeight,
30
- maxHeight = _ref2$maxHeight === undefined ? 150 : _ref2$maxHeight,
31
- children = _ref2.children;
23
+ var Logo = function Logo(_ref) {
24
+ var logo = _ref.logo,
25
+ _ref$maxHeight = _ref.maxHeight,
26
+ maxHeight = _ref$maxHeight === undefined ? 150 : _ref$maxHeight,
27
+ children = _ref.children;
32
28
 
33
- var classes = useStyles({ maxHeight: maxHeight });
29
+ var classes = useStyles();
34
30
  return React.createElement(
35
31
  'div',
36
32
  { className: classes.container },
37
- React.createElement('img', { className: cx(classes.logo, classes.alternativeBrowserLogo), src: logo, alt: 'logo' }),
33
+ React.createElement('img', {
34
+ className: cx(classes.logo, classes.alternativeBrowserLogo),
35
+ style: { maxHeight: maxHeight },
36
+ src: logo,
37
+ alt: 'logo'
38
+ }),
38
39
  children
39
40
  );
40
41
  };
@@ -169,7 +169,8 @@ var Item = function Item(_ref) {
169
169
  onMouseEnter: R.is(Function, changeMouseSelection) ? changeMouseSelection(null, { isUp: true }) : null,
170
170
  style: _extends({}, R.evolve(containerStyles, style), {
171
171
  left: isRtl && 0,
172
- right: R.not(isRtl) && 0
172
+ right: R.not(isRtl) && 0,
173
+ outline: accessibility ? undefined : 'none'
173
174
  }),
174
175
  className: classes.containerArrow,
175
176
  tabIndex: 0,
@@ -64,7 +64,7 @@ var ScopeList = function ScopeList(props) {
64
64
  setScrollTop = _useState2[1];
65
65
 
66
66
  var ref = useRef();
67
- var classes = useStyles({ accessibility: accessibility });
67
+ var classes = useStyles();
68
68
  var theme = useTheme();
69
69
 
70
70
  var _useState3 = useState(false),
@@ -27,11 +27,7 @@ export var useStyles = makeStyles(function (theme) {
27
27
  margin: 0,
28
28
  userSelect: 'none',
29
29
  cursor: 'pointer',
30
- color: theme.palette.primary.main,
31
- outline: function outline(_ref) {
32
- var accessibility = _ref.accessibility;
33
- return accessibility ? undefined : 'none';
34
- }
30
+ color: theme.palette.primary.main
35
31
  },
36
32
  listItemHover: {
37
33
  '&:hover': {
@@ -126,10 +122,6 @@ export var useStyles = makeStyles(function (theme) {
126
122
  color: theme.palette.primary.main,
127
123
  height: '100%',
128
124
  display: 'flex',
129
- outline: function outline(_ref2) {
130
- var accessibility = _ref2.accessibility;
131
- return accessibility ? undefined : 'none';
132
- },
133
125
  '&:hover, &:focus': {
134
126
  backgroundColor: theme.palette.primary.main,
135
127
  color: theme.palette.common.white
@@ -24,10 +24,6 @@ var useStyles = makeStyles(function (theme) {
24
24
  }
25
25
  },
26
26
  label: {
27
- textTransform: function textTransform(_ref) {
28
- var _textTransform = _ref.textTransform;
29
- return _textTransform;
30
- },
31
27
  textAlign: 'left',
32
28
  fontSize: '0.9375rem',
33
29
  lineHeight: '1.0'
@@ -39,19 +35,19 @@ var useStyles = makeStyles(function (theme) {
39
35
  };
40
36
  });
41
37
 
42
- var ToggleButton = function ToggleButton(_ref2) {
38
+ var ToggleButton = function ToggleButton(_ref) {
43
39
  var _cx;
44
40
 
45
- var isOpen = _ref2.isOpen,
46
- label = _ref2.label,
47
- toggle = _ref2.toggle,
48
- testId = _ref2.testId,
49
- _ref2$tabindex = _ref2.tabindex,
50
- tabindex = _ref2$tabindex === undefined ? 0 : _ref2$tabindex,
51
- _ref2$textTransform = _ref2.textTransform,
52
- textTransform = _ref2$textTransform === undefined ? 'capitalize' : _ref2$textTransform;
41
+ var isOpen = _ref.isOpen,
42
+ label = _ref.label,
43
+ toggle = _ref.toggle,
44
+ testId = _ref.testId,
45
+ _ref$tabindex = _ref.tabindex,
46
+ tabindex = _ref$tabindex === undefined ? 0 : _ref$tabindex,
47
+ _ref$textTransform = _ref.textTransform,
48
+ textTransform = _ref$textTransform === undefined ? 'capitalize' : _ref$textTransform;
53
49
 
54
- var classes = useStyles({ textTransform: textTransform });
50
+ var classes = useStyles();
55
51
  return React.createElement(
56
52
  Button,
57
53
  {
@@ -61,6 +57,7 @@ var ToggleButton = function ToggleButton(_ref2) {
61
57
  'data-testid': testId,
62
58
  classes: { root: classes.root, label: classes.label },
63
59
  className: cx((_cx = {}, _cx[classes.selected] = isOpen, _cx)),
60
+ style: { textTransform: textTransform },
64
61
  fullWidth: true,
65
62
  variant: 'text',
66
63
  onClick: R.is(Function)(toggle) ? toggle : null
@@ -96,7 +96,10 @@ var Item = function Item(_ref) {
96
96
  onMouseDown: isDisabled || open ? null : eventsListeners.onMouseDown,
97
97
  onMouseEnter: isDisabled || open ? null : eventsListeners.onMouseEnter,
98
98
  title: isGreyed ? R.propOr('', 'disableItemLabel')(labels) + ' ' + label : label,
99
- style: { opacity: isDisabled && isGreyed ? '0.5' : '1' },
99
+ style: {
100
+ opacity: isDisabled && isGreyed ? '0.5' : '1',
101
+ outline: accessibility ? undefined : 'none'
102
+ },
100
103
  primary: React.createElement(
101
104
  'div',
102
105
  {
@@ -98,25 +98,29 @@ var Contact = function Contact(_ref) {
98
98
  email = _useState5[0],
99
99
  setEmail = _useState5[1];
100
100
 
101
- var _useState6 = (0, _react.useState)(false),
102
- emailHasError = _useState6[0],
103
- setEmailError = _useState6[1];
101
+ var _useState6 = (0, _react.useState)(''),
102
+ subject = _useState6[0],
103
+ setSubject = _useState6[1];
104
104
 
105
- var _useState7 = (0, _react.useState)(''),
106
- details = _useState7[0],
107
- setDetails = _useState7[1];
105
+ var _useState7 = (0, _react.useState)(false),
106
+ emailHasError = _useState7[0],
107
+ setEmailError = _useState7[1];
108
108
 
109
- var _useState8 = (0, _react.useState)(false),
110
- checked = _useState8[0],
111
- setChecked = _useState8[1];
109
+ var _useState8 = (0, _react.useState)(''),
110
+ details = _useState8[0],
111
+ setDetails = _useState8[1];
112
112
 
113
- var _useState9 = (0, _react.useState)(true),
114
- isSendDisable = _useState9[0],
115
- setSendDisable = _useState9[1];
113
+ var _useState9 = (0, _react.useState)(false),
114
+ checked = _useState9[0],
115
+ setChecked = _useState9[1];
116
116
 
117
- var _useState10 = (0, _react.useState)(false),
118
- detailsHasError = _useState10[0],
119
- setDetailsError = _useState10[1];
117
+ var _useState10 = (0, _react.useState)(true),
118
+ isSendDisable = _useState10[0],
119
+ setSendDisable = _useState10[1];
120
+
121
+ var _useState11 = (0, _react.useState)(false),
122
+ detailsHasError = _useState11[0],
123
+ setDetailsError = _useState11[1];
120
124
 
121
125
  var checkEmail = function checkEmail(email) {
122
126
  if ((0, _isemail.validate)(email) && R.test(/^\S+@\S+\.\S+$/, email)) {
@@ -140,7 +144,8 @@ var Contact = function Contact(_ref) {
140
144
  organisation: organisation,
141
145
  email: email,
142
146
  details: details,
143
- checkbox: checked
147
+ checkbox: checked,
148
+ subject: subject
144
149
  });
145
150
  };
146
151
 
@@ -254,6 +259,22 @@ var Contact = function Contact(_ref) {
254
259
  R.prop('message')(R.find(R.propEq('value', mode))(modes))
255
260
  )
256
261
  ),
262
+ _react2.default.createElement(
263
+ _core.Grid,
264
+ { item: true, xs: 12, md: 12 },
265
+ _react2.default.createElement(_Input2.default, {
266
+ variant: 'outlined',
267
+ isControlled: true,
268
+ label: labels.subject,
269
+ name: 'subject',
270
+ type: 'text',
271
+ onChange: function onChange(e) {
272
+ return setSubject(e.target.value);
273
+ },
274
+ value: subject,
275
+ fullWidth: true
276
+ })
277
+ ),
257
278
  _react2.default.createElement(
258
279
  _core.Grid,
259
280
  { item: true, xs: 12, md: 12 },
@@ -350,7 +371,8 @@ Contact.propTypes = process.env.NODE_ENV !== "production" ? {
350
371
  submit: _propTypes2.default.string,
351
372
  email: _propTypes2.default.string,
352
373
  details: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
353
- contactForHelp: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
374
+ contactForHelp: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
375
+ subject: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
354
376
  })
355
377
  } : {};
356
378
  exports.default = Contact;