@carbon/react 1.16.0-rc.0 → 1.17.0-rc.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 (73) hide show
  1. package/es/components/Checkbox/Checkbox.Skeleton.d.ts +18 -0
  2. package/es/components/Checkbox/Checkbox.Skeleton.js +1 -2
  3. package/es/components/Checkbox/Checkbox.d.ts +47 -0
  4. package/es/components/Checkbox/Checkbox.js +6 -7
  5. package/es/components/Checkbox/index.d.ts +10 -0
  6. package/es/components/Checkbox/index.js +10 -0
  7. package/es/components/CodeSnippet/CodeSnippet.js +0 -1
  8. package/es/components/DataTable/TableToolbarSearch.js +1 -1
  9. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -1
  10. package/es/components/Grid/Grid.js +0 -5
  11. package/es/components/NumberInput/NumberInput.js +45 -1
  12. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +10 -4
  13. package/es/components/Search/Search.js +160 -184
  14. package/es/components/Search/index.js +2 -8
  15. package/es/components/Tab/index.js +1 -1
  16. package/es/components/Tabs/Tabs.Skeleton.js +6 -6
  17. package/es/components/Tabs/Tabs.js +582 -508
  18. package/es/components/Tabs/index.js +2 -12
  19. package/es/components/Tabs/{next/usePressable.js → usePressable.js} +1 -1
  20. package/es/components/Text/Text.d.ts +33 -0
  21. package/es/components/Text/Text.js +8 -5
  22. package/es/components/Text/TextDirection.d.ts +35 -0
  23. package/es/components/Text/TextDirectionContext.js +2 -0
  24. package/es/components/Text/createTextComponent.d.ts +18 -0
  25. package/es/components/Text/index.d.ts +18 -0
  26. package/es/components/Text/index.js +2 -0
  27. package/es/components/TextInput/TextInput.js +1 -1
  28. package/es/components/Tile/Tile.js +339 -502
  29. package/es/index.js +6 -6
  30. package/es/internal/useNormalizedInputProps.js +13 -17
  31. package/es/internal/usePrefix.d.ts +9 -0
  32. package/lib/components/Checkbox/Checkbox.Skeleton.d.ts +18 -0
  33. package/lib/components/Checkbox/Checkbox.Skeleton.js +1 -2
  34. package/lib/components/Checkbox/Checkbox.d.ts +47 -0
  35. package/lib/components/Checkbox/Checkbox.js +6 -7
  36. package/lib/components/Checkbox/index.d.ts +10 -0
  37. package/lib/components/Checkbox/index.js +18 -0
  38. package/lib/components/CodeSnippet/CodeSnippet.js +0 -1
  39. package/lib/components/DataTable/TableToolbarSearch.js +2 -2
  40. package/lib/components/ExpandableSearch/ExpandableSearch.js +3 -3
  41. package/lib/components/Grid/Grid.js +0 -5
  42. package/lib/components/NumberInput/NumberInput.js +45 -1
  43. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +9 -3
  44. package/lib/components/Search/Search.js +159 -183
  45. package/lib/components/Search/index.js +2 -25
  46. package/lib/components/Tab/index.js +1 -1
  47. package/lib/components/Tabs/Tabs.Skeleton.js +6 -6
  48. package/lib/components/Tabs/Tabs.js +586 -507
  49. package/lib/components/Tabs/index.js +7 -33
  50. package/lib/components/Tabs/{next/usePressable.js → usePressable.js} +1 -1
  51. package/lib/components/Text/Text.d.ts +33 -0
  52. package/lib/components/Text/Text.js +8 -5
  53. package/lib/components/Text/TextDirection.d.ts +35 -0
  54. package/lib/components/Text/TextDirectionContext.js +2 -0
  55. package/lib/components/Text/createTextComponent.d.ts +18 -0
  56. package/lib/components/Text/index.d.ts +18 -0
  57. package/lib/components/Text/index.js +4 -0
  58. package/lib/components/TextInput/TextInput.js +1 -1
  59. package/lib/components/Tile/Tile.js +336 -499
  60. package/lib/index.js +71 -71
  61. package/lib/internal/useNormalizedInputProps.js +12 -16
  62. package/lib/internal/usePrefix.d.ts +9 -0
  63. package/package.json +8 -4
  64. package/es/components/Search/next/Search.js +0 -265
  65. package/es/components/Tabs/next/Tabs.Skeleton.js +0 -53
  66. package/es/components/Tabs/next/Tabs.js +0 -692
  67. package/es/components/Tile/index.js +0 -19
  68. package/es/components/Tile/next/Tile.js +0 -604
  69. package/lib/components/Search/next/Search.js +0 -275
  70. package/lib/components/Tabs/next/Tabs.Skeleton.js +0 -63
  71. package/lib/components/Tabs/next/Tabs.js +0 -708
  72. package/lib/components/Tile/index.js +0 -48
  73. package/lib/components/Tile/next/Tile.js +0 -619
@@ -13,11 +13,13 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var React = require('react');
14
14
  var PropTypes = require('prop-types');
15
15
  var cx = require('classnames');
16
- var Link = require('../Link/Link.js');
17
16
  var iconsReact = require('@carbon/icons-react');
17
+ var Link = require('../Link/Link.js');
18
18
  var deprecate = require('../../prop-types/deprecate.js');
19
19
  var events = require('../../tools/events.js');
20
20
  var usePrefix = require('../../internal/usePrefix.js');
21
+ var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
22
+ var useNoInteractiveChildren = require('../../internal/useNoInteractiveChildren.js');
21
23
  var match = require('../../internal/keyboard/match.js');
22
24
  var keys = require('../../internal/keyboard/keys.js');
23
25
 
@@ -27,45 +29,28 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
29
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
28
30
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
29
31
 
30
- var _CheckboxCheckedFille, _Checkbox, _ChevronDown;
32
+ var _CheckboxCheckedFille, _Checkbox, _ChevronDown, _ChevronDown2;
31
33
 
32
34
  var _excluded = ["children", "className", "light"],
