carbon-react 111.4.2 → 111.5.1

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.
Files changed (73) hide show
  1. package/esm/__internal__/utils/helpers/tags/tags.d.ts +7 -7
  2. package/esm/components/alert/alert.component.js +3 -3
  3. package/esm/components/box/box.component.js +1 -0
  4. package/esm/components/card/card-column/card-column.component.d.ts +11 -0
  5. package/esm/components/card/card-column/card-column.component.js +7 -13
  6. package/esm/components/card/card-column/card-column.style.d.ts +7 -0
  7. package/esm/components/card/card-column/card-column.style.js +0 -7
  8. package/esm/components/card/card-column/index.d.ts +2 -1
  9. package/esm/components/card/card-footer/card-footer.component.d.ts +11 -0
  10. package/esm/components/card/card-footer/card-footer.component.js +320 -10
  11. package/esm/components/card/card-footer/card-footer.style.d.ts +10 -0
  12. package/esm/components/card/card-footer/card-footer.style.js +0 -10
  13. package/esm/components/card/card-footer/index.d.ts +2 -1
  14. package/esm/components/card/card-row/card-row.component.d.ts +11 -0
  15. package/esm/components/card/card-row/card-row.component.js +161 -17
  16. package/esm/components/card/card-row/card-row.style.d.ts +11 -0
  17. package/esm/components/card/card-row/card-row.style.js +16 -8
  18. package/esm/components/card/card-row/index.d.ts +2 -1
  19. package/esm/components/card/card.component.d.ts +31 -0
  20. package/esm/components/card/card.component.js +208 -69
  21. package/esm/components/card/card.config.d.ts +4 -0
  22. package/esm/components/card/card.config.js +2 -3
  23. package/esm/components/card/card.style.d.ts +10 -0
  24. package/esm/components/card/card.style.js +0 -11
  25. package/esm/components/card/index.d.ts +5 -1
  26. package/esm/components/dialog/dialog.component.d.ts +4 -1
  27. package/esm/components/dialog/dialog.component.js +3 -3
  28. package/esm/components/dialog-full-screen/dialog-full-screen.d.ts +1 -1
  29. package/esm/components/sidebar/sidebar.component.d.ts +8 -5
  30. package/esm/components/sidebar/sidebar.component.js +4 -4
  31. package/esm/components/textbox/textbox.component.js +1 -3
  32. package/lib/__internal__/utils/helpers/tags/tags.d.ts +7 -7
  33. package/lib/components/alert/alert.component.js +3 -3
  34. package/lib/components/box/box.component.js +1 -0
  35. package/lib/components/card/card-column/card-column.component.d.ts +11 -0
  36. package/lib/components/card/card-column/card-column.component.js +7 -13
  37. package/lib/components/card/card-column/card-column.style.d.ts +7 -0
  38. package/lib/components/card/card-column/card-column.style.js +0 -8
  39. package/lib/components/card/card-column/index.d.ts +2 -1
  40. package/lib/components/card/card-footer/card-footer.component.d.ts +11 -0
  41. package/lib/components/card/card-footer/card-footer.component.js +320 -10
  42. package/lib/components/card/card-footer/card-footer.style.d.ts +10 -0
  43. package/lib/components/card/card-footer/card-footer.style.js +0 -13
  44. package/lib/components/card/card-footer/index.d.ts +2 -1
  45. package/lib/components/card/card-row/card-row.component.d.ts +11 -0
  46. package/lib/components/card/card-row/card-row.component.js +162 -20
  47. package/lib/components/card/card-row/card-row.style.d.ts +11 -0
  48. package/lib/components/card/card-row/card-row.style.js +18 -7
  49. package/lib/components/card/card-row/index.d.ts +2 -1
  50. package/lib/components/card/card.component.d.ts +31 -0
  51. package/lib/components/card/card.component.js +213 -71
  52. package/lib/components/card/card.config.d.ts +4 -0
  53. package/lib/components/card/card.config.js +4 -5
  54. package/lib/components/card/card.style.d.ts +10 -0
  55. package/lib/components/card/card.style.js +0 -13
  56. package/lib/components/card/index.d.ts +5 -1
  57. package/lib/components/dialog/dialog.component.d.ts +4 -1
  58. package/lib/components/dialog/dialog.component.js +3 -3
  59. package/lib/components/dialog-full-screen/dialog-full-screen.d.ts +1 -1
  60. package/lib/components/sidebar/sidebar.component.d.ts +8 -5
  61. package/lib/components/sidebar/sidebar.component.js +4 -4
  62. package/lib/components/textbox/textbox.component.js +1 -3
  63. package/package.json +1 -1
  64. package/esm/components/card/card-column/card-column.d.ts +0 -11
  65. package/esm/components/card/card-footer/card-footer.d.ts +0 -16
  66. package/esm/components/card/card-row/card-row.d.ts +0 -16
  67. package/esm/components/card/card-types.d.ts +0 -1
  68. package/esm/components/card/card.d.ts +0 -22
  69. package/lib/components/card/card-column/card-column.d.ts +0 -11
  70. package/lib/components/card/card-footer/card-footer.d.ts +0 -16
  71. package/lib/components/card/card-row/card-row.d.ts +0 -16
  72. package/lib/components/card/card-types.d.ts +0 -1
  73. package/lib/components/card/card.d.ts +0 -22
