carbon-react 115.0.1 → 116.0.0

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 (41) hide show
  1. package/esm/__internal__/radio-button-mapper/radio-button-mapper.component.d.ts +1 -1
  2. package/esm/components/multi-action-button/multi-action-button.component.d.ts +1 -1
  3. package/esm/components/multi-action-button/multi-action-button.component.js +13 -3
  4. package/esm/components/pages/pages.component.d.ts +0 -2
  5. package/esm/components/pages/pages.component.js +0 -1
  6. package/esm/components/split-button/split-button.component.js +2 -2
  7. package/esm/components/tile-select/__internal__/accordion/accordion.component.d.ts +10 -0
  8. package/esm/components/tile-select/__internal__/accordion/accordion.component.js +317 -9
  9. package/esm/components/tile-select/__internal__/accordion/accordion.style.d.ts +3 -0
  10. package/esm/components/tile-select/__internal__/accordion/index.d.ts +1 -0
  11. package/esm/components/tile-select/index.d.ts +4 -2
  12. package/esm/components/tile-select/index.js +2 -2
  13. package/esm/components/tile-select/tile-select-group.component.d.ts +25 -0
  14. package/esm/components/tile-select/tile-select-group.component.js +184 -59
  15. package/esm/components/tile-select/tile-select.component.d.ts +58 -0
  16. package/esm/components/tile-select/tile-select.component.js +192 -100
  17. package/esm/components/tile-select/tile-select.style.d.ts +36 -0
  18. package/lib/__internal__/radio-button-mapper/radio-button-mapper.component.d.ts +1 -1
  19. package/lib/components/multi-action-button/multi-action-button.component.d.ts +1 -1
  20. package/lib/components/multi-action-button/multi-action-button.component.js +13 -3
  21. package/lib/components/pages/pages.component.d.ts +0 -2
  22. package/lib/components/pages/pages.component.js +0 -1
  23. package/lib/components/split-button/split-button.component.js +2 -2
  24. package/lib/components/tile-select/__internal__/accordion/accordion.component.d.ts +10 -0
  25. package/lib/components/tile-select/__internal__/accordion/accordion.component.js +316 -8
  26. package/lib/components/tile-select/__internal__/accordion/accordion.style.d.ts +3 -0
  27. package/lib/components/tile-select/__internal__/accordion/index.d.ts +1 -0
  28. package/lib/components/tile-select/index.d.ts +4 -2
  29. package/lib/components/tile-select/index.js +4 -4
  30. package/lib/components/tile-select/tile-select-group.component.d.ts +25 -0
  31. package/lib/components/tile-select/tile-select-group.component.js +188 -68
  32. package/lib/components/tile-select/tile-select.component.d.ts +58 -0
  33. package/lib/components/tile-select/tile-select.component.js +192 -105
  34. package/lib/components/tile-select/tile-select.style.d.ts +36 -0
  35. package/package.json +1 -1
  36. package/esm/components/tile-select/__internal__/accordion/accordion.d.ts +0 -13
  37. package/esm/components/tile-select/tile-select-group.d.ts +0 -27
  38. package/esm/components/tile-select/tile-select.d.ts +0 -51
  39. package/lib/components/tile-select/__internal__/accordion/accordion.d.ts +0 -13
  40. package/lib/components/tile-select/tile-select-group.d.ts +0 -27
  41. package/lib/components/tile-select/tile-select.d.ts +0 -51