33
- _excluded2 = ["children", "href", "className", "handleClick", "handleKeyDown", "onClick", "onKeyDown", "clicked", "light"],
34
- _excluded3 = ["children", "id", "tabIndex", "value", "name", "title", "iconDescription", "className", "handleClick", "handleKeyDown", "onClick", "onChange", "onKeyDown", "light", "disabled", "selected"],
35
- _excluded4 = ["tabIndex", "className", "expanded", "tileMaxHeight", "tilePadding", "handleClick", "onKeyUp", "tileCollapsedIconText", "tileExpandedIconText", "tileCollapsedLabel", "tileExpandedLabel", "onBeforeClick", "light"];
36
- var Tile = /*#__PURE__*/function (_Component) {
37
- _rollupPluginBabelHelpers.inherits(Tile, _Component);
38
-
39
- var _super = _rollupPluginBabelHelpers.createSuper(Tile);
40
-
41
- function Tile() {
42
- _rollupPluginBabelHelpers.classCallCheck(this, Tile);
43
-
44
- return _super.apply(this, arguments);
45
- }
46
-
47
- _rollupPluginBabelHelpers.createClass(Tile, [{
48
- key: "render",
49
- value: function render() {
50
- var prefix = this.context;
51
-
52
- var _this$props = this.props,
53
- children = _this$props.children,
54
- className = _this$props.className,
55
- light = _this$props.light,
56
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_this$props, _excluded);
57
-
58
- var tileClasses = cx__default["default"]("".concat(prefix, "--tile"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--tile--light"), light), className);
59
- return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
60
- className: tileClasses
61
- }, rest), children);
62
- }
63
- }]);
64
-
65
- return Tile;
66
- }(React.Component);
67
-
68
- _rollupPluginBabelHelpers.defineProperty(Tile, "propTypes", {
35
+ _excluded2 = ["children", "className", "clicked", "href", "light", "onClick", "onKeyDown"],
36
+ _excluded3 = ["children", "className", "disabled", "id", "light", "name", "onClick", "onChange", "onKeyDown", "selected", "tabIndex", "title", "value"],
37
+ _excluded4 = ["tabIndex", "className", "children", "expanded", "tileMaxHeight", "tilePadding", "onClick", "onKeyUp", "tileCollapsedIconText", "tileExpandedIconText", "tileCollapsedLabel", "tileExpandedLabel", "light"];
38
+ var Tile = /*#__PURE__*/React__default["default"].forwardRef(function Tile(_ref, ref) {
39
+ var children = _ref.children,
40
+ className = _ref.className,
41
+ _ref$light = _ref.light,
42
+ light = _ref$light === void 0 ? false : _ref$light,
43
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
44
+
45
+ var prefix = usePrefix.usePrefix();
46
+ var tileClasses = cx__default["default"]("".concat(prefix, "--tile"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--tile--light"), light), className);
47
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
48
+ className: tileClasses,
49
+ ref: ref
50
+ }, rest), children);
51
+ });
52
+ Tile.displayName = 'Tile';
53
+ Tile.propTypes = {
69
54
  /**
70
55
  * The child nodes.
71
56
  */
@@ -80,114 +65,59 @@ _rollupPluginBabelHelpers.defineProperty(Tile, "propTypes", {
80
65
  * `true` to use the light version. For use on $ui-01 backgrounds only.
81
66
  * Don't use this to make tile background color same as container background color.
82
67
  */
83
- light: PropTypes__default["default"].bool
84
- });
85
-
86
- _rollupPluginBabelHelpers.defineProperty(Tile, "contextType", usePrefix.PrefixContext);
87
-
88
- _rollupPluginBabelHelpers.defineProperty(Tile, "defaultProps", {
89
- light: false
90
- });
91
-
92
- var ClickableTile = /*#__PURE__*/function (_Component2) {
93
- _rollupPluginBabelHelpers.inherits(ClickableTile, _Component2);
94
-
95
- var _super2 = _rollupPluginBabelHelpers.createSuper(ClickableTile);
68
+ light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `Tile` is no longer needed and has been deprecated. It will be removed in the next major release. Use the Layer component instead.')
69
+ };
70
+ var ClickableTile = /*#__PURE__*/React__default["default"].forwardRef(function ClickableTile(_ref2, ref) {
71
+ var _cx2;
72
+
73
+ var children = _ref2.children,
74
+ className = _ref2.className,
75
+ _ref2$clicked = _ref2.clicked,
76
+ clicked = _ref2$clicked === void 0 ? false : _ref2$clicked,
77
+ href = _ref2.href,
78
+ light = _ref2.light,
79
+ _ref2$onClick = _ref2.onClick,
80
+ onClick = _ref2$onClick === void 0 ? function () {} : _ref2$onClick,
81
+ _ref2$onKeyDown = _ref2.onKeyDown,
82
+ onKeyDown = _ref2$onKeyDown === void 0 ? function () {} : _ref2$onKeyDown,
83
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref2, _excluded2);
84
+
85
+ var prefix = usePrefix.usePrefix();
86
+ var classes = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--clickable"), (_cx2 = {}, _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--tile--is-clicked"), clicked), _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--tile--light"), light), _cx2), className);
87
+
88
+ var _useState = React.useState(clicked),
89
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
90
+ isSelected = _useState2[0],
91
+ setIsSelected = _useState2[1];
96
92
 
97
- function ClickableTile() {
98
- var _this;
93
+ function handleOnClick(evt) {
94
+ evt.persist();
95
+ setIsSelected(!isSelected);
96
+ onClick(evt);
97
+ }
99
98
 
100
- _rollupPluginBabelHelpers.classCallCheck(this, ClickableTile);
99
+ function handleOnKeyDown(evt) {
100
+ evt.persist();
101
101
 
102
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
103
- args[_key] = arguments[_key];
102
+ if (match.matches(evt, [keys.Enter, keys.Space])) {
103
+ evt.preventDefault();
104
+ setIsSelected(!isSelected);
105
+ onKeyDown(evt);
104
106
  }
105
107
 
106
- _this = _super2.call.apply(_super2, [this].concat(args));
107
-
108
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "state", {});
109
-
110
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleClick", function (evt) {
111
- evt.persist();
112
-
113
- _this.setState({
114
- clicked: !_this.state.clicked
115
- }, function () {
116
- var _this$props$handleCli, _this$props2, _this$props$onClick, _this$props3;
117
-
118
- // TODO: Remove handleClick prop when handleClick is deprecated
119
- ((_this$props$handleCli = (_this$props2 = _this.props).handleClick) === null || _this$props$handleCli === void 0 ? void 0 : _this$props$handleCli.call(_this$props2, evt)) || ((_this$props$onClick = (_this$props3 = _this.props).onClick) === null || _this$props$onClick === void 0 ? void 0 : _this$props$onClick.call(_this$props3, evt));
120
- });
121
- });
122
-
123
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleKeyDown", function (evt) {
124
- evt.persist();
125
-
126
- if (match.matches(evt, [keys.Enter, keys.Space])) {
127
- _this.setState({
128
- clicked: !_this.state.clicked
129
- }, function () {
130
- var _this$props$handleKey, _this$props4;
131
-
132
- // TODO: Remove handleKeyDown prop when handleKeyDown is deprecated
133
- ((_this$props$handleKey = (_this$props4 = _this.props).handleKeyDown) === null || _this$props$handleKey === void 0 ? void 0 : _this$props$handleKey.call(_this$props4, evt)) || _this.props.onKeyDown(evt);
134
- });
135
- } else {
136
- var _this$props$handleKey2, _this$props5;
137
-
138
- // TODO: Remove handleKeyDown prop when handleKeyDown is deprecated
139
- ((_this$props$handleKey2 = (_this$props5 = _this.props).handleKeyDown) === null || _this$props$handleKey2 === void 0 ? void 0 : _this$props$handleKey2.call(_this$props5, evt)) || _this.props.onKeyDown(evt);
140
- }
141
- });
142
-
143
- return _this;
108
+ onKeyDown(evt);
144
109
  }
