@occmundial/occ-atomic 2.0.0 → 3.0.0-beta.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/build/Autocomplete/Autocomplete.js +2 -5
  3. package/build/Autocomplete/Autocomplete.test.js +17 -9
  4. package/build/Autocomplete/styles.js +5 -5
  5. package/build/Banner/Banner.js +24 -38
  6. package/build/Button/Button.js +28 -7
  7. package/build/Button/__snapshots__/Button.test.js.snap +0 -2
  8. package/build/Button/styles.js +0 -2
  9. package/build/Checkbox/Checkbox.js +1 -0
  10. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +59 -24
  11. package/build/Checkbox/styles.js +68 -23
  12. package/build/Droplist/Droplist.js +37 -49
  13. package/build/Droplist/Droplist.test.js +2 -2
  14. package/build/Droplist/__snapshots__/Droplist.test.js.snap +57 -25
  15. package/build/Droplist/styles.js +62 -32
  16. package/build/Fab/__snapshots__/Fab.test.js.snap +1 -0
  17. package/build/Pill/Choice/Choice.js +71 -81
  18. package/build/Pill/Choice/styles.js +61 -20
  19. package/build/Pill/Group/Group.js +5 -2
  20. package/build/Pill/Group/styles.js +31 -31
  21. package/build/Pill/Pill.js +4 -3
  22. package/build/Pill/Stack/Stack.js +7 -12
  23. package/build/Pill/Stack/styles.js +46 -33
  24. package/build/Pill/__snapshots__/Pill.test.js.snap +14 -24
  25. package/build/Pill/styles.js +22 -27
  26. package/build/Radio/Radio.js +24 -3
  27. package/build/Radio/__snapshots__/Radio.test.js.snap +16 -7
  28. package/build/Radio/styles.js +23 -12
  29. package/build/SlideToggle/SlideToggle.js +1 -0
  30. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +30 -10
  31. package/build/SlideToggle/styles.js +38 -14
  32. package/build/Text/Text.js +4 -2
  33. package/build/Text/styles.js +2 -1
  34. package/build/TextField/TextField.js +77 -104
  35. package/build/TextField/TextField.test.js +7 -15
  36. package/build/TextField/__snapshots__/TextField.test.js.snap +59 -145
  37. package/build/TextField/styles.js +81 -149
  38. package/build/Tip/Tip.js +42 -88
  39. package/build/Tip/Tip.test.js +0 -6
  40. package/build/Tip/TipText/index.js +41 -0
  41. package/build/Tip/__snapshots__/Tip.test.js.snap +79 -12
  42. package/build/Tip/styles.js +79 -26
  43. package/build/tokens/colors.json +41 -14
  44. package/package.json +1 -1
@@ -3,27 +3,45 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports["default"] = exports.objectToFontValue = void 0;
7
7
 
8
- var _hexRgba = _interopRequireDefault(require("hex-rgba"));
8
+ var _fonts = _interopRequireDefault(require("../subatomic/fonts"));
9
9
 
10
- var _colors = _interopRequireDefault(require("../subatomic/colors"));
10
+ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
11
11
 
12
- var _fonts = _interopRequireDefault(require("../subatomic/fonts"));
12
+ var _fonts2 = _interopRequireDefault(require("../tokens/fonts.json"));
13
+
14
+ var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
13
15
 
14
- var _spacing = _interopRequireDefault(require("../subatomic/spacing"));
16
+ var _borderRadius = _interopRequireDefault(require("../tokens/borderRadius.json"));
17
+
18
+ var _shadows = _interopRequireDefault(require("../tokens/shadows.json"));
15
19
 
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
21
 
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ var placeholder = _fonts2["default"]['text-field-placeholder'];
23
+ var label = _fonts2["default"]['text-field-label'];
24
+ var assistiveText = _fonts2["default"]['text-field-assistive-text'];
25
+ var TRANSITION = 'all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s';
26
+ var border = {
27
+ DEFAULT: "inset 0 0 0 1px ".concat(_colors["default"]['text-field'].border["default"]),
28
+ HOVER: "inset 0 0 0 1px ".concat(_colors["default"]['text-field'].border.hover),
29
+ FOCUS: "inset 0 0 0 2px ".concat(_colors["default"]['text-field'].border.focus),
30
+ ERROR: "inset 0 0 0 1px ".concat(_colors["default"]['text-field'].border.error)
31
+ };
19
32
 
