@occmundial/occ-atomic 3.0.0-beta.5 → 3.0.0-beta.51
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 +414 -0
- package/build/Avatar/Avatar.js +69 -21
- package/build/Avatar/Avatar.test.js +15 -8
- package/build/Avatar/AvatarContent/AvatarContent.js +61 -21
- package/build/Avatar/AvatarContent/AvatarContent.test.js +4 -18
- package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +75 -15
- package/build/Avatar/AvatarContent/styles.js +88 -21
- package/build/Avatar/__snapshots__/Avatar.test.js.snap +11 -2
- package/build/Avatar/styles.js +18 -7
- 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/Button.js +1 -1
- package/build/Button/Button.test.js +0 -11
- package/build/Button/__snapshots__/Button.test.js.snap +54 -60
- package/build/Button/styles.js +42 -75
- 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/Fab/__snapshots__/Fab.test.js.snap +2 -2
- package/build/Footer/Footer.js +63 -84
- package/build/Footer/List/List.js +89 -124
- package/build/Footer/List/styles.js +85 -31
- package/build/Footer/__snapshots__/Footer.test.js.snap +113 -57
- package/build/Footer/styles.js +119 -53
- package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
- package/build/Grid/Col/styles.js +12 -6
- package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
- package/build/Grid/Row/styles.js +15 -5
- package/build/Grid/styles.js +26 -9
- package/build/Modal/Modal.js +94 -66
- package/build/Modal/Modal.test.js +14 -7
- package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
- package/build/Modal/styles.js +165 -143
- package/build/Pager/Page/Page.js +8 -5
- package/build/Pager/Page/Page.test.js +13 -9
- package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
- package/build/Pager/Page/styles.js +48 -14
- package/build/Pager/Pager.js +139 -235
- package/build/Pager/Pager.test.js +81 -36
- package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
- package/build/Pager/styles.js +5 -40
- package/build/Pill/Choice/Choice.js +6 -4
- package/build/Pill/Choice/styles.js +13 -10
- package/build/Pill/Group/styles.js +5 -5
- package/build/Pill/Stack/Stack.js +2 -2
- package/build/Pill/Stack/styles.js +5 -8
- package/build/Placeholder/Placeholder.js +29 -12
- package/build/Placeholder/Placeholder.test.js +4 -4
- package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
- package/build/Placeholder/styles.js +86 -42
- package/build/Provider/usePrevious.js +1 -1
- 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/SlideDown/SlideDown.js +162 -169
- package/build/SlideDown/SlideDown.test.js +49 -44
- package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +45 -13
- package/build/SlideDown/styles.js +52 -18
- 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 +64 -45
- package/build/Tabs/Tab/Tab.js +73 -0
- package/build/Tabs/Tab/index.js +34 -0
- package/build/Tabs/Tab/index.test.js +132 -0
- package/build/Tabs/Tab/styles.js +74 -0
- package/build/Tabs/TabContent/TabContent.js +76 -0
- package/build/Tabs/TabContent/index.js +34 -0
- package/build/Tabs/TabContent/index.test.js +68 -0
- package/build/Tabs/TabContent/styles.js +23 -0
- package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
- package/build/Tabs/TabIndicator/index.js +34 -0
- package/build/Tabs/TabIndicator/styles.js +24 -0
- package/build/Tabs/TabList/TabList.js +108 -0
- package/build/Tabs/TabList/index.js +34 -0
- package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
- package/build/Tabs/Tabs.js +74 -0
- package/build/Tabs/context.js +94 -0
- package/build/Tabs/index.js +34 -0
- package/build/Tabs/index.test.js +157 -0
- package/build/Tabs/styles.js +19 -0
- package/build/Tag/Tag.js +2 -2
- package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
- package/build/Tag/styles.js +76 -82
- package/build/Text/Text.js +6 -3
- 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 +62 -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 +127 -15
- package/build/Tip/styles.js +125 -31
- package/build/Toaster/Toast/Toast.js +76 -64
- package/build/Toaster/Toast/styles.js +118 -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/functions.js +4 -0
- package/build/Toaster/styles.js +3 -3
- package/build/Tooltip/Tooltip.js +73 -22
- package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
- package/build/Tooltip/styles.js +32 -10
- package/build/index.js +14 -1
- package/build/subatomic/grid.js +5 -5
- package/build/tokens/colors.json +35 -3
- package/package.json +4 -1
- package/build/Banner/styles.js +0 -41
- package/build/Pager/Break/Break.js +0 -27
- package/build/Pager/Break/Break.test.js +0 -53
- package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
- package/build/Pager/Break/index.js +0 -18
- /package/build/Button/{Loading.js → Loading/index.js} +0 -0
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
@@ -19,10 +19,16 @@ var _Tag = _interopRequireDefault(require("../Tag"));
|
|
|
19
19
|
|
|
20
20
|
var _Flexbox = _interopRequireDefault(require("../Flexbox"));
|
|
21
21
|
|
|
22
|
-
var _colors = _interopRequireDefault(require("../
|
|
22
|
+
var _colors = _interopRequireDefault(require("../tokens/colors.json"));
|
|
23
|
+
|
|
24
|
+
var _usePrevious = _interopRequireDefault(require("../Provider/usePrevious"));
|
|
23
25
|
|
|
24
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
27
|
|
|
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); }
|
|
29
|
+
|
|
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; }
|
|
31
|
+
|
|
26
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); }
|
|
27
33
|
|
|
28
34
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -31,189 +37,158 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
31
37
|
|
|
32
38
|
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; }
|
|
33
39
|
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
40
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
37
41
|
|
|
38
|
-
function
|
|
42
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
39
43
|
|
|
40
|
-
function
|
|
44
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
41
45
|
|
|
42
|
-
function
|
|
46
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
43
47
|
|
|
44
|
-
function
|
|
48
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
45
49
|
|
|
46
|
-
function
|
|
50
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
47
51
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
function SlideDown(props) {
|
|
61
|
-
var _this;
|
|
62
|
-
|
|
63
|
-
_classCallCheck(this, SlideDown);
|
|
64
|
-
|
|
65
|
-
_this = _super.call(this, props);
|
|
66
|
-
_this.state = {
|
|
67
|
-
expanded: _this.props.expanded,
|
|
68
|
-
toggled: _this.props.expanded
|
|
69
|
-
};
|
|
70
|
-
_this.toggleContent = _this.toggleContent.bind(_assertThisInitialized(_this));
|
|
71
|
-
return _this;
|
|
52
|
+
var textSizes = {
|
|
53
|
+
sm: {
|
|
54
|
+
small: true
|
|
55
|
+
},
|
|
56
|
+
md: {
|
|
57
|
+
standard: true
|
|
58
|
+
},
|
|
59
|
+
lg: {
|
|
60
|
+
extraLarge: true
|
|
61
|
+
},
|
|
62
|
+
"default": {
|
|
63
|
+
standard: true
|
|
72
64
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
65
|
+
};
|
|
66
|
+
var _themeColors = {
|
|
67
|
+
blue: {
|
|
68
|
+
icon: {
|
|
69
|
+
"default": _colors["default"].icon.brand["default"],
|
|
70
|
+
disabled: _colors["default"].icon.brand.disabled
|
|
71
|
+
},
|
|
72
|
+
text: {
|
|
73
|
+
"default": {
|
|
74
|
+
primary: true
|
|
75
|
+
},
|
|
76
|
+
disabled: {
|
|
77
|
+
indigoSecondary: true
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
key: "render",
|
|
97
|
-
value: function render() {
|
|
98
|
-
var _this3 = this;
|
|
99
|
-
|
|
100
|
-
var _this$state = this.state,
|
|
101
|
-
expanded = _this$state.expanded,
|
|
102
|
-
toggled = _this$state.toggled;
|
|
103
|
-
var _this$props = this.props,
|
|
104
|
-
classes = _this$props.classes,
|
|
105
|
-
title = _this$props.title,
|
|
106
|
-
children = _this$props.children,
|
|
107
|
-
tag = _this$props.tag,
|
|
108
|
-
textSize = _this$props.textSize,
|
|
109
|
-
strong = _this$props.strong,
|
|
110
|
-
theme = _this$props.theme,
|
|
111
|
-
noJustified = _this$props.noJustified;
|
|
112
|
-
|
|
113
|
-
var getTextSize = function getTextSize() {
|
|
114
|
-
switch (textSize) {
|
|
115
|
-
case 'md':
|
|
116
|
-
return {
|
|
117
|
-
standard: true
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
case 'lg':
|
|
121
|
-
return {
|
|
122
|
-
large: true
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
case 'sm':
|
|
126
|
-
return {
|
|
127
|
-
small: true
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
default:
|
|
131
|
-
return {
|
|
132
|
-
standard: true
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
var getTextTheme = function getTextTheme() {
|
|
138
|
-
switch (theme) {
|
|
139
|
-
case 'blue':
|
|
140
|
-
return {
|
|
141
|
-
link: true
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
case 'default':
|
|
145
|
-
default:
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
var getIconColor = function getIconColor() {
|
|
151
|
-
switch (theme) {
|
|
152
|
-
case 'blue':
|
|
153
|
-
return _colors["default"].textLink;
|
|
154
|
-
|
|
155
|
-
case 'default':
|
|
156
|
-
default:
|
|
157
|
-
return _colors["default"].grey900;
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
var getTextProps = function getTextProps() {
|
|
162
|
-
return _objectSpread(_objectSpread({}, getTextSize()), getTextTheme());
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
166
|
-
className: classes.wrapper
|
|
167
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
|
-
className: classes.button,
|
|
169
|
-
onClick: function onClick() {
|
|
170
|
-
return _this3.toggleContent(!expanded);
|
|
171
|
-
}
|
|
172
|
-
}, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
|
173
|
-
display: "flex",
|
|
174
|
-
justifyContent: !noJustified ? 'between' : null,
|
|
175
|
-
alignItems: "start"
|
|
176
|
-
}, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
|
177
|
-
display: "flex",
|
|
178
|
-
alignItems: "center"
|
|
179
|
-
}, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
|
180
|
-
display: "flex",
|
|
181
|
-
alignItems: "start",
|
|
182
|
-
wrap: "wrap"
|
|
183
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({}, getTextProps(), {
|
|
184
|
-
strong: strong,
|
|
185
|
-
tag: "label",
|
|
186
|
-
className: classes.text
|
|
187
|
-
}), title), tag && /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
188
|
-
theme: "info",
|
|
189
|
-
className: classes.tag
|
|
190
|
-
}, tag)))), /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
|
191
|
-
flex: "0 0 auto"
|
|
192
|
-
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
193
|
-
iconName: "arrowDown",
|
|
194
|
-
colors: [getIconColor()],
|
|
195
|
-
className: classes.icon,
|
|
196
|
-
width: 18,
|
|
197
|
-
height: 18,
|
|
198
|
-
style: {
|
|
199
|
-
transform: toggled ? 'rotate(180deg)' : ''
|
|
200
|
-
},
|
|
201
|
-
testId: "slidedown__arrow-down"
|
|
202
|
-
})))), expanded && /*#__PURE__*/_react["default"].createElement("div", {
|
|
203
|
-
className: "".concat(classes.content, " ").concat(toggled ? classes.show : classes.hide)
|
|
204
|
-
}, children));
|
|
80
|
+
},
|
|
81
|
+
"default": {
|
|
82
|
+
icon: {
|
|
83
|
+
"default": _colors["default"].icon["default"].bold,
|
|
84
|
+
disabled: _colors["default"].icon["default"].disabled
|
|
85
|
+
},
|
|
86
|
+
text: {
|
|
87
|
+
"default": {
|
|
88
|
+
highEmphasis: true
|
|
89
|
+
},
|
|
90
|
+
disabled: {
|
|
91
|
+
disabled: true
|
|
92
|
+
}
|
|
205
93
|
}
|
|
206
|
-
}
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
/** Component to create an accordion section. The content will be hidden by default, and shown after click. */
|
|
207
97
|
|
|
208
|
-
|
|
209
|
-
|
|
98
|
+
function SlideDown(_ref) {
|
|
99
|
+
var expanded = _ref.expanded,
|
|
100
|
+
classes = _ref.classes,
|
|
101
|
+
title = _ref.title,
|
|
102
|
+
customTitle = _ref.customTitle,
|
|
103
|
+
children = _ref.children,
|
|
104
|
+
tag = _ref.tag,
|
|
105
|
+
textSize = _ref.textSize,
|
|
106
|
+
strong = _ref.strong,
|
|
107
|
+
theme = _ref.theme,
|
|
108
|
+
noJustified = _ref.noJustified,
|
|
109
|
+
onToggle = _ref.onToggle,
|
|
110
|
+
icon = _ref.icon,
|
|
111
|
+
divider = _ref.divider,
|
|
112
|
+
noPadding = _ref.noPadding,
|
|
113
|
+
disabled = _ref.disabled,
|
|
114
|
+
testId = _ref.testId;
|
|
115
|
+
|
|
116
|
+
var _useState = (0, _react.useState)(!!expanded),
|
|
117
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
118
|
+
_expanded = _useState2[0],
|
|
119
|
+
setExpanded = _useState2[1];
|
|
120
|
+
|
|
121
|
+
var prevExpanded = (0, _usePrevious["default"])(!!expanded);
|
|
122
|
+
var themeColors = _themeColors[theme] || _themeColors['default'];
|
|
123
|
+
|
|
124
|
+
var toggleContent = function toggleContent(e) {
|
|
125
|
+
e.stopPropagation();
|
|
126
|
+
setExpanded(!_expanded);
|
|
127
|
+
if (onToggle) onToggle(!_expanded);
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
var getTextProps = function getTextProps() {
|
|
131
|
+
return _objectSpread(_objectSpread({}, textSizes[textSize] || textSizes["default"]), disabled ? themeColors.text.disabled : themeColors.text["default"]);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
(0, _react.useEffect)(function () {
|
|
135
|
+
if (prevExpanded !== expanded) {
|
|
136
|
+
setExpanded(expanded);
|
|
137
|
+
}
|
|
138
|
+
}, [prevExpanded, expanded]);
|
|
139
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
140
|
+
className: "".concat(classes.wrapper).concat(divider ? " ".concat(classes.divider) : '')
|
|
141
|
+
}, /*#__PURE__*/_react["default"].createElement("div", _extends({
|
|
142
|
+
className: "".concat(classes.button, " ").concat(textSize === 'lg' ? classes.largePadding : classes.normalPadding).concat(!noPadding ? " ".concat(classes.buttonPadding) : '').concat(disabled ? " ".concat(classes.disabled) : ''),
|
|
143
|
+
role: "button"
|
|
144
|
+
}, !disabled && {
|
|
145
|
+
onClick: toggleContent
|
|
146
|
+
}, {
|
|
147
|
+
"data-testid": testId
|
|
148
|
+
}), /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
|
149
|
+
display: "flex",
|
|
150
|
+
justifyContent: !noJustified ? 'between' : null,
|
|
151
|
+
alignItems: "center",
|
|
152
|
+
className: classes.flexContainer
|
|
153
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
|
|
154
|
+
display: "flex",
|
|
155
|
+
alignItems: "center",
|
|
156
|
+
wrap: "wrap"
|
|
157
|
+
}, icon ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
158
|
+
iconName: icon,
|
|
159
|
+
width: 16,
|
|
160
|
+
height: 16,
|
|
161
|
+
colors: [!disabled ? themeColors.icon["default"] : themeColors.icon.disabled],
|
|
162
|
+
className: classes.leftIcon
|
|
163
|
+
}) : '', customTitle || /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({}, getTextProps(), {
|
|
164
|
+
strong: strong,
|
|
165
|
+
tag: "label",
|
|
166
|
+
className: "".concat(classes.text).concat(disabled ? " ".concat(classes.disabled) : '')
|
|
167
|
+
}), title), tag && /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
168
|
+
theme: "info",
|
|
169
|
+
className: classes.tag
|
|
170
|
+
}, tag)), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
171
|
+
iconName: "arrowDown",
|
|
172
|
+
colors: [!disabled ? themeColors.icon["default"] : themeColors.icon.disabled],
|
|
173
|
+
className: "".concat(classes.icon).concat(_expanded ? " ".concat(classes.rotateIcon) : ''),
|
|
174
|
+
width: 16,
|
|
175
|
+
height: 16,
|
|
176
|
+
testId: "slidedown__arrow-down"
|
|
177
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
178
|
+
className: "".concat(classes.contentWrapper).concat(_expanded ? " ".concat(classes.showContentWrapper) : '')
|
|
179
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
180
|
+
className: "".concat(classes.content).concat(_expanded ? " ".concat(classes.showContent) : '')
|
|
181
|
+
}, children)));
|
|
182
|
+
}
|
|
210
183
|
|
|
211
184
|
SlideDown.defaultProps = {
|
|
212
185
|
expanded: false,
|
|
213
186
|
textSize: 'md',
|
|
214
187
|
strong: false,
|
|
215
188
|
theme: 'default',
|
|
216
|
-
noJustified: false
|
|
189
|
+
noJustified: false,
|
|
190
|
+
icon: '',
|
|
191
|
+
noPadding: false
|
|
217
192
|
};
|
|
218
193
|
SlideDown.propTypes = {
|
|
219
194
|
classes: _propTypes["default"].object,
|
|
@@ -222,6 +197,9 @@ SlideDown.propTypes = {
|
|
|
222
197
|
/** Title of the tab. */
|
|
223
198
|
title: _propTypes["default"].string,
|
|
224
199
|
|
|
200
|
+
/** If the title needs to be customized. It will be rendered instead of the title. */
|
|
201
|
+
customTitle: _propTypes["default"].node,
|
|
202
|
+
|
|
225
203
|
/** Set this as true to show the content by default. If the external prop is the same of the internal state the component dont toggle */
|
|
226
204
|
expanded: _propTypes["default"].bool,
|
|
227
205
|
|
|
@@ -241,7 +219,22 @@ SlideDown.propTypes = {
|
|
|
241
219
|
theme: _propTypes["default"].oneOf(['default', 'blue']),
|
|
242
220
|
|
|
243
221
|
/** The Title container has an alignment by default. Use this property if you need to remove it. */
|
|
244
|
-
noJustified: _propTypes["default"].bool
|
|
222
|
+
noJustified: _propTypes["default"].bool,
|
|
223
|
+
|
|
224
|
+
/** Shows a divider at the bottom*/
|
|
225
|
+
divider: _propTypes["default"].bool,
|
|
226
|
+
|
|
227
|
+
/** Use the name of any of the icons available in the library. */
|
|
228
|
+
icon: _propTypes["default"].string,
|
|
229
|
+
|
|
230
|
+
/** The container has by default a side padding. Use this property if you need to remove it. */
|
|
231
|
+
noPadding: _propTypes["default"].bool,
|
|
232
|
+
|
|
233
|
+
/** It disables the component and shows it with the proper theme. */
|
|
234
|
+
disabled: _propTypes["default"].bool,
|
|
235
|
+
|
|
236
|
+
/** The testId property adds the data attribute data-testid to the main element and should be used for testing only. */
|
|
237
|
+
testId: _propTypes["default"].string
|
|
245
238
|
};
|
|
246
239
|
var _default = SlideDown;
|
|
247
240
|
exports["default"] = _default;
|
|
@@ -14,7 +14,7 @@ var _Text = _interopRequireDefault(require("../Text"));
|
|
|
14
14
|
|
|
15
15
|
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
16
16
|
|
|
17
|
-
var _colors = _interopRequireDefault(require("../
|
|
17
|
+
var _colors = _interopRequireDefault(require("../tokens/colors.json"));
|
|
18
18
|
|
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
20
20
|
|
|
@@ -44,23 +44,16 @@ describe('SlideDown', function () {
|
|
|
44
44
|
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
45
45
|
expanded: true,
|
|
46
46
|
classes: classes,
|
|
47
|
-
title: "Title"
|
|
47
|
+
title: "Title",
|
|
48
|
+
testId: "slidedown-test"
|
|
48
49
|
}));
|
|
49
|
-
expect(wrapper.find(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
wrapper.setState({
|
|
56
|
-
toggled: false
|
|
57
|
-
});
|
|
58
|
-
expect(wrapper.find({
|
|
59
|
-
'data-testid': 'slidedown__arrow-down'
|
|
60
|
-
}).prop('style')).toEqual({
|
|
61
|
-
transform: '',
|
|
62
|
-
transition: '0.3s all'
|
|
50
|
+
expect(wrapper.find('Icon .rotateIcon').length).toBe(1);
|
|
51
|
+
wrapper.find({
|
|
52
|
+
"data-testid": 'slidedown-test'
|
|
53
|
+
}).simulate('click', {
|
|
54
|
+
stopPropagation: function stopPropagation() {}
|
|
63
55
|
});
|
|
56
|
+
expect(wrapper.find('Icon .rotateIcon').length).toBe(0);
|
|
64
57
|
});
|
|
65
58
|
it('shows a Tag on the title', function () {
|
|
66
59
|
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
@@ -75,31 +68,17 @@ describe('SlideDown', function () {
|
|
|
75
68
|
it('renders the child content', function () {
|
|
76
69
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
77
70
|
classes: classes,
|
|
78
|
-
title: "Title"
|
|
79
|
-
|
|
80
|
-
expect(wrapper.find('.content').length).toBe(0);
|
|
81
|
-
wrapper.setState({
|
|
82
|
-
expanded: true
|
|
83
|
-
});
|
|
84
|
-
expect(wrapper.find('.content').length).toBe(1);
|
|
85
|
-
expect(wrapper.find('.content').text()).toEqual('Children content');
|
|
86
|
-
});
|
|
87
|
-
it('correct render when prop expanded change', function () {
|
|
88
|
-
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
89
|
-
classes: classes,
|
|
90
|
-
title: "Title"
|
|
71
|
+
title: "Title",
|
|
72
|
+
testId: "slidedown-test"
|
|
91
73
|
}, "Children content"));
|
|
92
|
-
expect(wrapper.find('.
|
|
93
|
-
wrapper.
|
|
94
|
-
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
wrapper.setProps({
|
|
98
|
-
expanded: false
|
|
74
|
+
expect(wrapper.find('.showContent').length).toBe(0);
|
|
75
|
+
wrapper.find({
|
|
76
|
+
"data-testid": 'slidedown-test'
|
|
77
|
+
}).simulate('click', {
|
|
78
|
+
stopPropagation: function stopPropagation() {}
|
|
99
79
|
});
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}, 400);
|
|
80
|
+
expect(wrapper.find('.showContent').length).toBe(1);
|
|
81
|
+
expect(wrapper.find('.showContent').text()).toEqual('Children content');
|
|
103
82
|
});
|
|
104
83
|
it('Text have the right properties', function () {
|
|
105
84
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
@@ -107,20 +86,46 @@ describe('SlideDown', function () {
|
|
|
107
86
|
textSize: 'lg',
|
|
108
87
|
title: "Title"
|
|
109
88
|
}, "Children content"));
|
|
110
|
-
expect(wrapper.find(_Text["default"]).props().
|
|
89
|
+
expect(wrapper.find(_Text["default"]).props().extraLarge).toEqual(true);
|
|
111
90
|
});
|
|
112
91
|
it('Text and Icon has theme color', function () {
|
|
113
92
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
114
93
|
classes: classes,
|
|
115
94
|
title: "Title"
|
|
116
95
|
}, "Children content"));
|
|
117
|
-
expect(wrapper.find(_Icon["default"]).props().colors).toEqual([_colors["default"].
|
|
118
|
-
expect(wrapper.find(_Text["default"]).props().
|
|
96
|
+
expect(wrapper.find(_Icon["default"]).props().colors).toEqual([_colors["default"].icon["default"].bold]);
|
|
97
|
+
expect(wrapper.find(_Text["default"]).props().primary).toBeFalsy();
|
|
119
98
|
wrapper.setProps({
|
|
120
99
|
theme: 'blue'
|
|
121
100
|
});
|
|
122
|
-
expect(wrapper.find(_Text["default"]).props().
|
|
123
|
-
expect(wrapper.find(_Icon["default"]).props().colors).toEqual([_colors["default"].
|
|
101
|
+
expect(wrapper.find(_Text["default"]).props().primary).toEqual(true);
|
|
102
|
+
expect(wrapper.find(_Icon["default"]).props().colors).toEqual([_colors["default"].icon.brand["default"]]);
|
|
103
|
+
});
|
|
104
|
+
it('render a custom title', function () {
|
|
105
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_SlideDown["default"], {
|
|
106
|
+
customTitle: /*#__PURE__*/_react["default"].createElement("div", {
|
|
107
|
+
"data-testid": "custom-title",
|
|
108
|
+
style: {
|
|
109
|
+
display: 'flex',
|
|
110
|
+
gap: '24px',
|
|
111
|
+
alignItems: 'center'
|
|
112
|
+
}
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement("p", {
|
|
114
|
+
style: {
|
|
115
|
+
margin: 0
|
|
116
|
+
}
|
|
117
|
+
}, "Custom ", /*#__PURE__*/_react["default"].createElement("b", null, "SlideDown"), " Title"), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
118
|
+
iconName: "search",
|
|
119
|
+
width: 16,
|
|
120
|
+
height: 16
|
|
121
|
+
})),
|
|
122
|
+
title: "This title should not render",
|
|
123
|
+
classes: classes
|
|
124
|
+
}, "Children content"));
|
|
125
|
+
expect(wrapper.find({
|
|
126
|
+
"data-testid": 'custom-title'
|
|
127
|
+
}).exists()).toEqual(true);
|
|
128
|
+
expect(wrapper.find('label').exists()).toEqual(false);
|
|
124
129
|
});
|
|
125
130
|
});
|
|
126
131
|
describe('SlideDownJSS', function () {
|
|
@@ -7,34 +7,66 @@ Object {
|
|
|
7
7
|
"button": Object {
|
|
8
8
|
"cursor": "pointer",
|
|
9
9
|
},
|
|
10
|
+
"buttonPadding": Object {
|
|
11
|
+
"paddingLeft": "16px",
|
|
12
|
+
"paddingRight": "16px",
|
|
13
|
+
},
|
|
10
14
|
"content": Object {
|
|
11
|
-
"
|
|
15
|
+
"overflow": "hidden",
|
|
16
|
+
"transform": "translateY(-10px)",
|
|
17
|
+
"transition": "transform cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
|
12
18
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
19
|
+
"contentWrapper": Object {
|
|
20
|
+
"display": "grid",
|
|
21
|
+
"gridTemplateRows": "0fr",
|
|
16
22
|
"opacity": 0,
|
|
17
|
-
"
|
|
23
|
+
"transition": "grid-template-rows cubic-bezier(0.25,0.46,0.45,0.94) 0.2s 0.05s, opacity cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
|
24
|
+
},
|
|
25
|
+
"disabled": Object {
|
|
26
|
+
"cursor": "not-allowed",
|
|
27
|
+
},
|
|
28
|
+
"divider": Object {
|
|
29
|
+
"boxShadow": "inset 0 -1px 0px 0px #EDEDF1",
|
|
30
|
+
},
|
|
31
|
+
"flexContainer": Object {
|
|
32
|
+
"gap": "16px",
|
|
18
33
|
},
|
|
19
34
|
"icon": Object {
|
|
20
|
-
"
|
|
21
|
-
|
|
35
|
+
"transition": "rotate cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
|
|
36
|
+
},
|
|
37
|
+
"largePadding": Object {
|
|
38
|
+
"paddingBottom": "16px",
|
|
39
|
+
"paddingTop": "16px",
|
|
40
|
+
},
|
|
41
|
+
"leftIcon": Object {
|
|
42
|
+
"marginRight": "8px",
|
|
43
|
+
},
|
|
44
|
+
"normalPadding": Object {
|
|
45
|
+
"paddingBottom": "12px",
|
|
46
|
+
"paddingTop": "12px",
|
|
47
|
+
},
|
|
48
|
+
"rotateIcon": Object {
|
|
49
|
+
"transform": "rotate(-180deg)",
|
|
50
|
+
},
|
|
51
|
+
"showContent": Object {
|
|
52
|
+
"marginBottom": "12px",
|
|
53
|
+
"transform": "translateY(0px)",
|
|
54
|
+
"transition": "transform cubic-bezier(0.25,0.46,0.45,0.94) 0.2s 0.05s",
|
|
22
55
|
},
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"marginTop": 0,
|
|
56
|
+
"showContentWrapper": Object {
|
|
57
|
+
"gridTemplateRows": "1fr",
|
|
26
58
|
"opacity": 1,
|
|
59
|
+
"transition": "grid-template-rows cubic-bezier(0.25,0.46,0.45,0.94) 0.2s, opacity cubic-bezier(0.25,0.46,0.45,0.94) 0.2s 0.05s",
|
|
27
60
|
},
|
|
28
61
|
"tag": Object {
|
|
29
|
-
"marginLeft":
|
|
30
|
-
"marginTop": 4,
|
|
62
|
+
"marginLeft": "8px",
|
|
31
63
|
"pointerEvents": "none",
|
|
32
64
|
},
|
|
33
65
|
"text": Object {
|
|
34
66
|
"cursor": "pointer",
|
|
35
67
|
},
|
|
36
68
|
"wrapper": Object {
|
|
37
|
-
"marginBottom":
|
|
69
|
+
"marginBottom": "16px",
|
|
38
70
|
},
|
|
39
71
|
}
|
|
40
72
|
`;
|