145
110
 
146
- _rollupPluginBabelHelpers.createClass(ClickableTile, [{
147
- key: "render",
148
- value: function render() {
149
- var _cx2;
150
-
151
- var prefix = this.context;
152
-
153
- var _this$props6 = this.props,
154
- children = _this$props6.children,
155
- href = _this$props6.href,
156
- className = _this$props6.className;
157
- _this$props6.handleClick;
158
- _this$props6.handleKeyDown;
159
- _this$props6.onClick;
160
- _this$props6.onKeyDown;
161
- _this$props6.clicked;
162
- var light = _this$props6.light,
163
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_this$props6, _excluded2);
164
-
165
- var classes = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--clickable"), (_cx2 = {}, _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--tile--is-clicked"), this.state.clicked), _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--tile--light"), light), _cx2), className);
166
- return /*#__PURE__*/React__default["default"].createElement(Link["default"], _rollupPluginBabelHelpers["extends"]({
167
- href: href,
168
- className: classes
169
- }, rest, {
170
- onClick: this.handleClick,
171
- onKeyDown: this.handleKeyDown
172
- }), children);
173
- }
174
- }], [{
175
- key: "getDerivedStateFromProps",
176
- value: // eslint-disable-next-line react/prop-types
177
- function getDerivedStateFromProps(_ref, state) {
178
- var clicked = _ref.clicked;
179
- var prevClicked = state.prevClicked;
180
- return prevClicked === clicked ? null : {
181
- clicked: clicked,
182
- prevClicked: clicked
183
- };
184
- }
185
- }]);
186
-
187
- return ClickableTile;
188
- }(React.Component);
189
-
190
- _rollupPluginBabelHelpers.defineProperty(ClickableTile, "propTypes", {
111
+ return /*#__PURE__*/React__default["default"].createElement(Link["default"], _rollupPluginBabelHelpers["extends"]({
112
+ className: classes,
113
+ href: href,
114
+ onClick: handleOnClick,
115
+ onKeyDown: handleOnKeyDown,
116
+ ref: ref
117
+ }, rest), children);
118
+ });
119
+ ClickableTile.displayName = 'ClickableTile';
120
+ ClickableTile.propTypes = {
191
121
  /**
192
122
  * The child nodes.
193
123
  */
@@ -199,14 +129,9 @@ _rollupPluginBabelHelpers.defineProperty(ClickableTile, "propTypes", {
199
129
  className: PropTypes__default["default"].string,
200
130
 
201
131
  /**
202
- * Deprecated in v11. Use 'onClick' instead.
203
- */
204
- handleClick: deprecate["default"](PropTypes__default["default"].func, 'The handleClick prop for ClickableTile has been deprecated in favor of onClick. It will be removed in the next major release.'),
205
-
206
- /**
207
- * Specify the function to run when the ClickableTile is interacted with via a keyboard
132
+ * Boolean for whether a tile has been clicked.
208
133
  */
209
- handleKeyDown: deprecate["default"](PropTypes__default["default"].func, 'The handleKeyDown prop for ClickableTile has been deprecated in favor of onKeyDown. It will be removed in the next major release.'),
134
+ clicked: PropTypes__default["default"].bool,
210
135
 
211
136
  /**
212
137
  * The href for the link.
@@ -217,7 +142,7 @@ _rollupPluginBabelHelpers.defineProperty(ClickableTile, "propTypes", {
217
142
  * `true` to use the light version. For use on $ui-01 backgrounds only.
218
143
  * Don't use this to make tile background color same as container background color.
219
144
  */
220
- light: PropTypes__default["default"].bool,
145
+ light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `ClickableTile` is no longer needed and has been deprecated. It will be removed in the next major release. Use the Layer component instead.'),
221
146
 
222
147
  /**
223
148
  * Specify the function to run when the ClickableTile is clicked
@@ -233,52 +158,47 @@ _rollupPluginBabelHelpers.defineProperty(ClickableTile, "propTypes", {
233
158
  * The rel property for the link.
234
159
  */
235
160
  rel: PropTypes__default["default"].string
236
- });
237
-
238
- _rollupPluginBabelHelpers.defineProperty(ClickableTile, "contextType", usePrefix.PrefixContext);
239
-
240
- _rollupPluginBabelHelpers.defineProperty(ClickableTile, "defaultProps", {
241
- clicked: false,
242
- onClick: function onClick() {},
243
- onKeyDown: function onKeyDown() {},
244
- light: false
245
- });
246
-
247
- function SelectableTile(props) {
161
+ };
162
+ var SelectableTile = /*#__PURE__*/React__default["default"].forwardRef(function SelectableTile(_ref3, ref) {
248
163
  var _cx3;
249
164
 
250
- var children = props.children,
251
- id = props.id,
252
- tabIndex = props.tabIndex,
253
- value = props.value,
254
- name = props.name,
255
- title = props.title;
256
- props.iconDescription;
257
- var className = props.className,
258
- handleClick = props.handleClick,
259
- handleKeyDown = props.handleKeyDown,
260
- onClick = props.onClick,
261
- onChange = props.onChange,
262
- onKeyDown = props.onKeyDown,
263
- light = props.light,
264
- disabled = props.disabled,
265
- selected = props.selected,
266
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded3);
267
-
268
- var prefix = usePrefix.usePrefix(); // TODO: replace with onClick when handleClick prop is deprecated
269
-
270
- var clickHandler = handleClick || onClick; // TODO: replace with onKeyDown when handleKeyDown prop is deprecated
271
-
272
- var keyDownHandler = handleKeyDown || onKeyDown;
273
-
274
- var _useState = React.useState(selected),
275
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
276
- isSelected = _useState2[0],
277
- setIsSelected = _useState2[1];
278
-
279
- var input = React.useRef(null);
280
- var classes = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--selectable"), (_cx3 = {}, _rollupPluginBabelHelpers.defineProperty(_cx3, "".concat(prefix, "--tile--is-selected"), isSelected), _rollupPluginBabelHelpers.defineProperty(_cx3, "".concat(prefix, "--tile--light"), light), _rollupPluginBabelHelpers.defineProperty(_cx3, "".concat(prefix, "--tile--disabled"), disabled), _cx3), className);
281
- var inputClasses = cx__default["default"]("".concat(prefix, "--tile-input"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--tile-input--checked"), isSelected)); // TODO: rename to handleClick when handleClick prop is deprecated
165
+ var children = _ref3.children,
166
+ className = _ref3.className,
167
+ disabled = _ref3.disabled,
168
+ id = _ref3.id,
169
+ light = _ref3.light,
170
+ name = _ref3.name,
171
+ _ref3$onClick = _ref3.onClick,
172
+ onClick = _ref3$onClick === void 0 ? function () {} : _ref3$onClick,
173
+ _ref3$onChange = _ref3.onChange,
174
+ onChange = _ref3$onChange === void 0 ? function () {} : _ref3$onChange,
175
+ _ref3$onKeyDown = _ref3.onKeyDown,
176
+ onKeyDown = _ref3$onKeyDown === void 0 ? function () {} : _ref3$onKeyDown,
177
+ _ref3$selected = _ref3.selected,
178
+ selected = _ref3$selected === void 0 ? false : _ref3$selected,
179
+ _ref3$tabIndex = _ref3.tabIndex,
180
+ tabIndex = _ref3$tabIndex === void 0 ? 0 : _ref3$tabIndex,
181
+ _ref3$title = _ref3.title,
182
+ title = _ref3$title === void 0 ? 'title' : _ref3$title,
183
+ _ref3$value = _ref3.value,
184
+ value = _ref3$value === void 0 ? 'value' : _ref3$value,
185
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref3, _excluded3);
186
+
187
+ var prefix = usePrefix.usePrefix();
188
+ var clickHandler = onClick;
189
+ var keyDownHandler = onKeyDown;
190
+
191
+ var _useState3 = React.useState(selected),
192
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
193
+ isSelected = _useState4[0],
194
+ setIsSelected = _useState4[1];
195
+
196
+ var _useState5 = React.useState(selected),
197
+ _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
198
+ prevSelected = _useState6[0],
199
+ setPrevSelected = _useState6[1];
200
+
201
+ var classes = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--selectable"), (_cx3 = {}, _rollupPluginBabelHelpers.defineProperty(_cx3, "".concat(prefix, "--tile--is-selected"), isSelected), _rollupPluginBabelHelpers.defineProperty(_cx3, "".concat(prefix, "--tile--light"), light), _rollupPluginBabelHelpers.defineProperty(_cx3, "".concat(prefix, "--tile--disabled"), disabled), _cx3), className); // TODO: rename to handleClick when handleClick prop is deprecated
282
202
 
283
203
  function handleOnClick(evt) {
284
204
  evt.preventDefault();
@@ -306,45 +226,34 @@ function SelectableTile(props) {
306
226
  onChange(event);
307
227
  }
308
228
 
309
- React.useEffect(function () {
229
+ if (selected !== prevSelected) {
310
230
  setIsSelected(selected);
311
- }, [selected]);
312
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("input", {
313
- ref: input,
314
- tabIndex: -1,
315
- id: id,
316
- className: inputClasses,
317
- value: value,
318
- onChange: !disabled ? handleChange : null,
319
- type: "checkbox",
231
+ setPrevSelected(selected);
232
+ }
233
+
234
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
235
+ className: classes,
236
+ onClick: !disabled ? handleOnClick : null,
237
+ role: "checkbox",
238
+ "aria-checked": isSelected,
320
239
  disabled: disabled,
321
- name: name,
322
- title: title,
323
- checked: isSelected
324
- }), /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
325
- htmlFor: id,
326
- className: classes // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
240
+ onKeyDown: !disabled ? handleOnKeyDown : null // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
327
241
  ,
328
- tabIndex: !disabled ? tabIndex : null
329
- }, rest, {
330
- onClick: !disabled ? handleOnClick : null,
331
- onKeyDown: !disabled ? handleOnKeyDown : null
332
- }), /*#__PURE__*/React__default["default"].createElement("span", {
242
+ tabIndex: !disabled ? tabIndex : null,
243
+ value: value,
244
+ name: name,
245
+ ref: ref,
246
+ id: id,
247
+ onChange: !disabled ? handleChange : null,
248
+ title: title
249
+ }, rest), /*#__PURE__*/React__default["default"].createElement("span", {
333
250
  className: "".concat(prefix, "--tile__checkmark ").concat(prefix, "--tile__checkmark--persistent")
334
- }, isSelected ? _CheckboxCheckedFille || (_CheckboxCheckedFille = /*#__PURE__*/React__default["default"].createElement(iconsReact.CheckboxCheckedFilled, null)) : _Checkbox || (_Checkbox = /*#__PURE__*/React__default["default"].createElement(iconsReact.Checkbox, null))), /*#__PURE__*/React__default["default"].createElement("span", {
251
+ }, isSelected ? _CheckboxCheckedFille || (_CheckboxCheckedFille = /*#__PURE__*/React__default["default"].createElement(iconsReact.CheckboxCheckedFilled, null)) : _Checkbox || (_Checkbox = /*#__PURE__*/React__default["default"].createElement(iconsReact.Checkbox, null))), /*#__PURE__*/React__default["default"].createElement("label", {
252
+ htmlFor: id,
335
253
  className: "".concat(prefix, "--tile-content")
336
- }, children)));
337
- }
338
- SelectableTile.defaultProps = {
339
- value: 'value',
340
- title: 'title',
341
- selected: false,
342
- tabIndex: 0,
343
- light: false,
344
- onClick: function onClick() {},
345
- onChange: function onChange() {},
346
- onKeyDown: function onKeyDown() {}
347
- };
254
+ }, children));
255
+ });
256
+ SelectableTile.displayName = 'SelectableTile';
348
257
  SelectableTile.propTypes = {
349
258
  /**
350
259
  * The child nodes.
@@ -361,21 +270,6 @@ SelectableTile.propTypes = {
361
270
  */
362
271
  disabled: PropTypes__default["default"].bool,
363
272
 
364
- /**
365
- * Specify the function to run when the SelectableTile is clicked
366
- */
367
- handleClick: deprecate["default"](PropTypes__default["default"].func, 'The `handleClick` prop for `SelectableTile` has been deprecated in favor of `onClick`. It will be removed in the next major release.'),
368
-
369
- /**
370
- * Specify the function to run when the SelectableTile is interacted with via a keyboard
371
- */
372
- handleKeyDown: deprecate["default"](PropTypes__default["default"].func, 'The `handleKeyDown` prop for `SelectableTile` has been deprecated in favor of `onKeyDown`. It will be removed in the next major release.'),
373
-
374
- /**
375
- * The description of the checkmark icon.
376
- */
377
- iconDescription: deprecate["default"](PropTypes__default["default"].string, 'The `iconDescription` prop for `SelectableTile` is no longer needed and has ' + 'been deprecated. It will be removed in the next major release.'),
378
-
379
273
  /**
380
274
  * The ID of the `<input>`.
381
275
  */
@@ -385,7 +279,7 @@ SelectableTile.propTypes = {
385
279
  * `true` to use the light version. For use on $ui-01 backgrounds only.
386
280
  * Don't use this to make tile background color same as container background color.
387
281
  */
388
- light: PropTypes__default["default"].bool,
282
+ light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `SelectableTile` is no longer needed and has been deprecated. It will be removed in the next major release. Use the Layer component instead.'),
389
283
 
390
284
  /**
391
285
  * The `name` of the `<input>`.
@@ -427,197 +321,194 @@ SelectableTile.propTypes = {
427
321
  */
428
322
  value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]).isRequired