@@ -5,109 +5,251 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types"));
13
-
14
12
  var _utils = require("../../style/utils");
15
13
 
16
14
  var _card = _interopRequireDefault(require("./card.style"));
17
15
 
18
16
  var _icon = _interopRequireDefault(require("../icon"));
19
17
 
20
- var _cardRow = _interopRequireDefault(require("./card-row/card-row.component"));
18
+ var _ = require(".");
21
19
 
22
- var _cardFooter = _interopRequireDefault(require("./card-footer/card-footer.component"));
20
+ var _logger = _interopRequireDefault(require("../../__internal__/utils/logger"));
23
21
 
24
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
23
 
24
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
25
+
26
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
27
+
26
28
  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
29
 
28
- const marginPropTypes = (0, _utils.filterStyledSystemMarginProps)(_propTypes2.default.space);
30
+ function hasDisplayName(child, displayName) {
31
+ return child.type.displayName === displayName;
32
+ }
33
+
34
+ let isDeprecationWarningTriggered = false;
29
35
 
30
36
  const Card = ({
37
+ "data-element": dataElement,
38
+ "data-role": dataRole,
39
+ dataRole: oldDataRole,
31
40
  action,
32
41
  children,
33
- cardWidth,
34
- interactive,
42
+ cardWidth = "500px",
35
43
  draggable,
36
- spacing,
37
- dataRole,
44
+ interactive,
45
+ spacing = "medium",
38
46
  ...rest
39
47
  }) => {
40
- const handleClick = ev => {
41
- if (!draggable && action) {
42
- action(ev);
43
- }
44
- };
45
-
46
- const renderChildren = () => {
47
- return _react.default.Children.map(children, (child, index) => {
48
- if (child.type === _cardRow.default || child.type === _cardFooter.default) {
49
- if (index === 0) {
50
- const childProps = {
51
- spacing,
52
- ...child.props
53
- };
54
-
55
- if (child.type !== _cardFooter.default) {
56
- const pad = _react.default.Children.toArray(children).filter(row => row.type === _cardRow.default).length === 1 ? "pt" : "py";
57
- childProps[pad] = 0;
58
- }
59
-
60
- return /*#__PURE__*/_react.default.cloneElement(child, childProps);
61
- }
62
-
63
- return /*#__PURE__*/_react.default.cloneElement(child, {
64
- spacing
65
- });
66
- }
67
-
68
- return child;
48
+ if (!isDeprecationWarningTriggered && oldDataRole) {
49
+ isDeprecationWarningTriggered = true;
50
+
51
+ _logger.default.deprecate("The `dataRole` prop of `Card` is now deprecated. Please use the kebab-case version `data-role` instead.");
52
+ }
53
+
54
+ const renderChildren = (0, _react.useCallback)(() => _react.default.Children.map(children, (child, index) => {
55
+ if (! /*#__PURE__*/_react.default.isValidElement(child) || /*#__PURE__*/_react.default.isValidElement(child) && !hasDisplayName(child, _.CardRow.displayName) && !hasDisplayName(child, _.CardFooter.displayName)) return child;
56
+ if (index !== 0) return /*#__PURE__*/_react.default.cloneElement(child, {
57
+ spacing
69
58
  });
70
- };
59
+ const childProps = {
60
+ spacing,
61
+ ...child.props
62
+ };
63
+
64
+ if (hasDisplayName(child, _.CardRow.displayName)) {
65
+ const pad = _react.default.Children.toArray(children).filter(row => /*#__PURE__*/_react.default.isValidElement(row) && hasDisplayName(row, _.CardRow.displayName)).length === 1 ? "pt" : "py";
66
+ childProps[pad] = 0;
67
+ }
71
68
 
72
- const onClickHandler = interactive ? handleClick : null;
73
- const interactiveProps = interactive ? {
74
- tabIndex: 0,
75
- type: "button"
76
- } : undefined;
69
+ return /*#__PURE__*/_react.default.cloneElement(child, childProps);
70
+ }), [children, spacing]);
77
71
  return /*#__PURE__*/_react.default.createElement(_card.default, _extends({
78
72
  "data-component": "card",
73
+ "data-element": dataElement,
74
+ "data-role": dataRole || oldDataRole,
79
75
  cardWidth: cardWidth,
80
- interactive: interactive,
81
- draggable: draggable,
76
+ interactive: !!interactive,
77
+ draggable: !!draggable,
82
78
  spacing: spacing,
83
- onClick: onClickHandler,
84
- "data-role": dataRole
85
- }, interactiveProps, rest), draggable && /*#__PURE__*/_react.default.createElement(_icon.default, {
79
+ onClick: interactive && !draggable ? action : undefined
80
+ }, interactive && {
81
+ tabIndex: 0,
82
+ type: "button"
83
+ }, (0, _utils.filterStyledSystemMarginProps)(rest)), draggable && /*#__PURE__*/_react.default.createElement(_icon.default, {
86
84
  type: "drag"
87
85
  }), renderChildren());
88
86
  };
89
87
 
90
- Card.defaultProps = {
91
- spacing: "medium"
92
- };
93
- Card.propTypes = { ...marginPropTypes,
94
-
95
- /** action to be executed when card is clicked or enter pressed */
96
- action: _propTypes.default.func,
97
- children: _propTypes.default.node.isRequired,
98
-
99
- /** style value for width of card */
100
- cardWidth: _propTypes.default.string,
101
-
102
- /** flag to indicate if card is interactive */
103
- interactive: _propTypes.default.bool,
104
-
105
- /** flag to indicate if card is draggable */
106
- draggable: _propTypes.default.bool,
107
-
108
- /** size of card for applying padding (small | medium | large) */
109
- spacing: _propTypes.default.oneOf(["small", "medium", "large"]),
110
- dataRole: _propTypes.default.string
88
+ Card.propTypes = {
89
+ "action": _propTypes.default.func,
90
+ "cardWidth": _propTypes.default.string,
91
+ "children": _propTypes.default.node,
92
+ "data-element": _propTypes.default.string,
93
+ "data-role": _propTypes.default.string,
94
+ "dataRole": _propTypes.default.string,
95
+ "draggable": _propTypes.default.bool,
96
+ "interactive": _propTypes.default.bool,
97
+ "m": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
98
+ "__@toStringTag": _propTypes.default.string.isRequired,
99
+ "description": _propTypes.default.string,
100
+ "toString": _propTypes.default.func.isRequired,
101
+ "valueOf": _propTypes.default.func.isRequired
102
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
103
+ "__@toStringTag": _propTypes.default.string.isRequired,
104
+ "description": _propTypes.default.string,
105
+ "toString": _propTypes.default.func.isRequired,
106
+ "valueOf": _propTypes.default.func.isRequired
107
+ }), _propTypes.default.string]),
108
+ "margin": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
109
+ "__@toStringTag": _propTypes.default.string.isRequired,
110
+ "description": _propTypes.default.string,
111
+ "toString": _propTypes.default.func.isRequired,
112
+ "valueOf": _propTypes.default.func.isRequired
113
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
114
+ "__@toStringTag": _propTypes.default.string.isRequired,
115
+ "description": _propTypes.default.string,
116
+ "toString": _propTypes.default.func.isRequired,
117
+ "valueOf": _propTypes.default.func.isRequired
118
+ }), _propTypes.default.string]),
119
+ "marginBottom": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
120
+ "__@toStringTag": _propTypes.default.string.isRequired,
121
+ "description": _propTypes.default.string,
122
+ "toString": _propTypes.default.func.isRequired,
123
+ "valueOf": _propTypes.default.func.isRequired
124
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
125
+ "__@toStringTag": _propTypes.default.string.isRequired,
126
+ "description": _propTypes.default.string,
127
+ "toString": _propTypes.default.func.isRequired,
128
+ "valueOf": _propTypes.default.func.isRequired
129
+ }), _propTypes.default.string]),
130
+ "marginLeft": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
131
+ "__@toStringTag": _propTypes.default.string.isRequired,
132
+ "description": _propTypes.default.string,
133
+ "toString": _propTypes.default.func.isRequired,
134
+ "valueOf": _propTypes.default.func.isRequired
135
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
136
+ "__@toStringTag": _propTypes.default.string.isRequired,
137
+ "description": _propTypes.default.string,
138
+ "toString": _propTypes.default.func.isRequired,
139
+ "valueOf": _propTypes.default.func.isRequired
140
+ }), _propTypes.default.string]),
141
+ "marginRight": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
142
+ "__@toStringTag": _propTypes.default.string.isRequired,
143
+ "description": _propTypes.default.string,
144
+ "toString": _propTypes.default.func.isRequired,
145
+ "valueOf": _propTypes.default.func.isRequired
146
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
147
+ "__@toStringTag": _propTypes.default.string.isRequired,
148
+ "description": _propTypes.default.string,
149
+ "toString": _propTypes.default.func.isRequired,
150
+ "valueOf": _propTypes.default.func.isRequired
151
+ }), _propTypes.default.string]),
152
+ "marginTop": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
153
+ "__@toStringTag": _propTypes.default.string.isRequired,
154
+ "description": _propTypes.default.string,
155
+ "toString": _propTypes.default.func.isRequired,
156
+ "valueOf": _propTypes.default.func.isRequired
157
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
158
+ "__@toStringTag": _propTypes.default.string.isRequired,
159
+ "description": _propTypes.default.string,
160
+ "toString": _propTypes.default.func.isRequired,
161
+ "valueOf": _propTypes.default.func.isRequired
162
+ }), _propTypes.default.string]),
163
+ "marginX": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
164
+ "__@toStringTag": _propTypes.default.string.isRequired,
165
+ "description": _propTypes.default.string,
166
+ "toString": _propTypes.default.func.isRequired,
167
+ "valueOf": _propTypes.default.func.isRequired
168
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
169
+ "__@toStringTag": _propTypes.default.string.isRequired,
170
+ "description": _propTypes.default.string,
171
+ "toString": _propTypes.default.func.isRequired,
172
+ "valueOf": _propTypes.default.func.isRequired
173
+ }), _propTypes.default.string]),
174
+ "marginY": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
175
+ "__@toStringTag": _propTypes.default.string.isRequired,
176
+ "description": _propTypes.default.string,
177
+ "toString": _propTypes.default.func.isRequired,
178
+ "valueOf": _propTypes.default.func.isRequired
179
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
180
+ "__@toStringTag": _propTypes.default.string.isRequired,
181
+ "description": _propTypes.default.string,
182
+ "toString": _propTypes.default.func.isRequired,
183
+ "valueOf": _propTypes.default.func.isRequired
184
+ }), _propTypes.default.string]),
185
+ "mb": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
186
+ "__@toStringTag": _propTypes.default.string.isRequired,
187
+ "description": _propTypes.default.string,
188
+ "toString": _propTypes.default.func.isRequired,
189
+ "valueOf": _propTypes.default.func.isRequired
190
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
191
+ "__@toStringTag": _propTypes.default.string.isRequired,
192
+ "description": _propTypes.default.string,
193
+ "toString": _propTypes.default.func.isRequired,
194
+ "valueOf": _propTypes.default.func.isRequired
195
+ }), _propTypes.default.string]),
196
+ "ml": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
197
+ "__@toStringTag": _propTypes.default.string.isRequired,
198
+ "description": _propTypes.default.string,
199
+ "toString": _propTypes.default.func.isRequired,
200
+ "valueOf": _propTypes.default.func.isRequired
201
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
202
+ "__@toStringTag": _propTypes.default.string.isRequired,
203
+ "description": _propTypes.default.string,
204
+ "toString": _propTypes.default.func.isRequired,
205
+ "valueOf": _propTypes.default.func.isRequired
206
+ }), _propTypes.default.string]),
207
+ "mr": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
208
+ "__@toStringTag": _propTypes.default.string.isRequired,
209
+ "description": _propTypes.default.string,
210
+ "toString": _propTypes.default.func.isRequired,
211
+ "valueOf": _propTypes.default.func.isRequired
212
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
213
+ "__@toStringTag": _propTypes.default.string.isRequired,
214
+ "description": _propTypes.default.string,
215
+ "toString": _propTypes.default.func.isRequired,
216
+ "valueOf": _propTypes.default.func.isRequired
217
+ }), _propTypes.default.string]),
218
+ "mt": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
219
+ "__@toStringTag": _propTypes.default.string.isRequired,
220
+ "description": _propTypes.default.string,
221
+ "toString": _propTypes.default.func.isRequired,
222
+ "valueOf": _propTypes.default.func.isRequired
223
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
224
+ "__@toStringTag": _propTypes.default.string.isRequired,
225
+ "description": _propTypes.default.string,
226
+ "toString": _propTypes.default.func.isRequired,
227
+ "valueOf": _propTypes.default.func.isRequired
228
+ }), _propTypes.default.string]),
229
+ "mx": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
230
+ "__@toStringTag": _propTypes.default.string.isRequired,
231
+ "description": _propTypes.default.string,
232
+ "toString": _propTypes.default.func.isRequired,
233
+ "valueOf": _propTypes.default.func.isRequired
234
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
235
+ "__@toStringTag": _propTypes.default.string.isRequired,
236
+ "description": _propTypes.default.string,
237
+ "toString": _propTypes.default.func.isRequired,
238
+ "valueOf": _propTypes.default.func.isRequired
239
+ }), _propTypes.default.string]),
240
+ "my": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
241
+ "__@toStringTag": _propTypes.default.string.isRequired,
242
+ "description": _propTypes.default.string,
243
+ "toString": _propTypes.default.func.isRequired,
244
+ "valueOf": _propTypes.default.func.isRequired
245
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
246
+ "__@toStringTag": _propTypes.default.string.isRequired,
247
+ "description": _propTypes.default.string,
248
+ "toString": _propTypes.default.func.isRequired,
249
+ "valueOf": _propTypes.default.func.isRequired
250
+ }), _propTypes.default.string]),
251
+ "spacing": _propTypes.default.oneOf(["large", "medium", "small"])
111
252
  };