33
+ var objectToFontValue = function objectToFontValue(font) {
34
+ return "".concat(font.fontWeight, " ").concat(font.fontSize, "/").concat(font.lineHeight, " ").concat(_fonts["default"].body);
35
+ };
36
+
37
+ exports.objectToFontValue = objectToFontValue;
20
38
  var _default = {
21
39
  container: {
22
- position: 'relative',
23
- marginBottom: _spacing["default"].tiny
40
+ position: 'relative'
24
41
  },
25
42
  top: {
26
- height: _spacing["default"].base,
43
+ display: 'flex',
44
+ marginBottom: _spacing["default"]['size-2'],
27
45
  '&:after': {
28
46
  content: '""',
29
47
  clear: 'both'
@@ -32,75 +50,27 @@ var _default = {
32
50
  "default": {},
33
51
  disabled: {
34
52
  '& $input': {
35
- borderColor: _colors["default"].inkLightest,
36
- color: _colors["default"].inkLightest,
37
- paddingTop: 9
38
- },
39
- '& $label': {
40
- color: _colors["default"].inkLightest
41
- },
42
- '& $passIcon': {
43
- cursor: 'auto'
53
+ background: _colors["default"]['text-field'].bg.disabled,
54
+ color: _colors["default"].text.corp.disabled
44
55
  }
45
56
  },
46
57
  focus: {
47
58
  '& $input': {
48
- borderColor: _colors["default"].prim
49
- },
50
- '& $searchField': {
51
- borderWidth: 2,
52
- paddingLeft: _spacing["default"].tiny - 1
53
- },
54
- '& $searchFieldHasIcon': {
55
- paddingLeft: 41
59
+ boxShadow: "".concat(border.FOCUS, ", ").concat(_shadows["default"]['focus-bright-blue'], " !important")
56
60
  }
57
61
  },
58
62
  error: {
59
63
  '& $input': {
60
- borderColor: _colors["default"].error,
61
- color: _colors["default"].errorText,
62
- background: (0, _hexRgba["default"])(_colors["default"].errorText, 4)
63
- },
64
- '& $searchField': {
65
- borderWidth: 2,
66
- color: _colors["default"].ink,
67
- paddingLeft: _spacing["default"].tiny - 1
68
- },
69
- '& $searchFieldHasIcon': {
70
- paddingLeft: 41
71
- }
72
- },
73
- filled: {
74
- '& $input': {
75
- borderColor: _colors["default"].grey900,
76
- borderWidth: 2,
77
- paddingLeft: _spacing["default"].tiny - 1
78
- },
79
- '& $searchFieldHasIcon': {
80
- paddingLeft: 41
64
+ boxShadow: border.ERROR
81
65
  }
82
66
  },
83
67
  label: {
84
- fontWeight: 300,
85
- fontFamily: _fonts["default"].body,
86
- fontSize: 14,
87
- lineHeight: 1.5,
88
- color: _colors["default"].ink,
89
- transition: '0.3s all',
90
- '& a': {
91
- color: _colors["default"].blue,
92
- textDecoration: 'none',
93
- outline: 'none'
94
- }
95
- },
96
- left: {
97
- "float": 'left'
98
- },
99
- right: {
100
- "float": 'right'
68
+ font: objectToFontValue(label),
69
+ color: _colors["default"].text.corp.primary
101
70
  },
102
71
  counter: {
103
- color: _colors["default"].inkLighter
72
+ font: objectToFontValue(assistiveText),
73
+ color: _colors["default"].text.corp.secondary
104
74
  },
105
75
  inputWrap: {
106
76
  boxSizing: 'border-box',
@@ -111,24 +81,21 @@ var _default = {
111
81
  display: 'flex',
112
82
  alignItems: 'center',
113
83
  width: '100%',
114
- height: 40,
115
- color: _colors["default"].ink,
116
- fontFamily: _fonts["default"].body,
117
- fontWeight: 300,
118
- fontSize: 16,
119
- lineHeight: 1.5,
120
- background: _colors["default"].bgWhite,
121
- border: "1px solid ".concat(_colors["default"].grey200),
122
- borderRadius: 4,
123
- padding: [_spacing["default"].tiny, _spacing["default"].small],
124
- boxShadow: 'none',
84
+ height: 48,
85
+ color: _colors["default"].text.corp.primary,
86
+ font: objectToFontValue(placeholder),
87
+ background: _colors["default"]['text-field'].bg["default"],
88
+ border: 'none',
89
+ borderRadius: _borderRadius["default"]['br-xs'],
90
+ padding: [_spacing["default"]['size-1'], _spacing["default"]['size-4']],
91
+ boxShadow: border.DEFAULT,
125
92
  outline: 'none',
126
- transition: '0.3s all',
93
+ transition: TRANSITION,
127
94
  appearance: 'none',
128
95
  '-webkit-appearance': 'none',
129
- caretColor: _colors["default"].prim,
96
+ caretColor: _colors["default"].border.brand["default"],
130
97
  '&::placeholder': {
131
- color: _colors["default"].inkLighter
98
+ color: _colors["default"].text.corp.secondary
132
99
  },
133
100
  '&::-webkit-outer-spin-button': {
134
101
  '-webkit-appearance': 'none',
@@ -140,6 +107,9 @@ var _default = {
140
107
  },
141
108
  '&[type=number]': {
142
109
  '-moz-appearance': 'textfield'
110
+ },
111
+ '&:hover': {
112
+ boxShadow: border.HOVER
143
113
  }
144
114
  },
145
115
  inputDisabled: {
@@ -147,118 +117,80 @@ var _default = {
147
117
  whiteSpace: 'nowrap'
148
118
  },
149
119
  hasRightIcon: {
150
- marginRight: _spacing["default"].small
120
+ marginRight: _spacing["default"]['size-8']
151
121
  },
152
122
  select: {
153
123
  '&::-ms-expand': {
154
124
  display: 'none'
155
125
  },
156
- paddingRight: 32,
126
+ paddingRight: _spacing["default"]['size-8'],
157
127
  '& optgroup': {
158
- fontSize: 14,
159
- fontWeight: 'normal',
160
- lineHeight: 1.5,
161
- color: _colors["default"].inkLight
128
+ font: objectToFontValue(label),
129
+ color: _colors["default"].text.corp.secondary
162
130
  },
163
131
  '& option': {
164
- fontSize: 16,
165
- lineHeight: 1.5,
166
- color: _colors["default"].ink,
132
+ font: objectToFontValue(placeholder),
133
+ color: _colors["default"].text.corp.primary,
167
134
  '&:disabled': {
168
- color: _colors["default"].inkLighter
135
+ color: _colors["default"].text.corp.disabled
169
136
  }
170
137
  },
171
138
  '&:invalid, & option[value=""]': {
172
- color: _colors["default"].inkLighter
139
+ color: _colors["default"].text.corp.disabled
173
140
  }
174
141
  },
175
142
  textarea: {
176
143
  resize: 'none',
144
+ paddingg: [_spacing["default"]['size-3'], _spacing["default"]['size-4']],
177
145
  height: 120,
178
146
  alignItems: 'flex-start'
179
147
  },
180
148
  hasIcon: {
181
- paddingLeft: 42
149
+ paddingLeft: _spacing["default"]['size-8']
182
150
  },
183
151
  hasPass: {
184
- paddingRight: 42
152
+ paddingRight: _spacing["default"]['size-8']
185
153
  },
186
154
  icon: {
187
155
  position: 'absolute',
188
- left: _spacing["default"].small,
156
+ left: _spacing["default"]['size-4'],
189
157
  top: '50%',
190
158
  transform: 'translateY(-50%)'
191
159
  },
192
- passIcon: {
193
- width: 24,
194
- height: 24,
195
- background: 'none',
196
- border: 0,
197
- padding: 3,
198
- margin: 0,
160
+ rightButton: {
199
161
  position: 'absolute',
200
- right: 12,
201
- top: 8,
202
- zIndex: 1,
203
- outline: 0,
204
- cursor: 'pointer'
162
+ right: _spacing["default"]['size-1'],
163
+ top: '50%',
164
+ transform: 'translateY(-50%)',
165
+ zIndex: 1
205
166
  },
206
167
  selectIcon: {
207
- width: 18,
208
- height: 24,
209
- background: 'none',
210
- border: 0,
211
- padding: '3px 0',
212
- margin: 0,
213
168
  position: 'absolute',
214
- right: 12,
215
- top: 8,
216
- zIndex: 1,
217
- outline: 0,
169
+ right: _spacing["default"]['size-4'],
170
+ top: '50%',
171
+ transform: 'translateY(-50%)',
218
172
  pointerEvents: 'none'
219
173
  },
220
174
  hasClear: {
221
- paddingRight: 42
175
+ paddingRight: _spacing["default"]['size-8']
222
176
  },
223
- clear: _defineProperty({
224
- width: 24,
225
- height: 24,
226
- background: 'none',
227
- border: 0,
228
- padding: 0,
229
- margin: 0,
230
- position: 'absolute',
231
- right: 12,
232
- top: '50%',
233
- transform: 'translateY(-50%)',
234
- zIndex: 1,
235
- outline: 0,
236
- cursor: 'pointer'
237
- }, "padding", 3),
238
177
  alignRight: {
239
178
  textAlign: 'right'
240
179
  },
241
- assistiveText: {
242
- color: _colors["default"].inkLighter,
243
- fontSize: 12,
244
- fontWeight: 300
180
+ assistiveTextWrap: {
181
+ display: 'flex'
245
182
  },
246
- errorAssistiveText: {
247
- color: _colors["default"].errorText
183
+ assistiveText: {
184
+ font: objectToFontValue(assistiveText),
185
+ color: _colors["default"].text.corp.secondary
248
186
  },
249
- errorIcon: {
250
- marginBottom: -2
187
+ assistiveError: {
188
+ color: _colors["default"].text.error
251
189
  },
252
190
  bottom: {
253
- height: 20,
254
- marginTop: 4
255
- },
256
- searchField: {
257
- height: _spacing["default"].large,
258
- borderRadius: _spacing["default"].base,
259
- borderColor: _colors["default"].grey600,
260
- background: [_colors["default"].bgWhite, '!important']
261
- },
262
- searchFieldHasIcon: {}
191
+ display: 'flex',
192
+ justifyContent: 'space-between',
193
+ marginTop: _spacing["default"]['size-2']
194
+ }
263
195
  };
264
196
  exports["default"] = _default;
package/build/Tip/Tip.js CHANGED
@@ -1,39 +1,26 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports["default"] = void 0;
9
7
 
10
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
11
9
 
12
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
11
 
14
- var _isString = _interopRequireDefault(require("lodash/isString"));
15
-
16
- var _flatten = _interopRequireDefault(require("lodash/flatten"));
17
-
18
12
  var _Flexbox = _interopRequireDefault(require("../Flexbox"));
19
13
 
20
- var _Text = _interopRequireDefault(require("../Text"));
21
-
22
14
  var _Icon = _interopRequireDefault(require("../Icon"));
23
15
 
24
- var _colors = _interopRequireDefault(require("../subatomic/colors"));
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ var _Button = _interopRequireDefault(require("../Button"));
27
17
 
28
- 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); }
18
+ var _TipText = _interopRequireDefault(require("./TipText"));
29
19
 
30
- 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; }
20
+ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
31
21
 
32
- function _extends() { _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; }; return _extends.apply(this, arguments); }
33
-
34
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
23
 
36
- var boldRegex = /\*(.*?)\*/g;
37
24
  var icons = {
38
25
  info: 'info-circle',
39
26
  warning: 'alert',
@@ -42,6 +29,13 @@ var icons = {
42
29
  promote: null
43
30
  };
44
31
  var PROMOTE = 'promote';
32
+ var colorTextClasses = {
33
+ info: 'textInfo',
34
+ promote: 'textPromote',
35
+ warning: 'textWarning',
36
+ success: 'textSuccess',
37
+ error: 'textError'
38
+ };
45
39
  /** Tip component with different themes (info, warning, success & error). You can pass a string or a react element as the children prop, but the bold regex will only work with strings. */
46
40
 
47
41
  var Tip = function Tip(_ref) {
@@ -54,62 +48,12 @@ var Tip = function Tip(_ref) {
54
48
  noBorderRadius = _ref.noBorderRadius,
55
49
  center = _ref.center,
56
50
  onClose = _ref.onClose,
57
- spacedClose = _ref.spacedClose,
58
51
  children = _ref.children,
59
- cta = _ref.cta;
60
-
61
- var replaceStringToBold = function replaceStringToBold() {
62
- if (children === '') return children;
63
- var result = children.split(boldRegex);
64
- if (result.length === 1) return children;
65
-
66
- for (var i = 1, length = result.length; i < length; i += 2) {
67
- result[i] = boldMatch(result[i], i, theme);
68
- }
69
-
70
- return result;
71
- };
72
-
73
- var getTheme = function getTheme() {
74
- if (theme === PROMOTE) return {
75
- white: true
76
- };
77
- return _defineProperty({}, theme, true);
78
- };
79
-
80
- var boldMatch = function boldMatch(match, i) {
81
- return /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({
82
- key: i,
83
- strong: true,
84
- tag: "b"
85
- }, getTheme()), match);
86
- };
87
-
88
- var getIconName = function getIconName() {
89
- return icons[theme];
90
- };
91
-
92
- var renderText = function renderText() {
93
- var textArray;
94
- if (!Array.isArray(children)) textArray = [children];
95
- var text = (0, _flatten["default"])(textArray.map(function (x) {
96
- return (0, _isString["default"])(x) ? replaceStringToBold(x, theme) : x;
97
- }));
98
-
99
- if (cta) {
100
- text.push( /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, ' ', /*#__PURE__*/_react["default"].createElement("a", {
101
- className: classes.cta,
102
- href: cta.href,
103
- target: cta.target,
104
- onClick: cta.onClick
105
- }, /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({
106
- tag: "span"
107
- }, getTheme()), cta.text))));
108
- }
109
-
110
- return text;
111
- };
112
-
52
+ cta = _ref.cta,
53
+ _ref$size = _ref.size,
54
+ size = _ref$size === void 0 ? 'large' : _ref$size,
55
+ _ref$type = _ref.type,
56
+ type = _ref$type === void 0 ? 'alert' : _ref$type;
113
57
  return /*#__PURE__*/_react["default"].createElement("div", {
114
58
  id: id,
115
59
  className: className,
@@ -117,26 +61,34 @@ var Tip = function Tip(_ref) {
117
61
  }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
118
62
  justifyContent: "start",
119
63
  display: "flex",
120
- className: "".concat(classes.container, " ").concat(classes[theme]).concat(noBorderRadius ? " ".concat(classes.noBorderRadius) : '')
64
+ className: "".concat(classes.container, " ").concat(classes[theme]).concat(noBorderRadius ? " ".concat(classes.noBorderRadius) : '').concat(size === 'small' ? " ".concat(classes.small) : '')
121
65
  }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
122
66
  display: "flex",
123
67
  flex: "1",
124
68
  justifyContent: center ? 'center' : null,
125
- alignItems: "center"
126
- }, icon && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
127
- iconName: getIconName(),
69
+ alignItems: "stretch",
70
+ className: type === 'banner' ? classes.bannerContent : ''
71
+ }, icon && theme !== PROMOTE && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
72
+ iconName: icons[theme],
128
73
  className: classes.icon,
129
- colors: [_colors["default"]["".concat(theme, "Text")]]
130
- }), /*#__PURE__*/_react["default"].createElement("div", {
131
- className: icon ? classes.textWithIcon : classes.text
132
- }, /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({
133
- standard: true,
134
- tag: "div"
135
- }, getTheme()), renderText()))), onClose && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
136
- iconName: "cross",
74
+ colors: [theme === 'info' ? _colors["default"].icon.brand["default"] : _colors["default"].icon[theme]]
75
+ }), /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
76
+ display: "flex",
77
+ direction: size === 'small' ? 'col' : 'row'
78
+ }, /*#__PURE__*/_react["default"].createElement(_TipText["default"], {
79
+ classes: "".concat(classes.normalText, " ").concat(classes[colorTextClasses[theme]]),
80
+ text: children
81
+ }), cta && /*#__PURE__*/_react["default"].createElement("a", {
82
+ className: "".concat(classes.cta, " ").concat(size === 'small' ? classes.ctaSmall : classes.ctaLarge, " ").concat(classes[colorTextClasses[theme]]),
83
+ href: cta.href,
84
+ target: cta.target,
85
+ onClick: cta.onClick
86
+ }, cta.text))), onClose && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
137
87
  onClick: onClose,
