@occmundial/occ-atomic 3.0.0-beta.2 → 3.0.0-beta.21
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/CHANGELOG.md +185 -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 +52 -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 +85 -15
- package/build/Tip/styles.js +80 -31
- package/build/Toaster/Toast/Toast.js +69 -64
- package/build/Toaster/Toast/styles.js +72 -46
- package/build/Toaster/Toaster.js +3 -2
- package/build/Toaster/Toaster.test.js +5 -2
- package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
- package/build/Toaster/styles.js +3 -3
- 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,39 @@ 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
|
-
className:
|
|
140
|
-
|
|
90
|
+
size: "md",
|
|
91
|
+
className: size === 'small' ? classes.closeIconSmallMargin : classes.closeIconMargin,
|
|
92
|
+
icon: "x",
|
|
93
|
+
theme: theme === PROMOTE ? 'ghostWhite' : 'ghostGrey'
|
|
94
|
+
}, testId && {
|
|
95
|
+
testId: "".concat(testId, "__close-icon")
|
|
96
|
+
}))));
|
|
141
97
|
};
|
|
142
98
|
|
|
143
99
|
Tip.defaultProps = {
|
|
@@ -151,6 +107,7 @@ Tip.propTypes = {
|
|
|
151
107
|
|
|
152
108
|
/** Text of the tip. If you put text between two * characters that text will be displayed as bold. */
|
|
153
109
|
children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]).isRequired,
|
|
110
|
+
size: _propTypes["default"].oneOf(['large', 'small']),
|
|
154
111
|
|
|
155
112
|
/** Call to action. Appended after the children's text. */
|
|
156
113
|
cta: _propTypes["default"].shape({
|
|
@@ -163,11 +120,8 @@ Tip.propTypes = {
|
|
|
163
120
|
/** Boolean to show an icon. */
|
|
164
121
|
icon: _propTypes["default"].bool,
|
|
165
122
|
|
|
166
|
-
/**
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
/** Center Tip content. */
|
|
170
|
-
center: _propTypes["default"].bool,
|
|
123
|
+
/** Sets content centered and remove border radius. */
|
|
124
|
+
banner: _propTypes["default"].bool,
|
|
171
125
|
|
|
172
126
|
/** Function to call on click of the x icon. */
|
|
173
127
|
onClose: _propTypes["default"].func,
|
|
@@ -176,7 +130,10 @@ Tip.propTypes = {
|
|
|
176
130
|
spacedClose: _propTypes["default"].bool,
|
|
177
131
|
id: _propTypes["default"].string,
|
|
178
132
|
className: _propTypes["default"].string,
|
|
179
|
-
style: _propTypes["default"].object
|
|
133
|
+
style: _propTypes["default"].object,
|
|
134
|
+
|
|
135
|
+
/** The testId property adds the data attribute data-testid to the main element and should be used for testing only. */
|
|
136
|
+
testId: _propTypes["default"].string
|
|
180
137
|
};
|
|
181
138
|
var _default = Tip;
|
|
182
139
|
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;
|