253
+ Card.displayName = "Card";
112
254
  var _default = Card;
113
255
  exports.default = _default;
@@ -0,0 +1,4 @@
1
+ export declare const CARD_SPACING: readonly ["small", "medium", "large"];
2
+ export declare const CARD_ALIGNS: readonly ["left", "center", "right"];
3
+ export declare type CardAlign = typeof CARD_ALIGNS[number];
4
+ export declare type CardSpacing = typeof CARD_SPACING[number];
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.CARD_ALIGNS = exports.CARD_SIZES = void 0;
7
- // eslint-disable-next-line import/prefer-default-export
8
- const CARD_SIZES = ["small", "medium", "large"];
9
- exports.CARD_SIZES = CARD_SIZES;
10
- const CARD_ALIGNS = ["center", "left", "right"];
6
+ exports.CARD_ALIGNS = exports.CARD_SPACING = void 0;
7
+ const CARD_SPACING = ["small", "medium", "large"];
8
+ exports.CARD_SPACING = CARD_SPACING;
9
+ const CARD_ALIGNS = ["left", "center", "right"];
11
10
  exports.CARD_ALIGNS = CARD_ALIGNS;
@@ -0,0 +1,10 @@
1
+ import { MarginProps } from "styled-system";
2
+ import { CardSpacing } from "./card.config";
3
+ export interface StyledCardProps extends MarginProps {
4
+ cardWidth: string;
5
+ interactive: boolean;
6
+ draggable: boolean;
7
+ spacing: CardSpacing;
8
+ }
9
+ declare const StyledCard: import("styled-components").StyledComponent<"div", any, StyledCardProps, never>;
10
+ export default StyledCard;
@@ -7,14 +7,10 @@ exports.default = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
 
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
10
  var _styledSystem = require("styled-system");