@@ -3,21 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.TileSelectGroup = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(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 _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
15
13
 
16
- var _tileSelect = _interopRequireDefault(require("./tile-select.component"));
17
-
18
14
  var _radioButtonMapper = _interopRequireDefault(require("../../__internal__/radio-button-mapper/radio-button-mapper.component"));
19
15
 
20
- var _tileSelect2 = require("./tile-select.style");
16
+ var _tileSelect = require("./tile-select.style");
21
17
 
22
18
  var _utils = require("../../style/utils");
23
19
 
@@ -25,20 +21,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
21
 
26
22
  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
23
 
28
- const marginPropTypes = (0, _utils.filterStyledSystemMarginProps)(_propTypes2.default.space);
29
-
30
- const TileSelectGroup = props => {
31
- const {
32
- children,
33
- name,
34
- legend,
35
- description,
36
- onChange,
37
- onBlur,
38
- value,
39
- multiSelect,
40
- ...rest
41
- } = props;
24
+ const TileSelectGroup = ({
25
+ children,
26
+ name,
27
+ legend,
28
+ description,
29
+ onChange,
30
+ onBlur,
31
+ value,
32
+ multiSelect = false,
33
+ ...rest
34
+ }) => {
42
35
  let tiles;
43
36
 
44
37
  if (multiSelect) {
@@ -49,63 +42,190 @@ const TileSelectGroup = props => {
49
42
  onBlur: onBlur,
50
43
  onChange: onChange,
51
44
  value: value
52
- }, _react.default.Children.map(children, child => /*#__PURE__*/_react.default.cloneElement(child, {
53
- type: "radio"
54
- })));
45
+ }, _react.default.Children.map(children, child => {
46
+ if ( /*#__PURE__*/_react.default.isValidElement(child)) {
47
+ return /*#__PURE__*/_react.default.cloneElement(child, {
48
+ type: "radio"
49
+ });
50
+ }
51
+
52
+ return child;
53
+ }));
55
54
  }
56
55
 
