@occmundial/occ-atomic 3.0.0-beta.2 → 3.0.0-beta.20
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +168 -0
- package/build/Banner/Banner.js +30 -40
- package/build/Banner/Banner.test.js +64 -17
- package/build/Banner/__snapshots__/Banner.test.js.snap +0 -28
- package/build/Banner/index.js +1 -6
- package/build/Button/__snapshots__/Button.test.js.snap +18 -20
- package/build/Button/styles.js +6 -8
- package/build/Checkbox/Checkbox.js +48 -3
- package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +81 -49
- package/build/Checkbox/styles.js +91 -48
- package/build/Pill/Choice/Choice.js +73 -81
- package/build/Pill/Choice/styles.js +64 -20
- package/build/Pill/Group/Group.js +5 -2
- package/build/Pill/Group/styles.js +31 -31
- package/build/Pill/Pill.js +4 -3
- package/build/Pill/Stack/Stack.js +7 -12
- package/build/Pill/Stack/styles.js +43 -33
- package/build/Pill/__snapshots__/Pill.test.js.snap +14 -24
- package/build/Pill/styles.js +22 -27
- package/build/Radio/Radio.js +42 -6
- package/build/Radio/__snapshots__/Radio.test.js.snap +81 -80
- package/build/Radio/styles.js +93 -85
- package/build/SlideToggle/SlideToggle.js +38 -6
- package/build/SlideToggle/SlideToggle.test.js +2 -2
- package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -37
- package/build/SlideToggle/styles.js +65 -45
- package/build/Text/Text.js +4 -2
- package/build/TextField/TextField.js +7 -6
- package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
- package/build/TextField/styles.js +3 -0
- package/build/Tip/Tip.js +51 -95
- package/build/Tip/Tip.test.js +29 -6
- package/build/Tip/TipText/index.js +32 -0
- package/build/Tip/__snapshots__/Tip.test.js.snap +90 -15
- package/build/Tip/styles.js +85 -31
- package/build/tokens/colors.json +3 -3
- package/package.json +4 -1
- package/build/Banner/styles.js +0 -41
@@ -5,75 +5,91 @@ exports[`SlideToggle matches the snapshot 1`] = `ShallowWrapper {}`;
|
|
5
5
|
exports[`SlideToggle styles matches the snapshot 1`] = `
|
6
6
|
Object {
|
7
7
|
"checked": Object {
|
8
|
-
"& $icon": Object {
|
9
|
-
"background": "url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJCQkgdmlld0JveD0iMCAwIDI0IDI0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNCAyNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgoJCTxwYXRoIGZpbGw9IiMwMDZFRkYiIGQ9Ik0xOC4zLDcuM2wxLjQsMS40bC04LjcsOWMtMC40LDAuNC0xLDAuNC0xLjQsMC4xbC00LjMtMy42bDEuMy0xLjVsMy42LDNDMTAuMiwxNS42LDE4LjMsNy4zLDE4LjMsNy4zeiIvPgoJCTwvc3ZnPg==)",
|
10
|
-
},
|
11
8
|
"& $slider": Object {
|
12
|
-
"left":
|
9
|
+
"left": "calc(100% - 28px)",
|
10
|
+
},
|
11
|
+
"& $switchBg": Object {
|
12
|
+
"background": "#0059CD",
|
13
13
|
},
|
14
|
-
"background": "#0059CD",
|
15
14
|
},
|
16
15
|
"cont": Object {
|
17
|
-
"&:
|
18
|
-
"
|
19
|
-
"boxShadow": "0 0 0 8px rgba(0,110,255,0.3)",
|
16
|
+
"&:active $switch $switchBg": Object {
|
17
|
+
"boxShadow": "inset 0 0 0 2px rgba(255,255,255,0.2)",
|
20
18
|
},
|
21
|
-
"&:focus $switch
|
22
|
-
"background": "#E9EEF8",
|
19
|
+
"&:focus-visible $switch": Object {
|
23
20
|
"boxShadow": "0 0 0 8px hsl(221 91.2% 35.7% / 0.3)",
|
24
21
|
},
|
25
|
-
"&:
|
26
|
-
"
|
22
|
+
"&:focus-visible $switch$checked": Object {
|
23
|
+
"boxShadow": "0 0 0 8px rgba(0,110,255,0.3)",
|
27
24
|
},
|
28
|
-
"&:hover $switch
|
25
|
+
"&:hover $switch $switchBg, &:active $switch $switchBg": Object {
|
29
26
|
"background": "#CAD5EE",
|
30
27
|
},
|
31
|
-
"
|
28
|
+
"&:hover $switch$checked $switchBg, &:active $switch$checked $switchBg": Object {
|
29
|
+
"background": "#083CAE",
|
30
|
+
},
|
31
|
+
"alignItems": "flex-start",
|
32
32
|
"boxSizing": "border-box",
|
33
33
|
"cursor": "pointer",
|
34
34
|
"display": "flex",
|
35
35
|
"outline": 0,
|
36
|
-
"paddingBottom": "8px",
|
37
|
-
"paddingTop": "8px",
|
38
36
|
},
|
39
37
|
"disabled": Object {
|
40
|
-
"& $
|
41
|
-
"background": "url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgogICAgICAgIAkgdmlld0JveD0iMCAwIDI0IDI0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNCAyNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgIDxwYXRoIGZpbGw9IiNEM0Q0REMiIGQ9Ik0xMi4xLDEwLjhsNC42LTQuNkwxOCw3LjRMMTMuNCwxMmw0LjYsNC42TDE2LjcsMThsLTQuNi00LjZMNy40LDE4bC0xLjMtMS4zbDQuNi00LjZMNi4yLDcuNGwxLjMtMS4zTDEyLjEsMTAuOHoiLz4KICAgICAgICA8L3N2Zz4=)",
|
42
|
-
},
|
43
|
-
"& $switch": Object {
|
38
|
+
"& $switch $switchBg": Object {
|
44
39
|
"background": "#EDEDF1",
|
40
|
+
"boxShadow": "inset 0 0 0 1px #D3D4DC",
|
45
41
|
},
|
46
42
|
"pointerEvents": "none",
|
47
43
|
},
|
48
44
|
"icon": Object {
|
49
|
-
"
|
50
|
-
"display": "block",
|
51
|
-
"height": "100%",
|
52
|
-
"transition": "0.3s all",
|
53
|
-
"width": "100%",
|
45
|
+
"margin": 4,
|
54
46
|
},
|
55
47
|
"label": Object {
|
56
|
-
"
|
48
|
+
"cursor": "pointer",
|
49
|
+
"marginLeft": "12px",
|
50
|
+
},
|
51
|
+
"labelWrap": Object {
|
52
|
+
"alignItems": "center",
|
53
|
+
"display": "flex",
|
54
|
+
"minHeight": 48,
|
55
|
+
"overflow": "hidden",
|
56
|
+
"paddingBottom": "4px",
|
57
|
+
"paddingTop": "4px",
|
57
58
|
},
|
58
59
|
"slider": Object {
|
59
60
|
"background": "#fff",
|
60
61
|
"borderRadius": "50%",
|
61
|
-
"
|
62
|
-
"
|
63
|
-
"left": 2,
|
62
|
+
"height": 24,
|
63
|
+
"left": 4,
|
64
64
|
"position": "absolute",
|
65
|
-
"top":
|
66
|
-
"
|
67
|
-
"
|
65
|
+
"top": "50%",
|
66
|
+
"transform": "translateY(-50%)",
|
67
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
68
|
+
"width": 24,
|
68
69
|
},
|
69
70
|
"switch": Object {
|
70
|
-
"
|
71
|
-
"borderRadius": 34,
|
71
|
+
"borderRadius": "9999px",
|
72
72
|
"display": "inline-block",
|
73
|
-
"
|
73
|
+
"flexShrink": 0,
|
74
|
+
"height": 32,
|
74
75
|
"position": "relative",
|
75
|
-
"transition": "0.
|
76
|
-
"width":
|
76
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
77
|
+
"width": 52,
|
78
|
+
},
|
79
|
+
"switchBg": Object {
|
80
|
+
"background": "#E9EEF8",
|
81
|
+
"borderRadius": "9999px",
|
82
|
+
"boxShadow": "inset 0 0 0 1px rgba(255,255,255,0.2)",
|
83
|
+
"height": 32,
|
84
|
+
"transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
85
|
+
"width": 52,
|
86
|
+
},
|
87
|
+
"switchWrap": Object {
|
88
|
+
"alignItems": "center",
|
89
|
+
"display": "flex",
|
90
|
+
"flexShrink": 0,
|
91
|
+
"height": 48,
|
92
|
+
"width": 52,
|
77
93
|
},
|
78
94
|
}
|
79
95
|
`;
|
@@ -5,89 +5,109 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports["default"] = void 0;
|
7
7
|
|
8
|
-
var _icons = _interopRequireDefault(require("../subatomic/icons"));
|
9
|
-
|
10
8
|
var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
|
11
9
|
|
12
10
|
var _colors = _interopRequireDefault(require("../tokens/colors.json"));
|
13
11
|
|
14
12
|
var _shadows = _interopRequireDefault(require("../tokens/shadows.json"));
|
15
13
|
|
14
|
+
var _borderRadius = _interopRequireDefault(require("../tokens/borderRadius.json"));
|
15
|
+
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
17
17
|
|
18
|
-
var toggle = _colors["default"]["switch"]
|
19
|
-
|
18
|
+
var toggle = _colors["default"]["switch"];
|
19
|
+
var transition = 'all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s';
|
20
|
+
var contentHeight = 48;
|
21
|
+
var toggleWidth = 52;
|
22
|
+
var toggleHeight = 32;
|
23
|
+
var sliderSize = 24;
|
20
24
|
var _default = {
|
21
25
|
cont: {
|
22
|
-
paddingTop: _spacing["default"]['size-2'],
|
23
|
-
paddingBottom: _spacing["default"]['size-2'],
|
24
26
|
boxSizing: 'border-box',
|
25
27
|
display: 'flex',
|
26
|
-
alignItems: 'start',
|
28
|
+
alignItems: 'flex-start',
|
27
29
|
cursor: 'pointer',
|
28
30
|
outline: 0,
|
29
|
-
'&:hover $switch$
|
30
|
-
background: toggle
|
31
|
+
'&:hover $switch $switchBg, &:active $switch $switchBg': {
|
32
|
+
background: toggle.unselected.bg.hover
|
31
33
|
},
|
32
|
-
'&:focus $switch
|
33
|
-
boxShadow: _shadows["default"]['focus-
|
34
|
-
background: toggle['selected']['bg']['default']
|
34
|
+
'&:focus-visible $switch': {
|
35
|
+
boxShadow: _shadows["default"]['focus-indigo']
|
35
36
|
},
|
36
|
-
'&:hover $switch
|
37
|
-
background: toggle
|
37
|
+
'&:hover $switch$checked $switchBg, &:active $switch$checked $switchBg': {
|
38
|
+
background: toggle.selected.bg.hover
|
38
39
|
},
|
39
|
-
'&:
|
40
|
-
|
41
|
-
|
40
|
+
'&:active $switch $switchBg': {
|
41
|
+
boxShadow: "inset 0 0 0 2px ".concat(_colors["default"]["switch"].border["default"])
|
42
|
+
},
|
43
|
+
'&:focus-visible $switch$checked': {
|
44
|
+
boxShadow: _shadows["default"]['focus-bright-blue']
|
42
45
|
}
|
43
46
|
},
|
47
|
+
switchWrap: {
|
48
|
+
width: toggleWidth,
|
49
|
+
height: contentHeight,
|
50
|
+
display: 'flex',
|
51
|
+
alignItems: 'center',
|
52
|
+
flexShrink: 0
|
53
|
+
},
|
44
54
|
"switch": {
|
45
55
|
position: 'relative',
|
46
56
|
display: 'inline-block',
|
47
|
-
width:
|
48
|
-
height:
|
49
|
-
|
50
|
-
borderRadius:
|
51
|
-
transition:
|
57
|
+
width: toggleWidth,
|
58
|
+
height: toggleHeight,
|
59
|
+
flexShrink: 0,
|
60
|
+
borderRadius: _borderRadius["default"]['br-full'],
|
61
|
+
transition: transition
|
62
|
+
},
|
63
|
+
switchBg: {
|
64
|
+
width: toggleWidth,
|
65
|
+
height: toggleHeight,
|
66
|
+
background: toggle.unselected.bg["default"],
|
67
|
+
boxShadow: "inset 0 0 0 1px ".concat(_colors["default"]["switch"].border["default"]),
|
68
|
+
borderRadius: _borderRadius["default"]['br-full'],
|
69
|
+
transition: transition
|
52
70
|
},
|
53
71
|
checked: {
|
54
|
-
|
55
|
-
|
56
|
-
left: 16
|
72
|
+
'& $switchBg': {
|
73
|
+
background: toggle.selected.bg["default"]
|
57
74
|
},
|
58
|
-
'& $
|
59
|
-
|
75
|
+
'& $slider': {
|
76
|
+
left: "calc(100% - 28px)"
|
60
77
|
}
|
61
78
|
},
|
62
79
|
slider: {
|
63
80
|
position: 'absolute',
|
64
|
-
|
65
|
-
|
66
|
-
left:
|
67
|
-
width:
|
68
|
-
height:
|
81
|
+
top: '50%',
|
82
|
+
transform: 'translateY(-50%)',
|
83
|
+
left: 4,
|
84
|
+
width: sliderSize,
|
85
|
+
height: sliderSize,
|
69
86
|
borderRadius: '50%',
|
70
|
-
background: toggle
|
71
|
-
transition:
|
87
|
+
background: toggle.bg["default"],
|
88
|
+
transition: transition
|
72
89
|
},
|
73
90
|
icon: {
|
74
|
-
|
75
|
-
height: '100%',
|
76
|
-
display: 'block',
|
77
|
-
background: _icons["default"].base(_icons["default"].cross.icon([icon.brand.disabled])),
|
78
|
-
transition: '0.3s all'
|
91
|
+
margin: 4
|
79
92
|
},
|
80
93
|
disabled: {
|
81
|
-
'& $switch': {
|
82
|
-
|
83
|
-
|
84
|
-
'& $icon': {
|
85
|
-
background: _icons["default"].base(_icons["default"].cross.icon([icon["default"].disabled]))
|
94
|
+
'& $switch $switchBg': {
|
95
|
+
boxShadow: "inset 0 0 0 1px ".concat(_colors["default"]["switch"].border.disabled),
|
96
|
+
background: toggle.bg.disabled
|
86
97
|
},
|
87
98
|
pointerEvents: 'none'
|
88
99
|
},
|
100
|
+
labelWrap: {
|
101
|
+
minHeight: contentHeight,
|
102
|
+
display: 'flex',
|
103
|
+
alignItems: 'center',
|
104
|
+
paddingTop: _spacing["default"]['size-1'],
|
105
|
+
paddingBottom: _spacing["default"]['size-1'],
|
106
|
+
overflow: 'hidden'
|
107
|
+
},
|
89
108
|
label: {
|
90
|
-
marginLeft: _spacing["default"]['size-
|
109
|
+
marginLeft: _spacing["default"]['size-3'],
|
110
|
+
cursor: 'pointer'
|
91
111
|
}
|
92
112
|
};
|
93
113
|
exports["default"] = _default;
|
package/build/Text/Text.js
CHANGED
@@ -194,8 +194,10 @@ var Text = /*#__PURE__*/function (_Component) {
|
|
194
194
|
var _this$props2 = this.props,
|
195
195
|
classes = _this$props2.classes,
|
196
196
|
mid = _this$props2.mid,
|
197
|
-
low = _this$props2.low
|
198
|
-
|
197
|
+
low = _this$props2.low,
|
198
|
+
corpDisabled = _this$props2.corpDisabled,
|
199
|
+
corpSecondary = _this$props2.corpSecondary;
|
200
|
+
if (low || corpDisabled) return classes.corpDisabled;else if (mid | corpSecondary) return classes.corpSecondary;else return classes.corpPrimary;
|
199
201
|
}
|
200
202
|
}, {
|
201
203
|
key: "getColor",
|
@@ -338,7 +338,9 @@ var TextField = /*#__PURE__*/function (_React$Component) {
|
|
338
338
|
className: classes.rightButton
|
339
339
|
});
|
340
340
|
} else if (type == 'select') {
|
341
|
-
element = /*#__PURE__*/_react["default"].createElement(InputType,
|
341
|
+
element = /*#__PURE__*/_react["default"].createElement(InputType, _extends({}, commonProps, {
|
342
|
+
className: "".concat(commonProps.className, " ").concat(classes.pointer)
|
343
|
+
}), /*#__PURE__*/_react["default"].createElement("option", {
|
342
344
|
value: "",
|
343
345
|
disabled: true,
|
344
346
|
hidden: true
|
@@ -410,14 +412,13 @@ var TextField = /*#__PURE__*/function (_React$Component) {
|
|
410
412
|
height: 24,
|
411
413
|
className: classes.icon,
|
412
414
|
colors: [this.setIconColor()]
|
413
|
-
}), type == 'select' && /*#__PURE__*/_react["default"].createElement("
|
414
|
-
className: classes.selectIcon
|
415
|
-
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
415
|
+
}), type == 'select' && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
416
416
|
iconName: "chevron-down",
|
417
417
|
width: 24,
|
418
418
|
height: 24,
|
419
|
-
colors: disabled ? [_colors["default"].icon["default"].disabled] : [_colors["default"].icon["default"]["default"]]
|
420
|
-
|
419
|
+
colors: disabled ? [_colors["default"].icon["default"].disabled] : [_colors["default"].icon["default"]["default"]],
|
420
|
+
className: classes.selectIcon
|
421
|
+
}), element, type == 'password' && passIcon, value && clear && /*#__PURE__*/_react["default"].createElement(_Button["default"], _extends({
|
421
422
|
icon: "x",
|
422
423
|
theme: "ghostGrey",
|
423
424
|
size: "md",
|
package/build/Tip/Tip.js
CHANGED
@@ -1,39 +1,28 @@
|
|
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 =
|
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
|
16
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
25
17
|
|
26
|
-
|
18
|
+
var _TipText = _interopRequireDefault(require("./TipText"));
|
27
19
|
|
28
|
-
|
20
|
+
var _colors = _interopRequireDefault(require("../tokens/colors.json"));
|
29
21
|
|
30
|
-
function
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
31
23
|
|
32
24
|
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
25
|
|
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; }
|
35
|
-
|
36
|
-
var boldRegex = /\*(.*?)\*/g;
|
37
26
|
var icons = {
|
38
27
|
info: 'info-circle',
|
39
28
|
warning: 'alert',
|
@@ -42,6 +31,13 @@ var icons = {
|
|
42
31
|
promote: null
|
43
32
|
};
|
44
33
|
var PROMOTE = 'promote';
|
34
|
+
var colorTextClasses = {
|
35
|
+
info: 'textInfo',
|
36
|
+
promote: 'textPromote',
|
37
|
+
warning: 'textWarning',
|
38
|
+
success: 'textSuccess',
|
39
|
+
error: 'textError'
|
40
|
+
};
|
45
41
|
/** 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
42
|
|
47
43
|
var Tip = function Tip(_ref) {
|
@@ -51,65 +47,13 @@ var Tip = function Tip(_ref) {
|
|
51
47
|
classes = _ref.classes,
|
52
48
|
icon = _ref.icon,
|
53
49
|
theme = _ref.theme,
|
54
|
-
|
55
|
-
center = _ref.center,
|
50
|
+
banner = _ref.banner,
|
56
51
|
onClose = _ref.onClose,
|
57
|
-
spacedClose = _ref.spacedClose,
|
58
52
|
children = _ref.children,
|
59
|
-
cta = _ref.cta
|
60
|
-
|
61
|
-
|
62
|
-
|
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
|
-
|
53
|
+
cta = _ref.cta,
|
54
|
+
_ref$size = _ref.size,
|
55
|
+
size = _ref$size === void 0 ? 'large' : _ref$size,
|
56
|
+
testId = _ref.testId;
|
113
57
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
114
58
|
id: id,
|
115
59
|
className: className,
|
@@ -117,27 +61,38 @@ 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(
|
64
|
+
className: "".concat(classes.container, " ").concat(classes[theme]).concat(banner ? " ".concat(classes.noBorderRadius) : '')
|
121
65
|
}, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
122
66
|
display: "flex",
|
123
67
|
flex: "1",
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
iconName: getIconName(),
|
68
|
+
alignItems: "stretch"
|
69
|
+
}, icon && theme !== PROMOTE && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
70
|
+
iconName: icons[theme],
|
128
71
|
className: classes.icon,
|
129
|
-
colors: [_colors["default"][""
|
130
|
-
}), /*#__PURE__*/_react["default"].createElement("
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
},
|
136
|
-
|
72
|
+
colors: [theme === 'info' ? _colors["default"].icon.brand["default"] : _colors["default"].icon[theme]]
|
73
|
+
}), /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
74
|
+
display: "flex",
|
75
|
+
direction: size === 'small' ? 'col' : 'row',
|
76
|
+
justifyContent: banner ? 'center' : 'start',
|
77
|
+
className: "".concat(classes.textContainer).concat(banner ? " ".concat(classes.maxWidth) : '')
|
78
|
+
}, /*#__PURE__*/_react["default"].createElement(_TipText["default"], {
|
79
|
+
classes: "".concat(classes.normalText, " ").concat(classes[colorTextClasses[theme]]).concat(!banner ? " ".concat(classes.growText) : ''),
|
80
|
+
text: children
|
81
|
+
}), cta && /*#__PURE__*/_react["default"].createElement("a", _extends({
|
82
|
+
className: "".concat(classes.cta, " ").concat(classes[colorTextClasses[theme]]).concat(size === 'large' && banner ? " ".concat(classes.ctaBanner) : size === 'large' ? " ".concat(classes.ctaAlert) : ''),
|
83
|
+
href: cta.href,
|
84
|
+
target: cta.target,
|
85
|
+
onClick: cta.onClick
|
86
|
+
}, testId && {
|
87
|
+
'data-testid': "".concat(testId, "__link")
|
88
|
+
}), cta.text))), onClose && /*#__PURE__*/_react["default"].createElement(_Button["default"], _extends({
|
137
89
|
onClick: onClose,
|
138
|
-
|
139
|
-
|
140
|
-
|
90
|
+
className: size === 'small' ? classes.closeIconSmallMargin : classes.closeIconMargin,
|
91
|
+
icon: "x",
|
92
|
+
theme: theme === PROMOTE ? 'ghostWhite' : 'ghostGrey'
|
93
|
+
}, testId && {
|
94
|
+
testId: "".concat(testId, "__close-icon")
|
95
|
+
}))));
|
141
96
|
};
|
142
97
|
|
143
98
|
Tip.defaultProps = {
|
@@ -151,6 +106,7 @@ Tip.propTypes = {
|
|
151
106
|
|
152
107
|
/** Text of the tip. If you put text between two * characters that text will be displayed as bold. */
|
153
108
|
children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]).isRequired,
|
109
|
+
size: _propTypes["default"].oneOf(['large', 'small']),
|
154
110
|
|
155
111
|
/** Call to action. Appended after the children's text. */
|
156
112
|
cta: _propTypes["default"].shape({
|
@@ -163,11 +119,8 @@ Tip.propTypes = {
|
|
163
119
|
/** Boolean to show an icon. */
|
164
120
|
icon: _propTypes["default"].bool,
|
165
121
|
|
166
|
-
/**
|
167
|
-
|
168
|
-
|
169
|
-
/** Center Tip content. */
|
170
|
-
center: _propTypes["default"].bool,
|
122
|
+
/** Sets content centered and remove border radius. */
|
123
|
+
banner: _propTypes["default"].bool,
|
171
124
|
|
172
125
|
/** Function to call on click of the x icon. */
|
173
126
|
onClose: _propTypes["default"].func,
|
@@ -176,7 +129,10 @@ 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
|
+
|
134
|
+
/** The testId property adds the data attribute data-testid to the main element and should be used for testing only. */
|
135
|
+
testId: _propTypes["default"].string
|
180
136
|
};
|
181
137
|
var _default = Tip;
|
182
138
|
exports["default"] = _default;
|
package/build/Tip/Tip.test.js
CHANGED
@@ -43,19 +43,42 @@ describe("Tip", function () {
|
|
43
43
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Tip["default"], {
|
44
44
|
classes: classes,
|
45
45
|
icon: true
|
46
|
-
}));
|
46
|
+
}, "Alert text"));
|
47
47
|
expect(wrapper.find('.icon').length).toBe(1);
|
48
48
|
});
|
49
|
-
it('has
|
49
|
+
it('has a close icon button', function () {
|
50
50
|
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Tip["default"], {
|
51
|
-
classes: classes
|
52
|
-
|
53
|
-
|
51
|
+
classes: classes,
|
52
|
+
icon: true,
|
53
|
+
onClose: function onClose() {
|
54
|
+
return console.log('Close');
|
55
|
+
},
|
56
|
+
testId: "alert-test"
|
57
|
+
}, "Tip text "));
|
58
|
+
expect(wrapper.find({
|
59
|
+
"data-testid": 'alert-test__close-icon'
|
60
|
+
}).length).toBe(1);
|
61
|
+
});
|
62
|
+
it('has a link', function () {
|
63
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Tip["default"], {
|
64
|
+
classes: classes,
|
65
|
+
icon: true,
|
66
|
+
cta: {
|
67
|
+
text: 'Click here.',
|
68
|
+
onClick: function onClick() {
|
69
|
+
return alert('CTA clicked!');
|
70
|
+
}
|
71
|
+
},
|
72
|
+
testId: "alert-test"
|
73
|
+
}, "Tip text "));
|
74
|
+
expect(wrapper.find({
|
75
|
+
"data-testid": 'alert-test__link'
|
76
|
+
}).length).toBe(1);
|
54
77
|
});
|
55
78
|
});
|
56
79
|
describe("TipJSS", function () {
|
57
80
|
it('matches the snapshot', function () {
|
58
|
-
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index["default"], null));
|
81
|
+
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index["default"], null, "Tip text "));
|
59
82
|
expect(wrapper).toMatchSnapshot();
|
60
83
|
});
|
61
84
|
});
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports["default"] = void 0;
|
7
|
+
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
9
|
+
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
11
|
+
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
13
|
+
|
14
|
+
var boldRegex = /\*(.*?)\*/g;
|
15
|
+
|
16
|
+
var TipText = function TipText(_ref) {
|
17
|
+
var classes = _ref.classes,
|
18
|
+
text = _ref.text;
|
19
|
+
if (text === '' || typeof text !== 'string') return text;
|
20
|
+
return /*#__PURE__*/_react["default"].createElement("p", {
|
21
|
+
className: classes
|
22
|
+
}, text.replace(boldRegex, function (_, txt) {
|
23
|
+
return txt;
|
24
|
+
}));
|
25
|
+
};
|
26
|
+
|
27
|
+
TipText.propTypes = {
|
28
|
+
classes: _propTypes["default"].string.isRequired,
|
29
|
+
text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]).isRequired
|
30
|
+
};
|
31
|
+
var _default = TipText;
|
32
|
+
exports["default"] = _default;
|