429
323
  };
430
- var ExpandableTile = /*#__PURE__*/function (_Component3) {
431
- _rollupPluginBabelHelpers.inherits(ExpandableTile, _Component3);
432
-
433
- var _super3 = _rollupPluginBabelHelpers.createSuper(ExpandableTile);
324
+ function ExpandableTile(_ref4) {
325
+ var _cx4, _cx5;
326
+
327
+ var tabIndex = _ref4.tabIndex,
328
+ className = _ref4.className,
329
+ children = _ref4.children,
330
+ expanded = _ref4.expanded,
331
+ tileMaxHeight = _ref4.tileMaxHeight,
332
+ tilePadding = _ref4.tilePadding,
333
+ onClick = _ref4.onClick,
334
+ onKeyUp = _ref4.onKeyUp,
335
+ tileCollapsedIconText = _ref4.tileCollapsedIconText,
336
+ tileExpandedIconText = _ref4.tileExpandedIconText,
337
+ tileCollapsedLabel = _ref4.tileCollapsedLabel,
338
+ tileExpandedLabel = _ref4.tileExpandedLabel,
339
+ light = _ref4.light,
340
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref4, _excluded4);
341
+
342
+ var _useState7 = React.useState(tileMaxHeight),
343
+ _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
344
+ isTileMaxHeight = _useState8[0],
345
+ setIsTileMaxHeight = _useState8[1];
346
+
347
+ var _useState9 = React.useState(tilePadding),
348
+ _useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
349
+ isTilePadding = _useState10[0],
350
+ setIsTilePadding = _useState10[1];
351
+
352
+ var _useState11 = React.useState(expanded),
353
+ _useState12 = _rollupPluginBabelHelpers.slicedToArray(_useState11, 2),
354
+ prevExpanded = _useState12[0],
355
+ setPrevExpanded = _useState12[1];
356
+
357
+ var _useState13 = React.useState(tileMaxHeight),
358
+ _useState14 = _rollupPluginBabelHelpers.slicedToArray(_useState13, 2),
359
+ prevTileMaxHeight = _useState14[0],
360
+ setPrevTileMaxHeight = _useState14[1];
361
+
362
+ var _useState15 = React.useState(tilePadding),
363
+ _useState16 = _rollupPluginBabelHelpers.slicedToArray(_useState15, 2),
364
+ prevTilePadding = _useState16[0],
365
+ setPrevTilePadding = _useState16[1];
366
+
367
+ var _useState17 = React.useState(expanded),
368
+ _useState18 = _rollupPluginBabelHelpers.slicedToArray(_useState17, 2),
369
+ isExpanded = _useState18[0],
370
+ setIsExpanded = _useState18[1];
371
+
372
+ var _useState19 = React.useState(false),
373
+ _useState20 = _rollupPluginBabelHelpers.slicedToArray(_useState19, 2),
374
+ interactive = _useState20[0],
375
+ setInteractive = _useState20[1];
376
+
377
+ var aboveTheFold = React.useRef(null);
378
+ var belowTheFold = React.useRef(null);
379
+ var tileContent = React.useRef(null);
380
+ var tile = React.useRef(null);
381
+ var prefix = usePrefix.usePrefix();
382
+
383
+ if (expanded !== prevExpanded) {
384
+ setIsExpanded(expanded);
385
+ setPrevExpanded(expanded);
386
+ setMaxHeight();
387
+ }
434
388
 
435
- function ExpandableTile() {
436
- var _this2;
389
+ if (tileMaxHeight !== prevTileMaxHeight) {
390
+ setIsTileMaxHeight(tileMaxHeight);
391
+ setPrevTileMaxHeight(tileMaxHeight);
392
+ }
437
393
 
438
- _rollupPluginBabelHelpers.classCallCheck(this, ExpandableTile);
394
+ if (tilePadding !== prevTilePadding) {
395
+ setIsTilePadding(tilePadding);
396
+ setPrevTilePadding(tilePadding);
397
+ }
439
398
 
440
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
441
- args[_key2] = arguments[_key2];
399
+ function setMaxHeight() {
400
+ if (isExpanded) {
401
+ setIsTileMaxHeight(tileContent.current.getBoundingClientRect().height);
442
402
  }
443
403
 
444
- _this2 = _super3.call.apply(_super3, [this].concat(args));
445
-
446
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "state", {});
447
-
448
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "resizeObserver", null);
449
-
450
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "componentDidMount", function () {
451
- _this2.resizeObserver = new ResizeObserver(function (entries) {
452
- var _entries = _rollupPluginBabelHelpers.slicedToArray(entries, 1),
453
- aboveTheFold = _entries[0];
454
-
455
- _this2.setState({
456
- tileMaxHeight: aboveTheFold.contentRect.height
457
- });
458
- });
459
-
460
- if (_this2.tile) {
461
- var getStyle = window.getComputedStyle(_this2.tile, null);
462
-
463
- if (_this2.aboveTheFold) {
464
- _this2.resizeObserver.observe(_this2.aboveTheFold);
465
-
466
- _this2.setState({
467
- tileMaxHeight: _this2.aboveTheFold.getBoundingClientRect().height,
468
- tilePadding: parseInt(getStyle.getPropertyValue('padding-top'), 10) + parseInt(getStyle.getPropertyValue('padding-bottom'), 10)
469
- });
470
- }
471
- }
472
- });
473
-
474
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "componentDidUpdate", function (prevProps) {
475
- if (prevProps.expanded !== _this2.props.expanded) {
476
- _this2.setMaxHeight();
477
- }
478
- });
479
-
480
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "setMaxHeight", function () {
481
- if (_this2.state.expanded ? _this2.tileContent : _this2.aboveTheFold) {
482
- _this2.setState({
483
- tileMaxHeight: _this2.state.expanded ? _this2.tileContent.getBoundingClientRect().height : _this2.aboveTheFold.getBoundingClientRect().height
484
- });
485
- }
486
- });
487
-
488
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "handleClick", function (evt) {
489
- if (!_this2.props.onBeforeClick(evt) || evt.target.tagName === 'INPUT') {
490
- return;
491
- }
492
-
493
- evt.persist();
494
-
495
- _this2.setState({
496
- expanded: !_this2.state.expanded
497
- }, function () {
498
- var _this2$props$handleCl, _this2$props, _this2$props$onClick, _this2$props2;
499
-
500
- _this2.setMaxHeight(); // TODO: Remove handleClick prop when handleClick is deprecated
404
+ setIsTileMaxHeight(aboveTheFold.current.getBoundingClientRect().height);
405
+ }
501
406
 
407
+ function handleClick(evt) {
408
+ evt.persist();
409
+ setIsExpanded(!isExpanded);
410
+ setMaxHeight();
502
411
 
503
- ((_this2$props$handleCl = (_this2$props = _this2.props).handleClick) === null || _this2$props$handleCl === void 0 ? void 0 : _this2$props$handleCl.call(_this2$props, evt)) || ((_this2$props$onClick = (_this2$props2 = _this2.props).onClick) === null || _this2$props$onClick === void 0 ? void 0 : _this2$props$onClick.call(_this2$props2, evt));
504
- });
505
- });
412
+ if (onClick) {
413
+ onClick(evt);
414
+ }
415
+ }
506
416
 