57
- return /*#__PURE__*/_react.default.createElement(_tileSelect2.StyledTileSelectFieldset, _extends({
56
+ return /*#__PURE__*/_react.default.createElement(_tileSelect.StyledTileSelectFieldset, _extends({
58
57
  legend: legend
59
58
  }, (0, _tags.default)("tile-select-group", rest), {
60
59
  multiSelect: multiSelect
61
- }, (0, _utils.filterStyledSystemMarginProps)(rest)), description ? /*#__PURE__*/_react.default.createElement(_tileSelect2.StyledGroupDescription, {
60
+ }, (0, _utils.filterStyledSystemMarginProps)(rest)), description ? /*#__PURE__*/_react.default.createElement(_tileSelect.StyledGroupDescription, {
62
61
  "data-element": "tile-select-group-description"
63
62
  }, description) : null, /*#__PURE__*/_react.default.createElement("div", null, tiles));
64
63
  };
65
64
 
66
- TileSelectGroup.propTypes = { ...marginPropTypes,
67
-
68
- /** The TileSelect components to be rendered in the group */
69
- children: (props, propName, componentName) => {
70
- let error;
71
- const prop = props[propName];
72
-
73
- _react.default.Children.forEach(prop, child => {
74
- if (_tileSelect.default.displayName !== child.type.displayName) {
75
- error = new Error(`\`${componentName}\` only accepts children of type \`${_tileSelect.default.displayName}\`.`);
76
- }
77
- });
78
-
79
- return error;
80
- },
81
-
82
- /** The content for the TileSelectGroup Legend */
83
- legend: _propTypes.default.string,
84
-
85
- /** Description to be rendered below the legend */
86
- description: _propTypes.default.string,
87
-
88
- /** The currently selected value - only for single select mode. */
89
- value: _propTypes.default.string,
90
-
91
- /** The name to apply to the input - only for single select mode. */
92
- name: _propTypes.default.string,
93
-
94
- /** A callback triggered when one of tiles is selected - only for single select mode. */
95
- onChange: _propTypes.default.func,
96
-
97
- /** A callback triggered when one of tiles is blurred - only for single select mode. */
98
- onBlur: _propTypes.default.func,
99
-
100
- /** When passed as true TileSelectGroup serves only visual purpose */
101
-
102
- /** It wraps TileSelects in fieldset element and renders the legend and description props content */
103
-
104
- /** onChange, onBlur, value, checked and name props are meant to be passed individually on each of the TileSelects */
105
- multiSelect: _propTypes.default.bool
106
- };
107
- TileSelectGroup.defaultProps = {
108
- multiSelect: false
65
+ exports.TileSelectGroup = TileSelectGroup;
66
+ TileSelectGroup.propTypes = {
67
+ "children": _propTypes.default.node,
68
+ "description": _propTypes.default.string,
69
+ "legend": _propTypes.default.string,
70
+ "m": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
71
+ "__@toStringTag": _propTypes.default.string.isRequired,
72
+ "description": _propTypes.default.string,
73
+ "toString": _propTypes.default.func.isRequired,
74
+ "valueOf": _propTypes.default.func.isRequired
75
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
76
+ "__@toStringTag": _propTypes.default.string.isRequired,
77
+ "description": _propTypes.default.string,
78
+ "toString": _propTypes.default.func.isRequired,
79
+ "valueOf": _propTypes.default.func.isRequired
80
+ }), _propTypes.default.string]),
81
+ "margin": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
82
+ "__@toStringTag": _propTypes.default.string.isRequired,
83
+ "description": _propTypes.default.string,
84
+ "toString": _propTypes.default.func.isRequired,
85
+ "valueOf": _propTypes.default.func.isRequired
86
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
87
+ "__@toStringTag": _propTypes.default.string.isRequired,
88
+ "description": _propTypes.default.string,
89
+ "toString": _propTypes.default.func.isRequired,
90
+ "valueOf": _propTypes.default.func.isRequired
91
+ }), _propTypes.default.string]),
92
+ "marginBottom": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
93
+ "__@toStringTag": _propTypes.default.string.isRequired,
94
+ "description": _propTypes.default.string,
95
+ "toString": _propTypes.default.func.isRequired,
96
+ "valueOf": _propTypes.default.func.isRequired
97
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
103
+ "marginLeft": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
104
+ "__@toStringTag": _propTypes.default.string.isRequired,
105
+ "description": _propTypes.default.string,
106
+ "toString": _propTypes.default.func.isRequired,
107
+ "valueOf": _propTypes.default.func.isRequired
108
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
114
+ "marginRight": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
115
+ "__@toStringTag": _propTypes.default.string.isRequired,
116
+ "description": _propTypes.default.string,
117
+ "toString": _propTypes.default.func.isRequired,
118
+ "valueOf": _propTypes.default.func.isRequired
119
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
125
+ "marginTop": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
126
+ "__@toStringTag": _propTypes.default.string.isRequired,
127
+ "description": _propTypes.default.string,
128
+ "toString": _propTypes.default.func.isRequired,
129
+ "valueOf": _propTypes.default.func.isRequired
130
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
136
+ "marginX": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
137
+ "__@toStringTag": _propTypes.default.string.isRequired,
138
+ "description": _propTypes.default.string,
139
+ "toString": _propTypes.default.func.isRequired,
140
+ "valueOf": _propTypes.default.func.isRequired
141
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
147
+ "marginY": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
148
+ "__@toStringTag": _propTypes.default.string.isRequired,
149
+ "description": _propTypes.default.string,
150
+ "toString": _propTypes.default.func.isRequired,
151
+ "valueOf": _propTypes.default.func.isRequired
152
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
158
+ "mb": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
159
+ "__@toStringTag": _propTypes.default.string.isRequired,
160
+ "description": _propTypes.default.string,
161
+ "toString": _propTypes.default.func.isRequired,
162
+ "valueOf": _propTypes.default.func.isRequired
163
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
169
+ "ml": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
170
+ "__@toStringTag": _propTypes.default.string.isRequired,
171
+ "description": _propTypes.default.string,
172
+ "toString": _propTypes.default.func.isRequired,
173
+ "valueOf": _propTypes.default.func.isRequired
174
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
180
+ "mr": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
181
+ "__@toStringTag": _propTypes.default.string.isRequired,
182
+ "description": _propTypes.default.string,
183
+ "toString": _propTypes.default.func.isRequired,
184
+ "valueOf": _propTypes.default.func.isRequired
185
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
191
+ "mt": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
192
+ "__@toStringTag": _propTypes.default.string.isRequired,
193
+ "description": _propTypes.default.string,
194
+ "toString": _propTypes.default.func.isRequired,
195
+ "valueOf": _propTypes.default.func.isRequired
196
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _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]),
202
+ "multiSelect": _propTypes.default.bool,
203
+ "mx": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
204
+ "__@toStringTag": _propTypes.default.string.isRequired,
205
+ "description": _propTypes.default.string,
206
+ "toString": _propTypes.default.func.isRequired,
207
+ "valueOf": _propTypes.default.func.isRequired
208
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
209
+ "__@toStringTag": _propTypes.default.string.isRequired,
210
+ "description": _propTypes.default.string,
211
+ "toString": _propTypes.default.func.isRequired,
212
+ "valueOf": _propTypes.default.func.isRequired
213
+ }), _propTypes.default.string]),
214
+ "my": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
215
+ "__@toStringTag": _propTypes.default.string.isRequired,
216
+ "description": _propTypes.default.string,
217
+ "toString": _propTypes.default.func.isRequired,
218
+ "valueOf": _propTypes.default.func.isRequired
219
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
220
+ "__@toStringTag": _propTypes.default.string.isRequired,
221
+ "description": _propTypes.default.string,
222
+ "toString": _propTypes.default.func.isRequired,
223
+ "valueOf": _propTypes.default.func.isRequired
224
+ }), _propTypes.default.string]),
225
+ "name": _propTypes.default.string.isRequired,
226
+ "onBlur": _propTypes.default.func,
227
+ "onChange": _propTypes.default.func,
228
+ "value": _propTypes.default.string
109
229
  };
