@comicrelief/component-library 5.8.0 → 5.8.3

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.
@@ -28,7 +28,12 @@ var CheckAnswer = function CheckAnswer(_ref) {
28
28
  if (e.target.checked) {
29
29
  newVal = e.target.value === 'yes' ? e.target.value : 'no';
30
30
  } else {
31
- newVal = '';
31
+ newVal = ''; // To ensure we're not letting invalid values get passed, reset any associated fields:
32
+
33
+ var theseFields = _AssociatedFields.default[name];
34
+ theseFields.forEach(function (fieldName) {
35
+ setValue(fieldName, '');
36
+ });
32
37
  } // Update the checkbox field itself
33
38
 
34
39
 
@@ -39,8 +44,9 @@ var CheckAnswer = function CheckAnswer(_ref) {
39
44
  var reValidate = !mpValidationOptions[name][newVal];
40
45
 
41
46
  if (reValidate) {
42
- var theseFields = _AssociatedFields.default[name];
43
- theseFields.forEach(function (fieldName) {
47
+ var _theseFields = _AssociatedFields.default[name];
48
+
49
+ _theseFields.forEach(function (fieldName) {
44
50
  clearErrors(fieldName);
45
51
  });
46
52
  }
@@ -117,7 +117,8 @@ var MarketingPreferencesDS = function MarketingPreferencesDS(_ref) {
117
117
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.ShowHideInputWrapper, {
118
118
  show: showEmailField
119
119
  }, emailChoice[0] === 'no' && /*#__PURE__*/_react.default.createElement(_NoMessage.default, {
120
- askingFor: "an email"
120
+ askingFor: "an email",
121
+ optInType: "email"
121
122
  }), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
122
123
  placeholder: "",
123
124
  fieldName: "mp_email",
@@ -147,7 +148,8 @@ var MarketingPreferencesDS = function MarketingPreferencesDS(_ref) {
147
148
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.ShowHideInputWrapper, {
148
149
  show: showSMSField
149
150
  }, smsChoice[0] === 'no' && /*#__PURE__*/_react.default.createElement(_NoMessage.default, {
150
- askingFor: "a mobile number"
151
+ askingFor: "a mobile number",
152
+ optInType: "SMS"
151
153
  }), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
152
154
  placeholder: "",
153
155
  fieldName: "mp_mobile",
@@ -175,7 +177,8 @@ var MarketingPreferencesDS = function MarketingPreferencesDS(_ref) {
175
177
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.ShowHideInputWrapper, {
176
178
  show: showPhoneField
177
179
  }, phoneChoice[0] === 'no' ? /*#__PURE__*/_react.default.createElement(_NoMessage.default, {
178
- askingFor: "a phone number"
180
+ askingFor: "a phone number",
181
+ optInType: "phone"
179
182
  }) : '', /*#__PURE__*/_react.default.createElement(_TextInput.default, {
180
183
  placeholder: "",
181
184
  fieldName: "mp_phone",
@@ -203,7 +206,8 @@ var MarketingPreferencesDS = function MarketingPreferencesDS(_ref) {
203
206
  }, /*#__PURE__*/_react.default.createElement(_MarketingPreferencesDS.ShowHideInputWrapper, {
204
207
  show: showPostFields
205
208
  }, postChoice[0] === 'no' ? /*#__PURE__*/_react.default.createElement(_NoMessage.default, {
206
- askingFor: "an address"
209
+ askingFor: "an address",
210
+ optInType: "postal"
207
211
  }) : '', /*#__PURE__*/_react.default.createElement(_TextInput.default, {
208
212
  placeholder: "",
209
213
  fieldName: "mp_address1",
@@ -9,16 +9,31 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
+
12
14
  var _Text = _interopRequireDefault(require("../../Atoms/Text/Text"));
13
15
 
14
- var NoMessage = function NoMessage(_ref) {
15
- var askingFor = _ref.askingFor;
16
- var message = "Please provide ".concat(askingFor, " so we can remove it from our database, otherwise untick this option.");
17
- return /*#__PURE__*/_react.default.createElement(_Text.default, {
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ var NoMessageWrapper = _styledComponents.default.div.withConfig({
21
+ displayName: "_NoMessage__NoMessageWrapper",
22
+ componentId: "sc-2h3k46-0"
23
+ })(["", ""], function (_ref) {
24
+ var theme = _ref.theme;
25
+ return (0, _styledComponents.css)(["background-color:", ";padding:15px;margin-bottom:15px;"], theme.color('red'));
26
+ });
27
+
28
+ var NoMessage = function NoMessage(_ref2) {
29
+ var askingFor = _ref2.askingFor,
30
+ optInType = _ref2.optInType;
31
+ var message = "This will remove the supplied ".concat(askingFor, " from any *previous* ").concat(optInType, " opt-in from our database; otherwise, you can leave this unchecked.");
32
+ return /*#__PURE__*/_react.default.createElement(NoMessageWrapper, null, /*#__PURE__*/_react.default.createElement(_Text.default, {
18
33
  tag: "p",
19
34
  size: "s",
20
- color: "grey_dark"
21
- }, message);
35
+ color: "white"
36
+ }, message));
22
37
  };
23
38
 
24
39
  var _default = NoMessage;
@@ -13,11 +13,11 @@ var colors = {
13
13
  coral: '#F9686D',
14
14
  coral_dark: '#961D35',
15
15
  coral_light: '#FFCECE',
16
- cwg22_blue: '#204794',
17
- cwg22_orange: '#FB6326',
18
- cwg22_purple: '#7B3ED3',
19
- cwg22_red: '#E62731',
20
- cwg22_yellow: '#F8E928',
16
+ cwg_22_blue: '#204794',
17
+ cwg_22_orange: '#FB6326',
18
+ cwg_22_purple: '#7B3ED3',
19
+ cwg_22_red: '#E62731',
20
+ cwg_22_yellow: '#F8E928',
21
21
  deep_violet_dark: '#2C0230',
22
22
  deep_violet: '#2C0230'
23
23
  /** Will be removed */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@comicrelief/component-library",
3
3
  "author": "Comic Relief Engineering Team",
4
- "version": "5.8.0",
4
+ "version": "5.8.3",
5
5
  "main": "dist/index.js",
6
6
  "license": "ISC",
7
7
  "jest": {
@@ -19,6 +19,12 @@ const CheckAnswer = ({
19
19
  newVal = e.target.value === 'yes' ? e.target.value : 'no';
20
20
  } else {
21
21
  newVal = '';
22
+
23
+ // To ensure we're not letting invalid values get passed, reset any associated fields:
24
+ const theseFields = AssociatedFields[name];
25
+ theseFields.forEach(fieldName => {
26
+ setValue(fieldName, '');
27
+ });
22
28
  }
23
29
 
24
30
  // Update the checkbox field itself
@@ -87,9 +87,8 @@ const MarketingPreferencesDS = ({
87
87
  </Head>
88
88
 
89
89
  <MaybeDisabled disabled={disableEmailInput}>
90
- {/* DEBUG */}
91
90
  <ShowHideInputWrapper show={showEmailField}>
92
- {emailChoice[0] === 'no' && <NoMessage askingFor="an email" /> }
91
+ {emailChoice[0] === 'no' && <NoMessage askingFor="an email" optInType="email" /> }
93
92
  <TextInput
94
93
  placeholder=""
95
94
  fieldName="mp_email"
@@ -122,7 +121,7 @@ const MarketingPreferencesDS = ({
122
121
  </Head>
123
122
  <MaybeDisabled disabled={disableSMSInput}>
124
123
  <ShowHideInputWrapper show={showSMSField}>
125
- {smsChoice[0] === 'no' && <NoMessage askingFor="a mobile number" />}
124
+ {smsChoice[0] === 'no' && <NoMessage askingFor="a mobile number" optInType="SMS" />}
126
125
  <TextInput
127
126
  placeholder=""
128
127
  fieldName="mp_mobile"
@@ -153,7 +152,7 @@ const MarketingPreferencesDS = ({
153
152
  </Head>
154
153
  <MaybeDisabled disabled={disablePhoneInput}>
155
154
  <ShowHideInputWrapper show={showPhoneField}>
156
- {phoneChoice[0] === 'no' ? <NoMessage askingFor="a phone number" /> : ''}
155
+ {phoneChoice[0] === 'no' ? <NoMessage askingFor="a phone number" optInType="phone" /> : ''}
157
156
  <TextInput
158
157
  placeholder=""
159
158
  fieldName="mp_phone"
@@ -184,7 +183,7 @@ const MarketingPreferencesDS = ({
184
183
  </Head>
185
184
  <MaybeDisabled disabled={disablePostInput}>
186
185
  <ShowHideInputWrapper show={showPostFields}>
187
- {postChoice[0] === 'no' ? <NoMessage askingFor="an address" /> : ''}
186
+ {postChoice[0] === 'no' ? <NoMessage askingFor="an address" optInType="postal" /> : ''}
188
187
  <TextInput
189
188
  placeholder=""
190
189
  fieldName="mp_address1"
@@ -1,17 +1,27 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import styled, { css } from 'styled-components';
3
4
  import Text from '../../Atoms/Text/Text';
4
5
 
5
- const NoMessage = ({ askingFor }) => {
6
- const message = `Please provide ${askingFor} so we can remove it from our database, otherwise untick this option.`;
6
+ const NoMessageWrapper = styled.div`${({ theme }) => css`
7
+ background-color: ${theme.color('red')};
8
+ padding: 15px;
9
+ margin-bottom: 15px;
10
+ `}`;
11
+
12
+ const NoMessage = ({ askingFor, optInType }) => {
13
+ const message = `This will remove the supplied ${askingFor} from any *previous* ${optInType} opt-in from our database; otherwise, you can leave this unchecked.`;
7
14
 
8
15
  return (
9
- <Text tag="p" size="s" color="grey_dark">{message}</Text>
16
+ <NoMessageWrapper>
17
+ <Text tag="p" size="s" color="white">{message}</Text>
18
+ </NoMessageWrapper>
10
19
  );
11
20
  };
12
21
 
13
22
  NoMessage.propTypes = {
14
- askingFor: PropTypes.string.isRequired
23
+ askingFor: PropTypes.string.isRequired,
24
+ optInType: PropTypes.string.isRequired
15
25
  };
16
26
 
17
27
  export default NoMessage;
@@ -7,11 +7,11 @@ const colors = {
7
7
  coral: '#F9686D',
8
8
  coral_dark: '#961D35',
9
9
  coral_light: '#FFCECE',
10
- cwg22_blue: '#204794',
11
- cwg22_orange: '#FB6326',
12
- cwg22_purple: '#7B3ED3',
13
- cwg22_red: '#E62731',
14
- cwg22_yellow: '#F8E928',
10
+ cwg_22_blue: '#204794',
11
+ cwg_22_orange: '#FB6326',
12
+ cwg_22_purple: '#7B3ED3',
13
+ cwg_22_red: '#E62731',
14
+ cwg_22_yellow: '#F8E928',
15
15
  deep_violet_dark: '#2C0230',
16
16
  deep_violet: '#2C0230' /** Will be removed */,
17
17
  deep_violet_light: '#3e1c43',