13
11
 
14
12
  var _base = _interopRequireDefault(require("../../style/themes/base"));
15
13
 
16
- var _card = require("./card.config");
17
-
18
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
15
 
20
16
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -64,16 +60,7 @@ const StyledCard = _styledComponents.default.div`
64
60
  `}
65
61
  `;
66
62
  StyledCard.defaultProps = {
67
- cardWidth: "500px",
68
- spacing: "medium",
69
63
  theme: _base.default
70
64
  };
71
- StyledCard.propTypes = {
72
- cardWidth: _propTypes.default.string,
73
- interactive: _propTypes.default.bool,
74
- draggable: _propTypes.default.bool,
75
- spacing: _propTypes.default.oneOf(_card.CARD_SIZES),
76
- theme: _propTypes.default.object
77
- };
78
65
  var _default = StyledCard;
79
66
  exports.default = _default;
@@ -1,4 +1,8 @@
1
- export { default, default as Card } from "./card";
1
+ export { default, default as Card } from "./card.component";
2
+ export type { CardProps } from "./card.component";
2
3
  export { default as CardColumn } from "./card-column";
4
+ export type { CardColumnProps } from "./card-column";
3
5
  export { default as CardFooter } from "./card-footer";
6
+ export type { CardFooterProps } from "./card-footer";
4
7
  export { default as CardRow } from "./card-row";
8
+ export type { CardRowProps } from "./card-row";
@@ -4,6 +4,9 @@ import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
4
4
  import { DialogSizes } from "./dialog.config";
5
5
  declare const PADDING_VALUES: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8];
6
6
  declare type PaddingValues = typeof PADDING_VALUES[number];
7
+ declare type CustomRefObject<T> = {
8
+ current?: T | null;
9
+ };
7
10
  export interface ContentPaddingInterface {
8
11
  p?: PaddingValues;
9
12
  py?: PaddingValues;
@@ -54,7 +57,7 @@ export interface DialogProps extends ModalProps, TagProps {
54
57
  /** Padding to be set on the Dialog content */
55
58
  contentPadding?: ContentPaddingInterface;
56
59
  /** an optional array of refs to containers whose content should also be reachable by tabbing from the dialog */
57
- focusableContainers?: React.MutableRefObject<HTMLElement | null>[];
60
+ focusableContainers?: CustomRefObject<HTMLElement>[];
58
61
  }
59
62
  export declare const Dialog: ({ className, children, open, height, size, title, disableEscKey, subtitle, disableAutoFocus, focusFirstElement, onCancel, showCloseIcon, bespokeFocusTrap, disableClose, help, role, contentPadding, focusableContainers, ...rest }: DialogProps) => JSX.Element;
60
63
  export default Dialog;
@@ -232,13 +232,13 @@ Dialog.propTypes = {
232
232
  "disableFocusTrap": _propTypes.default.bool,
233
233
  "enableBackgroundUI": _propTypes.default.bool,
234
234
  "focusableContainers": _propTypes.default.arrayOf(_propTypes.default.shape({
235
- "current": _propTypes.default.oneOfType([_propTypes.default.oneOf([null]), function (props, propName) {
235
+ "current": function (props, propName) {
236
236
  if (props[propName] == null) {
237
- return new Error("Prop '" + propName + "' is required but wasn't specified");
237
+ return null;
238
238
  } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
239
239
  return new Error("Expected prop '" + propName + "' to be of type Element");
240
240
  }
241
- }]).isRequired
241
+ }
242
242
  })),
243
243
  "focusFirstElement": _propTypes.default.shape({
244
244
  "current": _propTypes.default.oneOfType([_propTypes.default.oneOf([null]), function (props, propName) {
@@ -42,7 +42,7 @@ export interface DialogFullScreenProps extends ModalProps {
42
42
  /** The ARIA role to be applied to the DialogFullscreen container */
43
43
  role?: string;
44
44
  /** an optional array of refs to containers whose content should also be reachable by tabbing from the dialog */
45
- focusableContainers?: React.MutableRefObject<HTMLElement>[];
45
+ focusableContainers?: React.MutableRefObject<HTMLElement | null>[];
46
46
  }
47
47
 
48
48
  declare function DialogFullScreen(props: DialogFullScreenProps): JSX.Element;
@@ -1,6 +1,9 @@
1
1
  import React from "react";
2
2
  import { PaddingProps } from "styled-system";
3
3
  import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
4
+ declare type CustomRefObject<T> = {
5
+ current?: T | null;
6
+ };
4
7
  export interface SidebarContextProps {
5
8
  isInSidebar?: boolean;
6
9
  }
@@ -10,13 +13,13 @@ export interface SidebarProps extends PaddingProps, TagProps {
10
13
  "aria-describedby"?: string;
11
14
  /**
12
15
  * Prop to specify the aria-label of the component.
13
- * To be used only when the title prop is not defined, and the component is not labelled by any internal element.
16
+ * To be used only when the header prop is not defined, and the component is not labelled by any internal element.
14
17
  */
15
18
  "aria-label"?: string;
16
19
  /**
17
20
  * Prop to specify the aria-labeledby property of the component
18
- * To be used when the title prop is a custom React Node,
19
- * or the component is labelled by an internal element other than the title.
21
+ * To be used when the header prop is a custom React Node,
22
+ * or the component is labelled by an internal element other than the header.
20
23
  */
21
24
  "aria-labelledby"?: string;
22
25
  /** Modal content */
@@ -38,7 +41,7 @@ export interface SidebarProps extends PaddingProps, TagProps {
38
41
  /** Sets the size of the sidebar when open. */
39
42
  size?: "extra-small" | "small" | "medium-small" | "medium" | "medium-large" | "large" | "extra-large";
40
43
  /** an optional array of refs to containers whose content should also be reachable by tabbing from the sidebar */
41
- focusableContainers?: React.MutableRefObject<HTMLElement>[];
44
+ focusableContainers?: CustomRefObject<HTMLElement>[];
42
45
  }
43
- export declare const Sidebar: React.ForwardRefExoticComponent<Pick<SidebarProps, keyof SidebarProps> & React.RefAttributes<HTMLDivElement>>;
46
+ export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
44
47
  export default Sidebar;
@@ -61,7 +61,7 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
61
61
  }, ref) => {
62
62
  const locale = (0, _useLocale.default)();
63
63
  const {
64
- current: titleId
64
+ current: headerId
65
65
  } = (0, _react.useRef)((0, _guid.default)());
66
66
  const hasStickyFooter = (0, _useIsStickyFooterForm.default)(children);
67
67
  const sidebarRef = (0, _react.useRef)(null);
@@ -93,7 +93,7 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
93
93
  "aria-modal": !enableBackgroundUI,
94
94
  "aria-describedby": ariaDescribedBy,
95
95
  "aria-label": ariaLabel,
96
- "aria-labelledby": !ariaLabelledBy && !ariaLabel ? titleId : ariaLabelledBy,
96
+ "aria-labelledby": !ariaLabelledBy && !ariaLabel ? headerId : ariaLabelledBy,
97
97
  ref: setRefs,
98
98
  position: position,
99
99
  size: size,
@@ -101,7 +101,7 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
101
101
  onCancel: onCancel,
102
102
  role: role
103
103
  }, header && /*#__PURE__*/_react.default.createElement(_sidebarHeader.default, {
104
- id: titleId
104
+ id: headerId
105
105
  }, header), closeIcon(), /*#__PURE__*/_react.default.createElement(_box.default, _extends({
106
106
  "data-element": "sidebar-content",
107
107
  pt: "var(--spacing300)",
@@ -143,7 +143,7 @@ Sidebar.propTypes = {
143
143
  "focusableContainers": _propTypes.default.arrayOf(_propTypes.default.shape({
144
144
  "current": function (props, propName) {
145
145
  if (props[propName] == null) {
146
- return new Error("Prop '" + propName + "' is required but wasn't specified");
146
+ return null;
147
147
  } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
148
148
  return new Error("Expected prop '" + propName + "' to be of type Element");
149
149
  }
@@ -153,9 +153,7 @@ const Textbox = ({
153
153
  "data-role": dataRole,
154
154
  "data-element": dataElement,
155
155
  validationIconId: validationRedesignOptIn ? undefined : validationIconId,
156
- validationRedesignOptIn: validationRedesignOptIn,
157
- size: size,
158
- readOnly: readOnly
156
+ validationRedesignOptIn: validationRedesignOptIn
159
157
  }, (0, _utils.filterStyledSystemMarginProps)(props)), validationRedesignOptIn && labelHelp && /*#__PURE__*/_react.default.createElement(_textbox.StyledHintText, null, labelHelp), validationRedesignOptIn && /*#__PURE__*/_react.default.createElement(_validationMessage.default, {
160
158
  error: error,
161
159
  warning: warning
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "111.4.2",
3
+ "version": "111.5.1",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
-
3
- export interface CardColumnProps {
4
- children: React.ReactNode;
5
- /** text alignment of the card section text */
6
- align?: "left" | "center" | "right";
7
- }
8
-
9
- declare function CardColumn(props: CardColumnProps): JSX.Element;
10
-
11
- export default CardColumn;
@@ -1,16 +0,0 @@
1
- import * as React from "react";
2
- import { SpaceProps } from "styled-system";
3
- import { CardSizes } from "../card-types";
4
-
5
- export interface CardFooterProps extends SpaceProps {
6
- children: React.ReactNode;
7
- /**
8
- * Predefined size of CardFooter for applying padding (small | medium | large).
9
- * For more granular control these can be over-ridden by Spacing props from styled-system.
10
- */
11
- spacing?: CardSizes;
12
- }
13
-
14
- declare function CardFooter(props: CardFooterProps): JSX.Element;
15
-
16
- export default CardFooter;
@@ -1,16 +0,0 @@
1
- import * as React from "react";
2
- import { PaddingProps } from "styled-system";
3
- import { CardSizes } from "../card-types";
4
-
5
- export interface CardRowProps extends PaddingProps {
6
- children: React.ReactNode;
7
- /**
8
- * Spacing prop is set in Card and defines the padding for the CardRow (the first CardRow has no padding by default).
9
- * For more granular control of CardRow padding these can be over-ridden by Padding props from styled-system.
10
- */
11
- spacing?: CardSizes;
12
- }
13
-
14
- declare function CardRow(props: CardRowProps): JSX.Element;
15
-
16
- export default CardRow;
@@ -1 +0,0 @@
1
- export type CardSizes = "small" | "medium" | "large";
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- import { MarginProps } from "styled-system";
3
- import { CardSizes } from "./card-types";
4
-
5
- export interface CardProps extends MarginProps {
6
- /** action to be executed when card is clicked or enter pressed */
7
- action?: (ev: React.MouseEvent<HTMLDivElement>) => void;
8
- children: React.ReactNode;
9
- /** style value for width of card */
10
- cardWidth?: string;
11
- /** flag to indicate if card is interactive */
12
- interactive?: boolean;
13
- /** flag to indicate if card is draggable */
14
- draggable?: boolean;
15
- /** size of card for applying padding (small | medium | large) */
16
- spacing?: CardSizes;
17
- dataRole?: string;
18
- }
19
-
20
- declare function Card(props: CardProps): JSX.Element;
21
-
22
- export default Card;
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
-
3
- export interface CardColumnProps {
4
- children: React.ReactNode;
5
- /** text alignment of the card section text */
6
- align?: "left" | "center" | "right";
7
- }
8
-
9
- declare function CardColumn(props: CardColumnProps): JSX.Element;
10
-
11
- export default CardColumn;