110
230
  var _default = TileSelectGroup;
111
231
  exports.default = _default;
@@ -0,0 +1,58 @@
1
+ import React from "react";
2
+ import { MarginProps } from "styled-system";
3
+ export interface TileSelectDeselectEvent {
4
+ target: {
5
+ name?: string;
6
+ id?: string;
7
+ value: null;
8
+ checked: false;
9
+ };
10
+ }
11
+ export interface TileSelectProps extends MarginProps {
12
+ /** title of the TileSelect */
13
+ title?: React.ReactNode;
14
+ /** adornment to be rendered next to the title */
15
+ titleAdornment?: React.ReactNode;
16
+ /** subtitle of the TileSelect */
17
+ subtitle?: React.ReactNode;
18
+ /** description of the TileSelect */
19
+ description?: React.ReactNode;
20
+ /** disables the TileSelect input */
21
+ disabled?: boolean;
22
+ /** the value that is represented by this TileSelect */
23
+ value?: string;
24
+ /** input id */
25
+ id?: string;
26
+ /** input name */
27
+ name?: string;
28
+ /** Callback triggered when user selects or deselects this tile */
29
+ onChange?: (ev: React.ChangeEvent<HTMLInputElement> | TileSelectDeselectEvent) => void;
30
+ /** Callback triggered when the user blurs this tile */
31
+ onBlur?: (ev: React.FocusEvent<HTMLInputElement>) => void;
32
+ /** Callback triggered when the user focus this tile */
33
+ onFocus?: (ev: React.FocusEvent<HTMLInputElement>) => void;
34
+ /** determines if this tile is selected or unselected */
35
+ checked?: boolean;
36
+ /** Custom class name passed to the root element of TileSelect */
37
+ className?: string;
38
+ /** Type of the TileSelect input */
39
+ type?: "radio" | "checkbox";
40
+ /** Render prop that allows overriding the default action button. */
41
+ customActionButton?: (onClick: () => void) => JSX.Element;
42
+ /** An additional help info icon rendered next to the action button */
43
+ actionButtonAdornment?: React.ReactNode;
44
+ /** footer of the TileSelect */
45
+ footer?: React.ReactNode;
46
+ /** Component to render in the top left corner of TileSelect */
47
+ prefixAdornment?: React.ReactNode;
48
+ /** Component to render additional information row between title and description */
49
+ additionalInformation?: React.ReactNode;
50
+ /** Components to render in the TileSelect Accordion */
51
+ accordionContent?: React.ReactNode;
52
+ /** Callback to toggle expanded state of TileSelect Accordion */
53
+ accordionControl?: (controlId: string, contentId: string) => JSX.Element;
54
+ /** Flag to control the open state of TileSelect Accordion */
55
+ accordionExpanded?: boolean;
56
+ }
57
+ declare const TileSelect: React.ForwardRefExoticComponent<TileSelectProps & React.RefAttributes<HTMLInputElement>>;
58
+ export default TileSelect;