138
- colors: [theme === PROMOTE ? _colors["default"].bgWhite : _colors["default"]["".concat(theme, "Text")]],
139
- className: spacedClose ? classes.spacedClose : null
88
+ className: classes.closeIcon,
89
+ size: type === 'banner' ? 'lg' : 'md',
90
+ icon: "x",
91
+ theme: theme === PROMOTE ? 'ghostWhite' : 'ghostGrey'
140
92
  })));
141
93
  };
142
94
 
@@ -151,6 +103,7 @@ Tip.propTypes = {
151
103
 
152
104
  /** Text of the tip. If you put text between two * characters that text will be displayed as bold. */
153
105
  children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]).isRequired,
106
+ size: _propTypes["default"].oneOf(['large', 'small']),
154
107
 
155
108
  /** Call to action. Appended after the children's text. */
156
109
  cta: _propTypes["default"].shape({
@@ -176,7 +129,8 @@ Tip.propTypes = {
176
129
  spacedClose: _propTypes["default"].bool,
177
130
  id: _propTypes["default"].string,
178
131
  className: _propTypes["default"].string,
179
- style: _propTypes["default"].object
132
+ style: _propTypes["default"].object,
133
+ type: _propTypes["default"].oneOf(['alert', 'banner'])
180
134
  };
181
135
  var _default = Tip;
182
136
  exports["default"] = _default;
@@ -46,12 +46,6 @@ describe("Tip", function () {
46
46
  }));
47
47
  expect(wrapper.find('.icon').length).toBe(1);
48
48
  });
49
- it('has bold text', function () {
50
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Tip["default"], {
51
- classes: classes
52
- }, "Text with *bold* text"));
53
- expect(wrapper.find('b').length).toBe(1);
54
- });
55
49
  });
56
50
  describe("TipJSS", function () {
57
51
  it('matches the snapshot', function () {
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
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 boldRegex = /\*(.*?)\*/g;
21
+
22
+ var TipText = function TipText(_ref) {
23
+ var classes = _ref.classes,
24
+ text = _ref.text;
25
+ var result = (0, _react.useMemo)(function () {
26
+ return text.replace(boldRegex, function (_, txt) {
27
+ return txt;
28
+ });
29
+ }, [text]);
30
+ if (text === '' || typeof text !== 'string') return text;
31
+ return /*#__PURE__*/_react["default"].createElement("p", {
32
+ className: classes
33
+ }, result);
34
+ };
35
+
36
+ TipText.propTypes = {
37
+ classes: _propTypes["default"].string.isRequired,
38
+ text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]).isRequired
39
+ };
40
+ var _default = TipText;
41
+ exports["default"] = _default;