507
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "handleKeyUp", function (evt) {
508
- if (evt.target !== _this2.tile) {
509
- if (match.matches(evt, [keys.Enter, keys.Space])) {
510
- evt.preventDefault();
511
- }
417
+ function handleKeyUp(evt) {
418
+ if (evt.target !== tile.current) {
419
+ if (match.matches(evt, [keys.Enter, keys.Space])) {
420
+ evt.preventDefault();
512
421
  }
513
- });
514
-
515
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this2), "getChildren", function () {
516
- return React__default["default"].Children.toArray(_this2.props.children);
517
- });
422
+ }
423
+ }
518
424
 
519
- return _this2;
425
+ function getChildren() {
426
+ return React__default["default"].Children.toArray(children);
520
427
  }
521
428
 
522
- _rollupPluginBabelHelpers.createClass(ExpandableTile, [{
523
- key: "componentWillUnmount",
524
- value: function componentWillUnmount() {
525
- if (this.resizeObserver) {
526
- this.resizeObserver.disconnect();
527
- }
528
- }
529
- }, {
530
- key: "render",
531
- value: function render() {
532
- var _cx5,
533
- _this3 = this;
534
-
535
- var _this$props7 = this.props,
536
- tabIndex = _this$props7.tabIndex,
537
- className = _this$props7.className;
538
- _this$props7.expanded;
539
- _this$props7.tileMaxHeight;
540
- _this$props7.tilePadding;
541
- _this$props7.handleClick;
542
- var onKeyUp = _this$props7.onKeyUp,
543
- tileCollapsedIconText = _this$props7.tileCollapsedIconText,
544
- tileExpandedIconText = _this$props7.tileExpandedIconText,
545
- tileCollapsedLabel = _this$props7.tileCollapsedLabel,
546
- tileExpandedLabel = _this$props7.tileExpandedLabel;
547
- _this$props7.onBeforeClick;
548
- var light = _this$props7.light,
549
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(_this$props7, _excluded4);
550
-
551
- var prefix = this.context;
552
- var isExpanded = this.state.expanded;
553
- var classes = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--expandable"), (_cx5 = {}, _rollupPluginBabelHelpers.defineProperty(_cx5, "".concat(prefix, "--tile--is-expanded"), isExpanded), _rollupPluginBabelHelpers.defineProperty(_cx5, "".concat(prefix, "--tile--light"), light), _cx5), className);
554
- var tileStyle = {
555
- maxHeight: isExpanded ? null : this.state.tileMaxHeight + this.state.tilePadding
556
- };
557
- var childrenAsArray = this.getChildren();
558
- return (
559
- /*#__PURE__*/
560
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
561
- React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
562
- type: "button",
563
- ref: function ref(tile) {
564
- _this3.tile = tile;
565
- },
566
- style: tileStyle,
567
- className: classes,
568
- "aria-expanded": isExpanded,
569
- title: isExpanded ? tileExpandedIconText : tileCollapsedIconText
570
- }, rest, {
571
- onKeyUp: events.composeEventHandlers([onKeyUp, this.handleKeyUp]),
572
- onClick: this.handleClick,
573
- tabIndex: tabIndex
574
- }), /*#__PURE__*/React__default["default"].createElement("div", {
575
- ref: function ref(tileContent) {
576
- _this3.tileContent = tileContent;
577
- }
578
- }, /*#__PURE__*/React__default["default"].createElement("div", {
579
- ref: function ref(aboveTheFold) {
580
- _this3.aboveTheFold = aboveTheFold;
581
- },
582
- className: "".concat(prefix, "--tile-content")
583
- }, childrenAsArray[0]), /*#__PURE__*/React__default["default"].createElement("div", {
584
- className: "".concat(prefix, "--tile__chevron")
585
- }, /*#__PURE__*/React__default["default"].createElement("span", null, isExpanded ? tileExpandedLabel : tileCollapsedLabel), _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default["default"].createElement(iconsReact.ChevronDown, null))), /*#__PURE__*/React__default["default"].createElement("div", {
586
- className: "".concat(prefix, "--tile-content")
587
- }, childrenAsArray[1])))
588
- );
429
+ var classNames = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--expandable"), (_cx4 = {}, _rollupPluginBabelHelpers.defineProperty(_cx4, "".concat(prefix, "--tile--is-expanded"), isExpanded), _rollupPluginBabelHelpers.defineProperty(_cx4, "".concat(prefix, "--tile--light"), light), _cx4), className);
430
+ var interactiveClassNames = cx__default["default"]("".concat(prefix, "--tile"), "".concat(prefix, "--tile--expandable"), "".concat(prefix, "--tile--expandable--interactive"), (_cx5 = {}, _rollupPluginBabelHelpers.defineProperty(_cx5, "".concat(prefix, "--tile--is-expanded"), isExpanded), _rollupPluginBabelHelpers.defineProperty(_cx5, "".concat(prefix, "--tile--light"), light), _cx5), className);
431
+ var chevronInteractiveClassNames = cx__default["default"]("".concat(prefix, "--tile__chevron"), "".concat(prefix, "--tile__chevron--interactive"));
432
+ var tileStyle = {
433
+ maxHeight: isExpanded ? null : isTileMaxHeight + isTilePadding
434
+ };
435
+ var childrenAsArray = getChildren();
436
+ useIsomorphicEffect["default"](function () {
437
+ var getStyle = window.getComputedStyle(tile.current, null);
438
+ var node = aboveTheFold.current;
439
+
440
+ var _node$getBoundingClie = node.getBoundingClientRect(),
441
+ height = _node$getBoundingClie.height;
442
+
443
+ var paddingTop = parseInt(getStyle.getPropertyValue('padding-top'), 10);
444
+ var paddingBottom = parseInt(getStyle.getPropertyValue('padding-bottom'), 10);
445
+ setIsTileMaxHeight(height);
446
+ setIsTilePadding(paddingTop + paddingBottom);
447
+ }, []);
448
+ useIsomorphicEffect["default"](function () {
449
+ if (useNoInteractiveChildren.getInteractiveContent(belowTheFold.current)) {
450
+ setInteractive(true);
451
+ return;
452
+ } else if (useNoInteractiveChildren.getInteractiveContent(aboveTheFold.current)) {
453
+ setInteractive(true);
589
454
  }
590
- }], [{
591
- key: "getDerivedStateFromProps",
592
- value: function getDerivedStateFromProps( // eslint-disable-next-line react/prop-types
593
- _ref2, state) {
594
- var expanded = _ref2.expanded,
595
- tileMaxHeight = _ref2.tileMaxHeight,
596
- tilePadding = _ref2.tilePadding;
597
- var prevExpanded = state.prevExpanded,
598
- prevTileMaxHeight = state.prevTileMaxHeight,
599
- prevTilePadding = state.prevTilePadding,
600
- currentExpanded = state.expanded,
601
- currentTileMaxHeight = state.tileMaxHeight,
602
- currentTilePadding = state.tilePadding;
603
- var expandedChanged = prevExpanded !== expanded;
604
- var tileMaxHeightChanged = prevTileMaxHeight !== tileMaxHeight;
605
- var tilePaddingChanged = prevTilePadding !== tilePadding;
606
- return !expandedChanged && !tileMaxHeightChanged && !tilePaddingChanged ? null : {
607
- expanded: !expandedChanged ? currentExpanded : expanded,
608
- tileMaxHeight: !tileMaxHeightChanged ? currentTileMaxHeight : tileMaxHeight,
609
- tilePadding: !tilePaddingChanged ? currentTilePadding : tilePadding,
610
- prevExpanded: expanded,
611
- prevTileMaxHeight: tileMaxHeight,
612
- prevTilePadding: tilePadding
613
- };
614
- }
615
- }]);
616
-
617
- return ExpandableTile;
618
- }(React.Component);
455
+ }, []);
456
+ React.useEffect(function () {
457
+ var resizeObserver = new ResizeObserver(function (entries) {
458
+ var _entries = _rollupPluginBabelHelpers.slicedToArray(entries, 1),
459
+ aboveTheFold = _entries[0];
619
460
 
620
- _rollupPluginBabelHelpers.defineProperty(ExpandableTile, "propTypes", {
461
+ setIsTileMaxHeight(aboveTheFold.contentRect.height);
462
+ });
463
+ resizeObserver.observe(aboveTheFold.current);
464
+ return function () {
465
+ return resizeObserver.disconnect();
466
+ };
467
+ }, []);
468
+ return interactive ? /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
469
+ ref: tile,
470
+ style: tileStyle,
471
+ className: interactiveClassNames,
472
+ "aria-expanded": isExpanded
473
+ }, rest), /*#__PURE__*/React__default["default"].createElement("div", {
474
+ ref: tileContent
475
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
476
+ ref: aboveTheFold,
477
+ className: "".concat(prefix, "--tile-content")
478
+ }, childrenAsArray[0]), /*#__PURE__*/React__default["default"].createElement("button", {
479
+ type: "button",
480
+ "aria-expanded": isExpanded,
481
+ onKeyUp: events.composeEventHandlers([onKeyUp, handleKeyUp]),
482
+ onClick: events.composeEventHandlers([onClick, handleClick]),
483
+ "aria-label": isExpanded ? tileExpandedIconText : tileCollapsedIconText,
484
+ className: chevronInteractiveClassNames
485
+ }, _ChevronDown || (_ChevronDown = /*#__PURE__*/React__default["default"].createElement(iconsReact.ChevronDown, null))), /*#__PURE__*/React__default["default"].createElement("div", {
486
+ ref: belowTheFold,
487
+ className: "".concat(prefix, "--tile-content")
488
+ }, childrenAsArray[1]))) : /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
489
+ type: "button",
490
+ ref: tile,
491
+ style: tileStyle,
492
+ className: classNames,
493
+ "aria-expanded": isExpanded,
494
+ title: isExpanded ? tileExpandedIconText : tileCollapsedIconText
495
+ }, rest, {
496
+ onKeyUp: events.composeEventHandlers([onKeyUp, handleKeyUp]),
497
+ onClick: events.composeEventHandlers([onClick, handleClick]),
498
+ tabIndex: tabIndex
499
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
500
+ ref: tileContent
501
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
502
+ ref: aboveTheFold,
503
+ className: "".concat(prefix, "--tile-content")
504
+ }, childrenAsArray[0]), /*#__PURE__*/React__default["default"].createElement("div", {
505
+ className: "".concat(prefix, "--tile__chevron")
506
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, isExpanded ? tileExpandedLabel : tileCollapsedLabel), _ChevronDown2 || (_ChevronDown2 = /*#__PURE__*/React__default["default"].createElement(iconsReact.ChevronDown, null))), /*#__PURE__*/React__default["default"].createElement("div", {
507
+ ref: belowTheFold,
508
+ className: "".concat(prefix, "--tile-content")
509
+ }, childrenAsArray[1])));
510
+ }
511
+ ExpandableTile.propTypes = {
621
512
  /**
622
513
  * The child nodes.
623
514
  */
@@ -633,11 +524,6 @@ _rollupPluginBabelHelpers.defineProperty(ExpandableTile, "propTypes", {
633
524
  */
634
525
  expanded: PropTypes__default["default"].bool,
635
526
 
636
- /**
637
- * Deprecated in v11. Use 'onClick' instead.
638
- */
639
- handleClick: deprecate["default"](PropTypes__default["default"].func, 'The handleClick prop for ExpandableTile has been deprecated in favor of onClick. It will be removed in the next major release.'),
640
-
641
527
  /**
642
528
  * An ID that can be provided to aria-labelledby
643
529
  */
@@ -647,16 +533,11 @@ _rollupPluginBabelHelpers.defineProperty(ExpandableTile, "propTypes", {
647
533
  * `true` to use the light version. For use on $ui-01 backgrounds only.
648
534
  * Don't use this to make tile background color same as container background color.
649
535
  */
650
- light: PropTypes__default["default"].bool,
651
-
652
- /**
653
- * optional handler to decide whether to ignore a click. returns false if click should be ignored
654
- */
655
- onBeforeClick: PropTypes__default["default"].func,
536
+ light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `ExpandableTile` is no longer needed and has been deprecated. It will be removed in the next major release. Use the Layer component instead.'),
656
537
 
657
538
  /**
658
539
  * Specify the function to run when the ExpandableTile is clicked
659
- */
540
+ */
660
541
  onClick: PropTypes__default["default"].func,
661
542
 
662
543
  /**
@@ -688,91 +569,47 @@ _rollupPluginBabelHelpers.defineProperty(ExpandableTile, "propTypes", {
688
569
  * When "expanded", a label to appear next to the chevron (e.g., "View less").
689
570
  */
690
571
  tileExpandedLabel: PropTypes__default["default"].string
691
- });
692
-
693
- _rollupPluginBabelHelpers.defineProperty(ExpandableTile, "contextType", usePrefix.PrefixContext);
694
-
695
- _rollupPluginBabelHelpers.defineProperty(ExpandableTile, "defaultProps", {
572
+ };
573
+ ExpandableTile.defaultProps = {
696
574
  tabIndex: 0,
697
575
  expanded: false,
698
576
  tileMaxHeight: 0,
699
577
  tilePadding: 0,
700
- onBeforeClick: function onBeforeClick() {
701
- return true;
702
- },
703
578
  onClick: function onClick() {},
704
579
  tileCollapsedIconText: 'Interact to expand Tile',
705
- tileExpandedIconText: 'Interact to collapse Tile',
706
- light: false
580
+ tileExpandedIconText: 'Interact to collapse Tile'
581
+ };
582
+ ExpandableTile.displayName = 'ExpandableTile';
583
+ var TileAboveTheFoldContent = /*#__PURE__*/React__default["default"].forwardRef(function TilAboveTheFoldContent(_ref5, ref) {
584
+ var children = _ref5.children;
585
+ var prefix = usePrefix.usePrefix();
586
+ return /*#__PURE__*/React__default["default"].createElement("span", {
587
+ ref: ref,
588
+ className: "".concat(prefix, "--tile-content__above-the-fold")
589
+ }, children);
707
590
  });
708
-
709
- var TileAboveTheFoldContent = /*#__PURE__*/function (_Component4) {
710
- _rollupPluginBabelHelpers.inherits(TileAboveTheFoldContent, _Component4);
711
-
712
- var _super4 = _rollupPluginBabelHelpers.createSuper(TileAboveTheFoldContent);
713
-
714
- function TileAboveTheFoldContent() {
715
- _rollupPluginBabelHelpers.classCallCheck(this, TileAboveTheFoldContent);
716
-
717
- return _super4.apply(this, arguments);
718
- }
719
-
720
- _rollupPluginBabelHelpers.createClass(TileAboveTheFoldContent, [{
721
- key: "render",
722
- value: function render() {
723
- var prefix = this.context;
724
- var children = this.props.children;
725
- return /*#__PURE__*/React__default["default"].createElement("span", {
726
- className: "".concat(prefix, "--tile-content__above-the-fold")
727
- }, children);
728
- }
729
- }]);
730
-
731
- return TileAboveTheFoldContent;
732
- }(React.Component);
733
-
734
- _rollupPluginBabelHelpers.defineProperty(TileAboveTheFoldContent, "propTypes", {
591
+ TileAboveTheFoldContent.propTypes = {
735
592
  /**
736
593
  * The child nodes.
737
594
  */
738
595
  children: PropTypes__default["default"].node
596
+ };
597
+ TileAboveTheFoldContent.displayName = 'TileAboveTheFoldContent';
598
+ var TileBelowTheFoldContent = /*#__PURE__*/React__default["default"].forwardRef(function TileBelowTheFoldContent(_ref6, ref) {
599
+ var children = _ref6.children;
600
+ var prefix = usePrefix.usePrefix();
601
+ return /*#__PURE__*/React__default["default"].createElement("span", {
602
+ ref: ref,
603
+ className: "".concat(prefix, "--tile-content__below-the-fold")
604
+ }, children);
739
605
  });
740
-
741
- _rollupPluginBabelHelpers.defineProperty(TileAboveTheFoldContent, "contextType", usePrefix.PrefixContext);
742
-
743
- var TileBelowTheFoldContent = /*#__PURE__*/function (_Component5) {
744
- _rollupPluginBabelHelpers.inherits(TileBelowTheFoldContent, _Component5);
745
-
746
- var _super5 = _rollupPluginBabelHelpers.createSuper(TileBelowTheFoldContent);
747
-
748
- function TileBelowTheFoldContent() {
749
- _rollupPluginBabelHelpers.classCallCheck(this, TileBelowTheFoldContent);
750
-
751
- return _super5.apply(this, arguments);
752
- }
753
-
754
- _rollupPluginBabelHelpers.createClass(TileBelowTheFoldContent, [{
755
- key: "render",
756
- value: function render() {
757
- var children = this.props.children;
758
- var prefix = this.context;
759
- return /*#__PURE__*/React__default["default"].createElement("span", {
760
- className: "".concat(prefix, "--tile-content__below-the-fold")
761
- }, children);
762
- }
763
- }]);
764
-
765
- return TileBelowTheFoldContent;
766
- }(React.Component);
767
-
768
- _rollupPluginBabelHelpers.defineProperty(TileBelowTheFoldContent, "propTypes", {
606
+ TileBelowTheFoldContent.propTypes = {
769
607
  /**
770
608
  * The child nodes.
771
609
  */
772
610
  children: PropTypes__default["default"].node
773
- });
774
-
775
- _rollupPluginBabelHelpers.defineProperty(TileBelowTheFoldContent, "contextType", usePrefix.PrefixContext);
611
+ };
612
+ TileBelowTheFoldContent.displayName = 'TileBelowTheFoldContent';
776
613
 
777
614
  exports.ClickableTile = ClickableTile;
778
615
  exports.ExpandableTile = ExpandableTile;